<?xml version="1.0"?>
<rss version="2.0"><channel><title>Opencart 2.x: &#x41E;&#x431;&#x449;&#x438;&#x435; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x445; &#x442;&#x435;&#x43C;</title><link>http://opencartpascha.ru/forum/27-opencart-2x-obschie-voprosy/</link><description>Opencart 2.x: &#x41E;&#x431;&#x449;&#x438;&#x435; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x445; &#x442;&#x435;&#x43C;</description><language>ru</language><item><title>OCStore 2.3 &#x43D;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x44B;&#x432;&#x435;&#x441;&#x442;&#x438; API-&#x43A;&#x430;&#x440;&#x442;&#x44B; &#x42F;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x447;&#x435;&#x440;&#x435;&#x437; HTML-&#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x43C;&#x43E;&#x435;</title><link>http://opencartpascha.ru/topic/1094-ocstore-23-ne-poluchaetsya-vyvesti-api-karty-yandeks-cherez-html-soderzhimoe/</link><description><![CDATA[<p>
	Как разместить на странице API-карту Яндекс через "HTML-содержимое"?<br />
	Вставляю просто
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">"https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=КЛЮЧ***"</span><span class="tag">&gt;&lt;/script&gt;</span><span class="pln">
            </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"map"</span><span class="pln"> </span><span class="atn">style</span><span class="pun">=</span><span class="atv">"</span><span class="kwd">width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">100%</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">height</span><span class="pun">:</span><span class="pln"> </span><span class="lit">480px</span><span class="atv">"</span><span class="tag">&gt;&lt;/div&gt;</span><span class="pln">
            </span><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">"/catalog/view/javascript/map.js"</span><span class="tag">&gt;&lt;/script&gt;</span></pre>

<p>
	В консоли ymaps is not defined
</p>

<p>
	 
</p>

<p>
	Если вместо &lt;script src="/catalog/view/javascript/map.js"&gt;&lt;/script&gt; вставляю
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="tag">&lt;script&gt;</span><span class="pln">
ymaps</span><span class="pun">.</span><span class="pln">ready</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">var</span><span class="pln"> myMap </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> ymaps</span><span class="pun">.</span><span class="typ">Map</span><span class="pun">(</span><span class="str">'map'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            center</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">59.961430</span><span class="pun">,</span><span class="pln"> </span><span class="lit">30.457771</span><span class="pun">],</span><span class="pln">
            zoom</span><span class="pun">:</span><span class="pln"> </span><span class="lit">10</span><span class="pln">
        </span><span class="pun">},</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            searchControlProvider</span><span class="pun">:</span><span class="pln"> </span><span class="str">'yandex#search'</span><span class="pln">
        </span><span class="pun">}),</span><span class="pln">

        </span><span class="com">// создаём метку (Просвещения)</span><span class="pln">
        placemark1 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> ymaps</span><span class="pun">.</span><span class="typ">Placemark</span><span class="pun">([</span><span class="lit">60.054949</span><span class="pun">,</span><span class="pln"> </span><span class="lit">30.328786</span><span class="pun">],</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            hintContent</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Салон Мебель Массив на Просвещения'</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">

    myMap</span><span class="pun">.</span><span class="pln">geoObjects
        </span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">placemark1</span><span class="pun">);</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="tag">&lt;/script&gt;</span></pre>

<p>
	При сохранении это вырезает.
</p>
]]></description><guid isPermaLink="false">1094</guid><pubDate>Thu, 20 Jul 2023 20:40:51 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x43F;&#x43E;&#x432;&#x44B;&#x441;&#x438;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x446;&#x435;&#x43D;&#x44B;</title><link>http://opencartpascha.ru/topic/1018-kak-povysit-vse-ceny/</link><description><![CDATA[<p>
	Добрый вечер, подскажите , на сайте цены установлены и добавлены опции , под каждый размер своя цена , она меняется в зависимости от размера кольца , как повысить все эти цены на 50 процентов к примеру? сайт art-rings.ru
</p>
]]></description><guid isPermaLink="false">1018</guid><pubDate>Mon, 20 Mar 2023 20:57:14 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439; &#x43F;&#x443;&#x442;&#x44C; &#x432; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; banner?</title><link>http://opencartpascha.ru/topic/737-kak-dobavit-svoy-put-v-modul-banner/</link><description><![CDATA[<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	Вывожу в слайдер картинки через модуль banner. Путь до картинок<span> </span>подставляю через banner[link]<br />
	Как создать дополнительную переменную banner[link_mob], чтобы в пути до картинки заменить часть пути /desktop/ на /mobile/?
</p>

<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	 
</p>

<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	Код контроллера banner:
</p>

<pre style="background-color:#ffffff;border-bottom-width:1px;border-color:#888888;border-right-width:1px;border-style:solid;border-top-width:1px;color:#353c41;font-size:13px;padding:2px;"><span style="color:#666600;">&lt;?</span><span style="color:#000000;">php
</span><span style="color:#000088;">class</span><span style="color:#000000;"> </span><span style="color:#660066;">ControllerExtensionModuleBanner</span><span style="color:#000000;"> </span><span style="color:#000088;">extends</span><span style="color:#000000;"> </span><span style="color:#660066;">Controller</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
	</span><span style="color:#000088;">public</span><span style="color:#000000;"> </span><span style="color:#000088;">function</span><span style="color:#000000;"> index</span><span style="color:#666600;">(</span><span style="color:#000000;">$setting</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
		</span><span style="color:#000088;">static</span><span style="color:#000000;"> $module </span><span style="color:#666600;">=</span><span style="color:#000000;"> </span><span style="color:#006666;">0</span><span style="color:#666600;">;</span><span style="color:#000000;">
		$this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">load</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">model</span><span style="color:#666600;">(</span><span style="color:#008800;">'design/banner'</span><span style="color:#666600;">);</span><span style="color:#000000;">
		$this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">load</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">model</span><span style="color:#666600;">(</span><span style="color:#008800;">'tool/image'</span><span style="color:#666600;">);</span><span style="color:#000000;">
		$this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">document</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">addStyle</span><span style="color:#666600;">(</span><span style="color:#008800;">'catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'</span><span style="color:#666600;">);</span><span style="color:#000000;">
		$this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">document</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">addStyle</span><span style="color:#666600;">(</span><span style="color:#008800;">'catalog/view/javascript/jquery/owl-carousel/owl.transitions.css'</span><span style="color:#666600;">);</span><span style="color:#000000;">
		$this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">document</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">addScript</span><span style="color:#666600;">(</span><span style="color:#008800;">'catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js'</span><span style="color:#666600;">);</span><span style="color:#000000;">
		$data</span><span style="color:#666600;">[</span><span style="color:#008800;">'banners'</span><span style="color:#666600;">]</span><span style="color:#000000;"> </span><span style="color:#666600;">=</span><span style="color:#000000;"> array</span><span style="color:#666600;">();</span><span style="color:#000000;">
		$results </span><span style="color:#666600;">=</span><span style="color:#000000;"> $this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">model_design_banner</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">getBanner</span><span style="color:#666600;">(</span><span style="color:#000000;">$setting</span><span style="color:#666600;">[</span><span style="color:#008800;">'banner_id'</span><span style="color:#666600;">]);</span><span style="color:#000000;">
		</span><span style="color:#000088;">foreach</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">$results </span><span style="color:#000088;">as</span><span style="color:#000000;"> $result</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
			</span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">is_file</span><span style="color:#666600;">(</span><span style="color:#000000;">DIR_IMAGE </span><span style="color:#666600;">.</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'image'</span><span style="color:#666600;">]))</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
				$data</span><span style="color:#666600;">[</span><span style="color:#008800;">'banners'</span><span style="color:#666600;">][]</span><span style="color:#000000;"> </span><span style="color:#666600;">=</span><span style="color:#000000;"> array</span><span style="color:#666600;">(</span><span style="color:#000000;">
					</span><span style="color:#008800;">'title'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'title'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'link'</span><span style="color:#000000;">  </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'link'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'class'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'class'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'image'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">model_tool_image</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">resize</span><span style="color:#666600;">(</span><span style="color:#000000;">$result</span><span style="color:#666600;">[</span><span style="color:#008800;">'image'</span><span style="color:#666600;">],</span><span style="color:#000000;"> $setting</span><span style="color:#666600;">[</span><span style="color:#008800;">'width'</span><span style="color:#666600;">],</span><span style="color:#000000;"> $setting</span><span style="color:#666600;">[</span><span style="color:#008800;">'height'</span><span style="color:#666600;">])</span><span style="color:#000000;">
				</span><span style="color:#666600;">);</span><span style="color:#000000;">
			</span><span style="color:#666600;">}</span><span style="color:#000000;">
		</span><span style="color:#666600;">}</span><span style="color:#000000;">
		$data</span><span style="color:#666600;">[</span><span style="color:#008800;">'module'</span><span style="color:#666600;">]</span><span style="color:#000000;"> </span><span style="color:#666600;">=</span><span style="color:#000000;"> $module</span><span style="color:#666600;">++;</span><span style="color:#000000;">
		</span><span style="color:#000088;">return</span><span style="color:#000000;"> $this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">load</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">view</span><span style="color:#666600;">(</span><span style="color:#008800;">'extension/module/banner'</span><span style="color:#666600;">,</span><span style="color:#000000;"> $data</span><span style="color:#666600;">);</span><span style="color:#000000;">
	</span><span style="color:#666600;">}</span><span style="color:#000000;">
</span><span style="color:#666600;">}</span></pre>

<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	 
</p>

<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	Хочу получить что-то вроде
</p>

<pre style="background-color:#ffffff;border-bottom-width:1px;border-color:#888888;border-right-width:1px;border-style:solid;border-top-width:1px;color:#353c41;font-size:13px;padding:2px;"><span style="color:#000000;">				$data</span><span style="color:#666600;">[</span><span style="color:#008800;">'banners'</span><span style="color:#666600;">][]</span><span style="color:#000000;"> </span><span style="color:#666600;">=</span><span style="color:#000000;"> array</span><span style="color:#666600;">(</span><span style="color:#000000;">
					</span><span style="color:#008800;">'title'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'title'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'link'</span><span style="color:#000000;">  </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'link'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'link_mob'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'link_mob'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'class'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $result</span><span style="color:#666600;">[</span><span style="color:#008800;">'class'</span><span style="color:#666600;">],</span><span style="color:#000000;">
					</span><span style="color:#008800;">'image'</span><span style="color:#000000;"> </span><span style="color:#666600;">=&gt;</span><span style="color:#000000;"> $this</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">model_tool_image</span><span style="color:#666600;">-&gt;</span><span style="color:#000000;">resize</span><span style="color:#666600;">(</span><span style="color:#000000;">$result</span><span style="color:#666600;">[</span><span style="color:#008800;">'image'</span><span style="color:#666600;">],</span><span style="color:#000000;"> $setting</span><span style="color:#666600;">[</span><span style="color:#008800;">'width'</span><span style="color:#666600;">],</span><span style="color:#000000;"> $setting</span><span style="color:#666600;">[</span><span style="color:#008800;">'height'</span><span style="color:#666600;">])</span><span style="color:#000000;">
				</span><span style="color:#666600;">);</span></pre>

<p style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:13px;">
	 
</p>
]]></description><guid isPermaLink="false">737</guid><pubDate>Wed, 09 Nov 2022 18:59:39 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; &#x444;&#x43E;&#x440;&#x43C;&#x443; &#x438;&#x437; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x432; &#x411;&#x414;?</title><link>http://opencartpascha.ru/topic/713-kak-sohranit-formu-iz-stati-v-bd/</link><description><![CDATA[<p style="background-color:#ffffff;color:#353c41;font-size:15px;">
	В статье есть простая форма с 1 полем.
</p>

<pre style="background-color:#edf2f7;border-bottom-width:1px;border-color:#b8d5f2;border-right-width:1px;border-style:solid;border-top-width:1px;color:#353c41;font-size:15px;padding:2px;"><span style="color:#000088;">&lt;form</span><span style="color:#000000;"> </span><span style="color:#660066;">action</span><span style="color:#666600;">=</span><span style="color:#008800;">""</span><span style="color:#000000;"> </span><span style="color:#660066;">method</span><span style="color:#666600;">=</span><span style="color:#008800;">"post"</span><span style="color:#000000;"> </span><span style="color:#660066;">enctype</span><span style="color:#666600;">=</span><span style="color:#008800;">"multipart/form-data"</span><span style="color:#000000;"> </span><span style="color:#660066;">id</span><span style="color:#666600;">=</span><span style="color:#008800;">"test_form"</span><span style="color:#000088;">&gt;</span><span style="color:#000000;">
  </span><span style="color:#000088;">&lt;input</span><span style="color:#000000;"> </span><span style="color:#660066;">type</span><span style="color:#666600;">=</span><span style="color:#008800;">"text"</span><span style="color:#000000;"> </span><span style="color:#660066;">value</span><span style="color:#666600;">=</span><span style="color:#008800;">""</span><span style="color:#000088;">&gt;</span><span style="color:#000000;">
  </span><span style="color:#000088;">&lt;input</span><span style="color:#000000;"> </span><span style="color:#660066;">type</span><span style="color:#666600;">=</span><span style="color:#008800;">"submit"</span><span style="color:#000000;"> </span><span style="color:#660066;">value</span><span style="color:#666600;">=</span><span style="color:#008800;">"Отправить"</span><span style="color:#000000;"> </span><span style="color:#660066;">for</span><span style="color:#666600;">=</span><span style="color:#008800;">"test_form"</span><span style="color:#000088;">&gt;</span><span style="color:#000000;">
</span><span style="color:#000088;">&lt;/form&gt;</span></pre>

<p style="background-color:#ffffff;color:#353c41;font-size:15px;">
	<br />
	Как записать значение поля "text", в таблицу os_test в БД?
</p>
]]></description><guid isPermaLink="false">713</guid><pubDate>Wed, 02 Nov 2022 09:42:15 +0000</pubDate></item><item><title>&#x41F;&#x43E;&#x43C;&#x43E;&#x433;&#x438;&#x442;&#x435; &#x440;&#x430;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; &#x43A;&#x43E;&#x43D;&#x442;&#x440;&#x43E;&#x43B;&#x43B;&#x435;&#x440;&#x430;.</title><link>http://opencartpascha.ru/topic/469-pomogite-razobratsya-v-fayle-kontrollera/</link><description><![CDATA[<p>
	Это файл контроллера ocfilter (4.7). Пытаюсь немного его изменить, чтобы если нет результатов, то выводил на пустую страницу.
</p>

<p>
	Подскажите, пожалуйста, где тут строка, которая отвечает за формирование url, если товары не найдены?
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php

</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ControllerExtensionModuleOCFilter</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">Controller</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">protected</span><span class="pln"> $registry</span><span class="pun">;</span><span class="pln">
  </span><span class="kwd">protected</span><span class="pln"> $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __construct</span><span class="pun">(</span><span class="pln">$registry</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    parent</span><span class="pun">::</span><span class="pln">__construct</span><span class="pun">(</span><span class="pln">$registry</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="pln">has</span><span class="pun">(</span><span class="str">'ocfilter'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $this</span><span class="pun">-&gt;</span><span class="pln">data </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter'</span><span class="pun">)-&gt;</span><span class="pln">data</span><span class="pun">;</span><span class="pln">

      </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">(</span><span class="str">'extension/module/ocfilter'</span><span class="pun">);</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">(</span><span class="str">'ocfilter'</span><span class="pun">);</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">helper</span><span class="pun">(</span><span class="str">'ocfilter'</span><span class="pun">);</span><span class="pln">

  	$this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="str">'catalog/ocfilter'</span><span class="pun">);</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="str">'catalog/product'</span><span class="pun">);</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="str">'tool/image'</span><span class="pun">);</span><span class="pln">

    </span><span class="com">// Decode URL</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">decode</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'_'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">);</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">category_id </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$parts</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> cleanParamsString</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $options_get </span><span class="pun">=</span><span class="pln"> decodeParamsFromString</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

  			$this</span><span class="pun">-&gt;</span><span class="pln">options_get </span><span class="pun">=</span><span class="pln"> $options_get</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_price'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$options_get</span><span class="pun">[</span><span class="str">'p'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $range </span><span class="pun">=</span><span class="pln"> getRangeParts</span><span class="pun">(</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$options_get</span><span class="pun">[</span><span class="str">'p'</span><span class="pun">]));</span><span class="pln">

          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          	$this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">];</span><span class="pln">
          	$this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">];</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">page_info</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
         	$this</span><span class="pun">-&gt;</span><span class="pln">document</span><span class="pun">-&gt;</span><span class="pln">setNoindex</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Get values counter</span><span class="pln">
    $filter_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
			</span><span class="str">'filter_category_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">,</span><span class="pln">
      </span><span class="str">'filter_ocfilter'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pln">
		</span><span class="pun">);</span><span class="pln">

		$this</span><span class="pun">-&gt;</span><span class="pln">counters </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getCounters</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_price'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $filter_data</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="str">'p'</span><span class="pun">);</span><span class="pln">

      $this</span><span class="pun">-&gt;</span><span class="pln">product_prices </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getProductPrices</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">product_prices</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">min_price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">floor</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">product_prices</span><span class="pun">[</span><span class="str">'min'</span><span class="pun">]),</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">],</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">max_price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">ceil</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">product_prices</span><span class="pun">[</span><span class="str">'max'</span><span class="pun">]),</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">],</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="kwd">set</span><span class="pun">(</span><span class="str">'ocfilter'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">);</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="com">// Array access</span><span class="pln">
  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __get</span><span class="pun">(</span><span class="pln">$key</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="pln">has</span><span class="pun">(</span><span class="pln">$key</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="pln">$key</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __set</span><span class="pun">(</span><span class="pln">$key</span><span class="pun">,</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="com">// Empty method to prevent execution of index()</span><span class="pln">
  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> initialise</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

  </span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> index</span><span class="pun">(</span><span class="pln">$settings </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">(</span><span class="str">'extension/module/ocfilter'</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_price'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price </span><span class="pun">&lt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $data</span><span class="pun">[</span><span class="str">'show_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $data</span><span class="pun">[</span><span class="str">'show_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'heading_title'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'heading_title'</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">&lt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">min_price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$this</span><span class="pun">-&gt;</span><span class="pln">max_price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'options'</span><span class="pun">]</span><span class="pln">              </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getOCFilterOptions</span><span class="pun">();</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'min_price'</span><span class="pun">]</span><span class="pln">            </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price</span><span class="pun">;</span><span class="pln">
		$data</span><span class="pun">[</span><span class="str">'max_price'</span><span class="pun">]</span><span class="pln">            </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price</span><span class="pun">;</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'min_price_get'</span><span class="pun">]</span><span class="pln">        </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">?</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">:</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price</span><span class="pun">;</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'max_price_get'</span><span class="pun">]</span><span class="pln">        </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">?</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">:</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price</span><span class="pun">;</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'path'</span><span class="pun">]</span><span class="pln">                 </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">;</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'link'</span><span class="pun">]</span><span class="pln">                 </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">());</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'params'</span><span class="pun">]</span><span class="pln">               </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">;</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'index'</span><span class="pun">]</span><span class="pln">   							</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_url_index'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'show_counter'</span><span class="pun">]</span><span class="pln">         </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_counter'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'search_button'</span><span class="pun">]</span><span class="pln">        </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_search_button'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'show_values_limit'</span><span class="pun">]</span><span class="pln">   	</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_values_limit'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'manual_price'</span><span class="pun">]</span><span class="pln">         </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_manual_price'</span><span class="pun">);</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'text_show_all'</span><span class="pun">]</span><span class="pln">        </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_show_all'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'text_hide'</span><span class="pun">]</span><span class="pln">          	</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_hide'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'button_select'</span><span class="pun">]</span><span class="pln">        </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'button_select'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'text_load'</span><span class="pun">]</span><span class="pln">            </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_load'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'text_price'</span><span class="pun">]</span><span class="pln">           </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_price'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'text_any'</span><span class="pun">]</span><span class="pln">           	</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_any'</span><span class="pun">);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'text_cancel_all'</span><span class="pun">]</span><span class="pln">      </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_cancel_all'</span><span class="pun">);</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'symbol_left'</span><span class="pun">]</span><span class="pln">      		</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getSymbolLeft</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">]);</span><span class="pln">
    $data</span><span class="pun">[</span><span class="str">'symbol_right'</span><span class="pun">]</span><span class="pln">      		</span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getSymbolRight</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">]);</span><span class="pln">

    $data</span><span class="pun">[</span><span class="str">'show_options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_selected'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $data</span><span class="pun">[</span><span class="str">'selecteds'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getSelectedOptions</span><span class="pun">();</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $data</span><span class="pun">[</span><span class="str">'selecteds'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_options_limit'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_options_limit'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> count</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'options'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$data</span><span class="pun">[</span><span class="str">'show_options_limit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_options_limit'</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $data</span><span class="pun">[</span><span class="str">'show_options_limit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">document</span><span class="pun">-&gt;</span><span class="pln">addStyle</span><span class="pun">(</span><span class="str">'catalog/view/javascript/ocfilter/nouislider.min.css'</span><span class="pun">);</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">document</span><span class="pun">-&gt;</span><span class="pln">addStyle</span><span class="pun">(</span><span class="str">'catalog/view/theme/default/stylesheet/ocfilter/ocfilter.css'</span><span class="pun">);</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">document</span><span class="pun">-&gt;</span><span class="pln">addScript</span><span class="pun">(</span><span class="str">'catalog/view/javascript/ocfilter/nouislider.min.js'</span><span class="pun">);</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">document</span><span class="pun">-&gt;</span><span class="pln">addScript</span><span class="pun">(</span><span class="str">'catalog/view/javascript/ocfilter/ocfilter.js'</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">view</span><span class="pun">(</span><span class="str">'extension/module/ocfilter/module'</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getOCFilterOptions</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">is_null</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $options </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    </span><span class="com">// Manufacturers filtering</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_manufacturer'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  		$results </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getManufacturersByCategoryId</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$results</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $options</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'option_id'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'m'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'name'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_manufacturer'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_manufacturer_description'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'type'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_manufacturer_type'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'values'</span><span class="pln">      </span><span class="pun">=&gt;</span><span class="pln"> $results
        </span><span class="pun">);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Stock status filtering</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'stock_status_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				$results </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getStockStatuses</span><span class="pun">();</span><span class="pln">

	      $options</span><span class="pun">[</span><span class="str">'stock'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
	        </span><span class="str">'option_id'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">,</span><span class="pln">
	        </span><span class="str">'name'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_stock'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_stock_description'</span><span class="pun">),</span><span class="pln">
	        </span><span class="str">'type'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_type'</span><span class="pun">),</span><span class="pln">
	        </span><span class="str">'values'</span><span class="pln">      </span><span class="pun">=&gt;</span><span class="pln"> $results
	      </span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'quantity'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	      $options</span><span class="pun">[</span><span class="str">'stock'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
	        </span><span class="str">'option_id'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">,</span><span class="pln">
	        </span><span class="str">'name'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_stock'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_stock_description'</span><span class="pun">),</span><span class="pln">
	        </span><span class="str">'type'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_out_value'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'radio'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'checkbox'</span><span class="pun">),</span><span class="pln">
	        </span><span class="str">'values'</span><span class="pln">      </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
						array</span><span class="pun">(</span><span class="pln">
							</span><span class="str">'value_id'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'in'</span><span class="pun">,</span><span class="pln">
							</span><span class="str">'name'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'В наличии'</span><span class="pln">
						</span><span class="pun">)</span><span class="pln">
					</span><span class="pun">)</span><span class="pln">
	      </span><span class="pun">);</span><span class="pln">

				</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_out_value'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $options</span><span class="pun">[</span><span class="str">'stock'</span><span class="pun">][</span><span class="str">'values'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
						</span><span class="str">'value_id'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'out'</span><span class="pun">,</span><span class="pln">
						</span><span class="str">'name'</span><span class="pln">        </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_out_of_stock'</span><span class="pun">)</span><span class="pln">
					</span><span class="pun">);</span><span class="pln">
				</span><span class="pun">}</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Get category options</span><span class="pln">
	  $results </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getOCFilterOptionsByCategoryId</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$results</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	 		$options </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$options</span><span class="pun">,</span><span class="pln"> $results</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

    $options_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    $index </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

	  </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$options </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'radio'</span><span class="pun">;</span><span class="pln">
        $option</span><span class="pun">[</span><span class="str">'selectbox'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      $this_option </span><span class="pun">=</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]]);</span><span class="pln">

			$values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'slide'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'slide_dual'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					$this_value </span><span class="pun">=</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> in_array</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]]);</span><span class="pln">

          $count </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

					</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">counters</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">]]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this_option </span><span class="pun">&amp;&amp;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'checkbox'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
							$count </span><span class="pun">=</span><span class="pln"> </span><span class="str">'+'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">counters</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">]];</span><span class="pln">
						</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
							$count </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">counters</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">]];</span><span class="pln">
						</span><span class="pun">}</span><span class="pln">
					</span><span class="pun">}</span><span class="pln">

          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$count </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_hide_empty_values'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> file_exists</span><span class="pun">(</span><span class="pln">DIR_IMAGE </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
              $image </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_tool_image</span><span class="pun">-&gt;</span><span class="pln">resize</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">],</span><span class="pln"> </span><span class="lit">19</span><span class="pun">,</span><span class="pln"> </span><span class="lit">19</span><span class="pun">);</span><span class="pln">
						</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
							$image </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
						</span><span class="pun">}</span><span class="pln">

            $params </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getValueParams</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]);</span><span class="pln">

	          $values</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
	            </span><span class="str">'value_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln">
							</span><span class="str">'id'</span><span class="pln">       </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln">
	            </span><span class="str">'name'</span><span class="pln">     </span><span class="pun">=&gt;</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'postfix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'postfix'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">''</span><span class="pun">),</span><span class="pln"> ENT_QUOTES</span><span class="pun">,</span><span class="pln"> </span><span class="str">'UTF-8'</span><span class="pun">),</span><span class="pln">
              </span><span class="str">'keyword'</span><span class="pln">  </span><span class="pun">=&gt;</span><span class="pln"> html_entity_decode</span><span class="pun">((</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">]),</span><span class="pln"> ENT_QUOTES</span><span class="pun">,</span><span class="pln"> </span><span class="str">'UTF-8'</span><span class="pun">),</span><span class="pln">
							</span><span class="str">'color'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">((</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'color'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'color'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'color'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'#FFFFFF'</span><span class="pun">),</span><span class="pln">
              </span><span class="str">'image'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> $image</span><span class="pun">,</span><span class="pln">
	            </span><span class="str">'params'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> $params</span><span class="pun">,</span><span class="pln">
							</span><span class="str">'count'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> $count</span><span class="pun">,</span><span class="pln">
	            </span><span class="str">'selected'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this_value
	          </span><span class="pun">);</span><span class="pln">
					</span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$values</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $range </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getSliderRange</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
    			</span><span class="str">'filter_category_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'filter_ocfilter'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]),</span><span class="pln">
        </span><span class="pun">));</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$range</span><span class="pun">[</span><span class="str">'min'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'max'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        $option</span><span class="pun">[</span><span class="str">'slide_value_min'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'min'</span><span class="pun">];</span><span class="pln">
        $option</span><span class="pun">[</span><span class="str">'slide_value_max'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'max'</span><span class="pun">];</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'radio'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $params </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]);</span><span class="pln">

				</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">counters</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'all'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					$count </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">counters</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'all'</span><span class="pun">];</span><span class="pln">
				</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					$count </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
				</span><span class="pun">}</span><span class="pln">

        array_unshift</span><span class="pun">(</span><span class="pln">$values</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'value_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln">
					</span><span class="str">'id'</span><span class="pln">       </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'cancel-'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln">
          </span><span class="str">'name'</span><span class="pln">     </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_any'</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'params'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> $params</span><span class="pun">,</span><span class="pln">
					</span><span class="str">'count'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> $count</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'selected'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$this_option
        </span><span class="pun">));</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

      $option_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
        </span><span class="str">'option_id'</span><span class="pln">           </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln">
        </span><span class="str">'index'</span><span class="pln">               </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">++</span><span class="pln">$index</span><span class="pun">,</span><span class="pln">
       	</span><span class="str">'name'</span><span class="pln">                </span><span class="pun">=&gt;</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln"> ENT_QUOTES</span><span class="pun">,</span><span class="pln"> </span><span class="str">'UTF-8'</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'selectbox'</span><span class="pln">           </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'selectbox'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'selectbox'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'color'</span><span class="pln">			          </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'color'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'color'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'image'</span><span class="pln">		            </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'keyword'</span><span class="pln">		          </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]),</span><span class="pln">
				</span><span class="str">'postfix'</span><span class="pln"> 		        </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'postfix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'postfix'</span><span class="pun">],</span><span class="pln"> ENT_QUOTES</span><span class="pun">,</span><span class="pln"> </span><span class="str">'UTF-8'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">''</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'description'</span><span class="pln">         </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">''</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'slide_value_min'</span><span class="pln">     </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'slide_value_min'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'slide_value_min'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'slide_value_max'</span><span class="pln">     </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'slide_value_max'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'slide_value_max'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'slide_value_min_get'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'slide_value_min'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'slide_value_min'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'slide_value_max_get'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'slide_value_max'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'slide_value_max'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln">
        </span><span class="str">'type'</span><span class="pln">                </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">],</span><span class="pln">
        </span><span class="str">'selected'</span><span class="pln">            </span><span class="pun">=&gt;</span><span class="pln"> $this_option</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'values'</span><span class="pln">              </span><span class="pun">=&gt;</span><span class="pln"> $values
      </span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">((</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide_dual'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]][</span><span class="lit">0</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $range </span><span class="pun">=</span><span class="pln"> getRangeParts</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]][</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $option_data</span><span class="pun">[</span><span class="str">'slide_value_min_get'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">];</span><span class="pln">
          $option_data</span><span class="pun">[</span><span class="str">'slide_value_max_get'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">];</span><span class="pln">

          </span><span class="com">// For getSelectedOptions</span><span class="pln">
          array_unshift</span><span class="pun">(</span><span class="pln">$option_data</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">],</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
            </span><span class="str">'value_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'-'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">],</span><span class="pln">
            </span><span class="str">'name'</span><span class="pln">     </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'от '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'from'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">' до '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $range</span><span class="pun">[</span><span class="str">'to'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'postfix'</span><span class="pun">]</span><span class="pln">
          </span><span class="pun">));</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      $options_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $option_data</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="com">// End options each</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">options </span><span class="pun">=</span><span class="pln"> $options_data</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $options_data</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getValueParams</span><span class="pun">(</span><span class="pln">$option_id</span><span class="pun">,</span><span class="pln"> $value_id</span><span class="pun">,</span><span class="pln"> $type </span><span class="pun">=</span><span class="pln"> </span><span class="str">'checkbox'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		$decoded_params </span><span class="pun">=</span><span class="pln"> decodeParamsFromString</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$type </span><span class="pun">==</span><span class="pln"> </span><span class="str">'checkbox'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">false</span><span class="pln"> </span><span class="pun">!==</span><span class="pln"> $key </span><span class="pun">=</span><span class="pln"> array_search</span><span class="pun">(</span><span class="pln">$value_id</span><span class="pun">,</span><span class="pln"> $decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					unset</span><span class="pun">(</span><span class="pln">$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
				</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value_id</span><span class="pun">;</span><span class="pln">
				</span><span class="pun">}</span><span class="pln">
			</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$value_id</span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
 		</span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$type </span><span class="pun">==</span><span class="pln"> </span><span class="str">'select'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $type </span><span class="pun">==</span><span class="pln"> </span><span class="str">'radio'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				unset</span><span class="pun">(</span><span class="pln">$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

			$decoded_params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$value_id</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> encodeParamsToString</span><span class="pun">(</span><span class="pln">$decoded_params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> cancelOptionParams</span><span class="pun">(</span><span class="pln">$option_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$params </span><span class="pun">=</span><span class="pln"> decodeParamsFromString</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				unset</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

			</span><span class="kwd">return</span><span class="pln"> encodeParamsToString</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getSelectedOptions</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $selected_options </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    $category_options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getOCFilterOptions</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $category_options</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
        </span><span class="str">'option_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'p'</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'name'</span><span class="pln">      </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'text_price'</span><span class="pun">),</span><span class="pln">
				</span><span class="str">'type'</span><span class="pln">      </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'selected'</span><span class="pln">  </span><span class="pun">=&gt;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="str">'p'</span><span class="pun">]),</span><span class="pln">
        </span><span class="str">'values'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'value_id'</span><span class="pln"> 	</span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">.</span><span class="pln"> </span><span class="str">'-'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'name'</span><span class="pln"> 			</span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'от '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getSymbolLeft</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">min_price_get </span><span class="pun">.</span><span class="pln"> </span><span class="str">' до '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">max_price_get </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getSymbolRight</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">])</span><span class="pln">
				</span><span class="pun">))</span><span class="pln">
      </span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$category_options </span><span class="kwd">as</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'selected'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

      $option_id </span><span class="pun">=</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">];</span><span class="pln">

			$values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

			</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
				</span><span class="pun">}</span><span class="pln">

			  $params </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> count</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'radio'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'select'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide_dual'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $params </span><span class="pun">.=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="pln">$option_id</span><span class="pun">);</span><span class="pln">
          </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $params </span><span class="pun">.=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'params'</span><span class="pun">];</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        $name </span><span class="pun">=</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln"> ENT_QUOTES</span><span class="pun">,</span><span class="pln"> </span><span class="str">'UTF-8'</span><span class="pun">);</span><span class="pln">

			  $values</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $name</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'id'</span><span class="pln">   </span><span class="pun">=&gt;</span><span class="pln"> $option_id </span><span class="pun">.</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">],</span><span class="pln">
          </span><span class="str">'href'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">),</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

			$selected_options</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
        </span><span class="str">'name'</span><span class="pln">   		</span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
        </span><span class="str">'values'</span><span class="pln"> 		</span><span class="pun">=&gt;</span><span class="pln"> $values
      </span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $selected_options</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> decode</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'path'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $this</span><span class="pun">-&gt;</span><span class="pln">path </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'path'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'_route_'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $_route_ </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'_route_'</span><span class="pun">];</span><span class="pln">

		$keywords </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $_route_</span><span class="pun">);</span><span class="pln">

		</span><span class="com">// remove any empty arrays from trailing</span><span class="pln">
		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">utf8_strlen</span><span class="pun">(</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">))</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			array_pop</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">);</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

    $ignored </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    $page_keywords </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    </span><span class="com">// Get category path</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $path_info </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">decodeCategory</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$path_info </span><span class="pun">&amp;&amp;</span><span class="pln"> $path_info</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$this</span><span class="pun">-&gt;</span><span class="pln">path </span><span class="pun">=</span><span class="pln"> $path_info</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">;</span><span class="pln">

        $ignored </span><span class="pun">=</span><span class="pln"> $path_info</span><span class="pun">-&gt;</span><span class="pln">keywords</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'_'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">);</span><span class="pln">

    $category_id </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$parts</span><span class="pun">);</span><span class="pln">

    </span><span class="com">// Ignore language</span><span class="pln">
    $key </span><span class="pun">=</span><span class="pln"> array_search</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'language'</span><span class="pun">],</span><span class="pln"> $keywords</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">false</span><span class="pln"> </span><span class="pun">!==</span><span class="pln"> $key</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$ignored</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Get SEO Page</span><span class="pln">
    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $keyword</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">,</span><span class="pln"> $ignored</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      $page_info </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">decodePage</span><span class="pun">(</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln"> $keyword</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$page_info</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$this</span><span class="pun">-&gt;</span><span class="pln">page_info </span><span class="pun">=</span><span class="pln"> $page_info</span><span class="pun">;</span><span class="pln">

  			$keywords </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">page_info</span><span class="pun">[</span><span class="str">'params'</span><span class="pun">]);</span><span class="pln">

  			</span><span class="com">// remove any empty arrays from trailing</span><span class="pln">
  			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">utf8_strlen</span><span class="pun">(</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">))</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  				array_pop</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">);</span><span class="pln">
  			</span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $params </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    </span><span class="com">// Special filters</span><span class="pln">
    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $keyword</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">,</span><span class="pln"> $ignored</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keyword </span><span class="pun">==</span><span class="pln"> </span><span class="str">'price'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">++]);</span><span class="pln">

        $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isRange</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	  $params</span><span class="pun">[</span><span class="str">'p'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">

          $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">];</span><span class="pln">

          unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keyword </span><span class="pun">==</span><span class="pln"> </span><span class="str">'sklad'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'quantity'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">++]);</span><span class="pln">

        $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'in'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'out'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">[</span><span class="str">'s'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $params</span><span class="pun">[</span><span class="str">'s'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">

          $params</span><span class="pun">[</span><span class="str">'s'</span><span class="pun">][</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">];</span><span class="pln">

          $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">];</span><span class="pln">

          unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $current </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $keyword</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">,</span><span class="pln"> $ignored</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      $founded </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

      </span><span class="com">// Values</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$current </span><span class="pun">==</span><span class="pln"> </span><span class="str">'s'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isID</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'stock_status_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $params</span><span class="pun">[</span><span class="str">'s'</span><span class="pun">][</span><span class="pln">$keyword</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        $founded </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$current</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $value_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">decodeValue</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">,</span><span class="pln"> $current</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $params</span><span class="pun">[</span><span class="pln">$current</span><span class="pun">][</span><span class="pln">$value_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value_id</span><span class="pun">;</span><span class="pln">

          $founded </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isRange</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// If Slider</span><span class="pln">
          $params</span><span class="pun">[</span><span class="pln">$current</span><span class="pun">][</span><span class="pln">$keyword</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

          $founded </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$founded </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$founded </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$current </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

      	unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">

        </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="com">// Options</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keyword </span><span class="pun">==</span><span class="pln"> </span><span class="str">'sklad'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'stock_status_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$params</span><span class="pun">[</span><span class="str">'s'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

        $current </span><span class="pun">=</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">;</span><span class="pln">

        $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isRange</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $option_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">decodeOption</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">,</span><span class="pln"> $category_id</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $params</span><span class="pun">[</span><span class="pln">$option_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

          $current </span><span class="pun">=</span><span class="pln"> $option_id</span><span class="pun">;</span><span class="pln">

          $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

          unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Manufacturer</span><span class="pln">
    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $keyword</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $manufacturer_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">decodeManufacturer</span><span class="pun">(</span><span class="pln">$keyword</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$manufacturer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">[</span><span class="str">'m'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $params</span><span class="pun">[</span><span class="str">'m'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

       	$params</span><span class="pun">[</span><span class="str">'m'</span><span class="pun">][</span><span class="pln">$manufacturer_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $manufacturer_id</span><span class="pun">;</span><span class="pln">

        $page_keywords</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $keyword</span><span class="pun">;</span><span class="pln">

        unset</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// Add category SEO keywords to _route_</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">page_info</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$path </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getCategorySeoPathByCategoryId</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">page_info</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $path</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">array_reverse</span><span class="pun">(</span><span class="pln">$parts</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $part</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          array_unshift</span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">,</span><span class="pln"> $part</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">page_info </span><span class="pun">&amp;&amp;</span><span class="pln"> $page_keywords</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$this</span><span class="pun">-&gt;</span><span class="pln">page_info </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getPage</span><span class="pun">(</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $page_keywords</span><span class="pun">));</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$keywords</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'_route_'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $keywords</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$params</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> encodeParamsToString</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'route'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'route'</span><span class="pun">]);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> rewrite</span><span class="pun">(</span><span class="pln">$link</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $url_info </span><span class="pun">=</span><span class="pln"> parse_url</span><span class="pun">(</span><span class="pln">str_replace</span><span class="pun">(</span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> $link</span><span class="pun">));</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$url_info</span><span class="pun">[</span><span class="str">'query'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pln"> $link</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		$data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

		parse_str</span><span class="pun">(</span><span class="pln">$url_info</span><span class="pun">[</span><span class="str">'query'</span><span class="pun">],</span><span class="pln"> $data</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">return</span><span class="pln"> $link</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $params </span><span class="pun">=</span><span class="pln"> decodeParamsFromString</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">);</span><span class="pln">

    unset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]);</span><span class="pln">

    $path </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$params </span><span class="kwd">as</span><span class="pln"> $option_id </span><span class="pun">=&gt;</span><span class="pln"> $values</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'p'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/price'</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/sklad'</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'m'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT keyword FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"ocfilter_option WHERE option_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$option_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'"</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">num_rows </span><span class="pun">&amp;&amp;</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $option_id</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values </span><span class="kwd">as</span><span class="pln"> $value_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $query </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'m'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT keyword FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"url_alias WHERE `query` = 'manufacturer_id="</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$value_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isID</span><span class="pun">(</span><span class="pln">$value_id</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT keyword FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"ocfilter_option_value WHERE value_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">((</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$value_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query </span><span class="pun">&amp;&amp;</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">num_rows </span><span class="pun">&amp;&amp;</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$path </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $value_id</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $page_path </span><span class="pun">=</span><span class="pln"> ltrim</span><span class="pun">(</span><span class="pln">$path</span><span class="pun">,</span><span class="pln"> </span><span class="str">'/'</span><span class="pun">);</span><span class="pln">

      $page_info </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getPage</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">,</span><span class="pln"> $page_path</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$page_info </span><span class="pun">&amp;&amp;</span><span class="pln"> $page_info</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$path </span><span class="pun">=</span><span class="pln"> </span><span class="str">'/'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $page_info</span><span class="pun">[</span><span class="str">'keyword'</span><span class="pun">];</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $rewrite </span><span class="pun">=</span><span class="pln"> $url_info</span><span class="pun">[</span><span class="str">'scheme'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'://'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $url_info</span><span class="pun">[</span><span class="str">'host'</span><span class="pun">];</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$url_info</span><span class="pun">[</span><span class="str">'port'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$rewrite </span><span class="pun">.=</span><span class="pln"> </span><span class="str">':'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $url_info</span><span class="pun">[</span><span class="str">'port'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$url_info</span><span class="pun">[</span><span class="str">'path'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$rewrite </span><span class="pun">.=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">'/index.php'</span><span class="pun">,</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> $url_info</span><span class="pun">[</span><span class="str">'path'</span><span class="pun">]);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $rewrite </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/index.php'</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$rewrite </span><span class="pun">=</span><span class="pln"> rtrim</span><span class="pun">(</span><span class="pln">$rewrite</span><span class="pun">,</span><span class="pln"> </span><span class="str">'/'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $path</span><span class="pun">;</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="pln">has</span><span class="pun">(</span><span class="str">'config_seo_url_type'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_seo_url_type'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'seo_pro'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      	$rewrite </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'/'</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		$query </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				$query </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> rawurlencode</span><span class="pun">((</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$key</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">'='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> rawurlencode</span><span class="pun">((</span><span class="pln">is_array</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> http_build_query</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$value</span><span class="pun">));</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				$query </span><span class="pun">=</span><span class="pln"> </span><span class="str">'?'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">));</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">

    $rewrite </span><span class="pun">.=</span><span class="pln"> $query</span><span class="pun">;</span><span class="pln">

		</span><span class="kwd">return</span><span class="pln"> $rewrite</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPageInfo</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">page_info</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getSelectedsFilterTitle</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $filter_title </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

    $selecteds </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getSelectedOptions</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$selecteds </span><span class="kwd">as</span><span class="pln"> $option_id </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$filter_title</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $filter_title </span><span class="pun">.=</span><span class="pln"> </span><span class="str">', '</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'m'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $values_name  </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          	$values_name </span><span class="pun">.=</span><span class="pln"> </span><span class="str">', '</span><span class="pun">;</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">

      	  $values_name </span><span class="pun">.=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$filter_title </span><span class="pun">.=</span><span class="pln"> $values_name</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'p'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $price </span><span class="pun">=</span><span class="pln"> array_shift</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]);</span><span class="pln">

        $filter_title </span><span class="pun">.=</span><span class="pln"> $price</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option_id </span><span class="pun">==</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_stock_status_method'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'quantity'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $stock_status </span><span class="pun">=</span><span class="pln"> array_shift</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]);</span><span class="pln">

          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$stock_status</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'in'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $filter_title </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'в наличии'</span><span class="pun">;</span><span class="pln">
          </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$stock_status</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'out'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $filter_title </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'нет в наличии'</span><span class="pun">;</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $values_name  </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

          </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            	$values_name </span><span class="pun">.=</span><span class="pln"> </span><span class="str">', '</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

        	  $values_name </span><span class="pun">.=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">

          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          	$filter_title </span><span class="pun">.=</span><span class="pln"> $values_name</span><span class="pun">;</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $values_name  </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          	$values_name </span><span class="pun">.=</span><span class="pln"> </span><span class="str">', '</span><span class="pun">;</span><span class="pln">
          </span><span class="pun">}</span><span class="pln">

      	  $values_name </span><span class="pun">.=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$values_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        	$filter_title </span><span class="pun">.=</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">' '</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $values_name</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $filter_title</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> link</span><span class="pun">(</span><span class="pln">$filter_ocfilter </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $url </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $url </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;path='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$filter_ocfilter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $url </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;filter_ocfilter='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$filter_ocfilter</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'sort'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $url </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;sort='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'sort'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $url </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;order='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'order'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $url </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;limit='</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">url</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="str">'product/category'</span><span class="pun">,</span><span class="pln"> $url</span><span class="pun">);</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> callback</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">(</span><span class="str">'extension/module/ocfilter'</span><span class="pun">);</span><span class="pln">

    $json </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$option_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$option_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $filter_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
			</span><span class="str">'filter_category_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">category_id</span><span class="pun">,</span><span class="pln">
      </span><span class="str">'filter_ocfilter'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">,</span><span class="pln">
      </span><span class="str">'limit'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln">
		</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_sub_category'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    	$filter_data</span><span class="pun">[</span><span class="str">'filter_sub_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

		$total_products </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_product</span><span class="pun">-&gt;</span><span class="pln">getTotalProducts</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">);</span><span class="pln">

    $json</span><span class="pun">[</span><span class="str">'total'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $total_products</span><span class="pun">;</span><span class="pln">
    $json</span><span class="pun">[</span><span class="str">'text_total'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> declOfNum</span><span class="pun">(</span><span class="pln">$total_products</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                                      $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'button_show_total_1'</span><span class="pun">),</span><span class="pln">
                                      $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'button_show_total_2'</span><span class="pun">),</span><span class="pln">
                                      $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'button_show_total_3'</span><span class="pun">)</span><span class="pln">
                                    </span><span class="pun">));</span><span class="pln">

    $json</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
    $json</span><span class="pun">[</span><span class="str">'sliders'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocfilter_show_price'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $option_id </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'p'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      $_filter_data </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">;</span><span class="pln">

      $_filter_data</span><span class="pun">[</span><span class="str">'filter_ocfilter'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="str">'p'</span><span class="pun">);</span><span class="pln">

      $product_prices </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getProductPrices</span><span class="pun">(</span><span class="pln">$_filter_data</span><span class="pun">);</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_prices</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $json</span><span class="pun">[</span><span class="str">'sliders'</span><span class="pun">][</span><span class="str">'p'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'min'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">floor</span><span class="pun">(</span><span class="pln">$product_prices</span><span class="pun">[</span><span class="str">'min'</span><span class="pun">]),</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">],</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
          </span><span class="str">'max'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">ceil</span><span class="pun">(</span><span class="pln">$product_prices</span><span class="pun">[</span><span class="str">'max'</span><span class="pun">]),</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">session</span><span class="pun">-&gt;</span><span class="pln">data</span><span class="pun">[</span><span class="str">'currency'</span><span class="pun">],</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getOCFilterOptions</span><span class="pun">();</span><span class="pln">

    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$options </span><span class="kwd">as</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'slide_dual'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> $option_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
          $json</span><span class="pun">[</span><span class="str">'sliders'</span><span class="pun">][</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">model_catalog_ocfilter</span><span class="pun">-&gt;</span><span class="pln">getSliderRange</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln"> $filter_data</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'select'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'radio'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $params </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cancelOptionParams</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]);</span><span class="pln">

        $json</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">][</span><span class="str">'cancel-'</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'t'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'p'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $params</span><span class="pun">,</span><span class="pln">
					</span><span class="str">'s'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">false</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">

      </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $json</span><span class="pun">[</span><span class="str">'values'</span><span class="pun">][</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
          </span><span class="str">'t'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'count'</span><span class="pun">],</span><span class="pln">
          </span><span class="str">'p'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'params'</span><span class="pun">],</span><span class="pln">
					</span><span class="str">'s'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">options_get</span><span class="pun">[</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]][</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value_id'</span><span class="pun">]])</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    $json</span><span class="pun">[</span><span class="str">'href'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="kwd">params</span><span class="pun">));</span><span class="pln">

		$this</span><span class="pun">-&gt;</span><span class="pln">response</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'Content-Type: application/json'</span><span class="pun">);</span><span class="pln">
		$this</span><span class="pun">-&gt;</span><span class="pln">response</span><span class="pun">-&gt;</span><span class="pln">setOutput</span><span class="pun">(</span><span class="pln">json_encode</span><span class="pun">(</span><span class="pln">$json</span><span class="pun">));</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">?&gt;</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">469</guid><pubDate>Wed, 01 Jun 2022 15:48:03 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x432;&#x44B;&#x432;&#x435;&#x441;&#x442;&#x438; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x445; &#x43E;&#x43F;&#x446;&#x438;&#x439; &#x432; &#x43E;&#x434;&#x43D;&#x43E;&#x43C; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x439;&#x43D;&#x435;&#x440;&#x435;?</title><link>http://opencartpascha.ru/topic/459-kak-vyvesti-neskolko-opredelyonnyh-opciy-v-odnom-konteynere/</link><description><![CDATA[<p>
	<span style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:14px;">Подскажите, как в один контейнер вывести несколько определённых опций (если они есть)?</span><br style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:14px;" />
	<span style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:14px;">Хочу получить такое:</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"options"</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"option-1"</span><span class="tag">&gt;</span><span class="pln">
     Опция ID1
  </span><span class="tag">&lt;/div&gt;</span><span class="pln">
  </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"option-2"</span><span class="tag">&gt;</span><span class="pln">
     Опция ID3
  </span><span class="tag">&lt;/div&gt;</span><span class="pln">
</span><span class="tag">&lt;/div&gt;</span></pre>

<p>
	<span style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:14px;">Пробовал так</span>
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
    </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$options </span><span class="kwd">as</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
    </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'checkbox'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
        </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"options"</span><span class="tag">&gt;</span><span class="pln">
            </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'1'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'2'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
                &lt;div class="option-</span><span class="pun">&lt;?</span><span class="pln">php echo $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">"&gt;
                    Опция ID</span><span class="pun">&lt;?</span><span class="pln">php echo $option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
                </span><span class="tag">&lt;/div&gt;</span><span class="pln">
            </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
        </span><span class="tag">&lt;/div&gt;</span><span class="pln">
    </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">    
    </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
</span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span></pre>

<p>
	<span style="background-color:rgba(248,248,248,.24);color:#353c41;font-size:14px;">Но получил результат</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"options"</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"option-1"</span><span class="tag">&gt;</span><span class="pln">
    Опция-1
  </span><span class="tag">&lt;/div&gt;</span><span class="pln">
</span><span class="tag">&lt;/div&gt;</span><span class="pln">
</span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"options"</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"option-2"</span><span class="tag">&gt;</span><span class="pln">
    Опция-2
  </span><span class="tag">&lt;/div&gt;</span><span class="pln">
</span><span class="tag">&lt;/div&gt;</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">459</guid><pubDate>Fri, 06 May 2022 17:16:03 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x432; &#x444;&#x443;&#x442;&#x435;&#x440;&#x435; &#x440;&#x430;&#x437;&#x431;&#x438;&#x442;&#x44C; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x432; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x435; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x438;</title><link>http://opencartpascha.ru/topic/436-kak-v-futere-razbit-stati-v-raznye-kolonki/</link><description><![CDATA[<p>
	Недавно, согласно предоставленному макету нужно было разбить статьи в 2 разные колонки. ( предварительно убрав то что не нужно)<br />
	Сайт был для предоставления услуг, то есть пункты подобные "Возврат товара" и прочие были упразднены и потому футер предполагалось переверстать и пересортировать пункты.<br />
	Итак, не став сильно заморачиваться и принял решение использовать для этих целей сортировку статей.<br />
	<br />
	Для этого в
</p>

<p>
	<strong><span>catalog/view/theme/default/template/information/information.tpl</span></strong><br />
	<br />
	<span>Формируем первую колонку</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln"> </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$informations </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
      </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-sm-4"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;h5&gt;</span><span class="pln">Название первой колонки с статьями</span><span class="tag">&lt;/h5&gt;</span><span class="pln">
        </span><span class="tag">&lt;ul</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"list-unstyled"</span><span class="tag">&gt;</span><span class="pln">
          </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$informations </span><span class="kwd">as</span><span class="pln"> $information</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
		  </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$information</span><span class="pun">[</span><span class="str">'sort_order'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
          </span><span class="tag">&lt;li&gt;</span><span class="pln">&lt;a href="</span><span class="pun">&lt;?</span><span class="pln">php echo $information</span><span class="pun">[</span><span class="str">'href'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">"&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $information</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="tag">&lt;/a&gt;&lt;/li&gt;</span><span class="pln">
          </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
		  </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
        </span><span class="tag">&lt;/ul&gt;</span><span class="pln">
      </span><span class="tag">&lt;/div&gt;</span><span class="pln">
      </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span></pre>

<p>
	<strong>Пояснение: </strong><br />
	В данную колонку будут помещаться все статьи которым определено "отображать в футере" и номером сортировки менее 100<br />
	<br />
	Формируем вторую колонку<br />
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$informations</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
      </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-sm-4"</span><span class="tag">&gt;</span><span class="pln">
         </span><span class="tag">&lt;h5&gt;</span><span class="pln">Название второй колонки с статьями</span><span class="tag">&lt;/h5&gt;</span><span class="pln">
        </span><span class="tag">&lt;ul</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"list-unstyled"</span><span class="tag">&gt;</span><span class="pln">
		</span><span class="tag">&lt;li&gt;&lt;a</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">"/"</span><span class="tag">&gt;</span><span class="pln">Главная</span><span class="tag">&lt;/a&gt;&lt;/li&gt;</span><span class="pln">
           </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$informations </span><span class="kwd">as</span><span class="pln"> $information</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
		  </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$information</span><span class="pun">[</span><span class="str">'sort_order'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
          </span><span class="tag">&lt;li&gt;</span><span class="pln">&lt;a href="</span><span class="pun">&lt;?</span><span class="pln">php echo $information</span><span class="pun">[</span><span class="str">'href'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">"&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $information</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="tag">&lt;/a&gt;&lt;/li&gt;</span><span class="pln">
          </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
		  </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">		  
		  </span><span class="tag">&lt;li&gt;</span><span class="pln">&lt;a href="</span><span class="pun">&lt;?</span><span class="pln">php echo $sitemap</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">"&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $text_sitemap</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="tag">&lt;/a&gt;&lt;/li&gt;</span><span class="pln">
        </span><span class="tag">&lt;/ul&gt;</span><span class="pln">
      </span><span class="tag">&lt;/div&gt;</span><span class="pln">
      </span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span></pre>

<p>
	<strong>Пояснение: </strong><br />
	В данную колонку будут помещаться все статьи которым определено "отображать в футере" и номером сортировки более 100<br />
	<br />
	Вот такое простенькое и возможно слегка костыльное решение для сайтов, где предполагается много статей, которые необходимо разместить в подвале сайта. 
</p>
]]></description><guid isPermaLink="false">436</guid><pubDate>Tue, 26 Apr 2022 07:48:30 +0000</pubDate></item><item><title>&#x41A;&#x430;&#x43A; &#x432; Opencart &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x440;&#x435;&#x434;&#x438;&#x440;&#x435;&#x43A;&#x442; &#x441; http &#x43D;&#x430; https</title><link>http://opencartpascha.ru/topic/430-kak-v-opencart-nastroit-redirekt-s-http-na-https/</link><description><![CDATA[<p>
	Если вы подключили SSL сертификат, для того чтобы ваш магазин открывался по безопасному протоколу HTTPS рекомендуется настроить редирект с http:// на https://
</p>

<p>
	Даже если пользователь наберет http://, его перенаправит на безопасный протокол https://
</p>

<p>
	Изменения необходимо вносить в файл .htaccess
</p>

<p>
	Откройте для редактирования на вашем сервере через фтп-клиент или файл-менджер файл .htaccess, обычно он находится в корневой директории вашего сайта.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="http://opencartpascha.ru/uploads/monthly_2022_04/5d78880268a8362c8c0289ac343692a51e660ccd.png.6b88bbd1e0a64dbe840c88d0f56a5578.png" data-fileid="196" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="196" width="1000" alt="5d78880268a8362c8c0289ac343692a51e660ccd.thumb.png.9a5efbbf60ed5fa2a15313d34d83f27e.png" src="http://opencartpascha.ru/uploads/monthly_2022_04/5d78880268a8362c8c0289ac343692a51e660ccd.thumb.png.9a5efbbf60ed5fa2a15313d34d83f27e.png" loading="lazy" height="200"></a>
</p>

<p>
	После строки:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">RewriteEngine On</span></pre>

<blockquote>
	<p>
		 
	</p>
</blockquote>

<p>
	Добавьте следующую запись:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]</span></pre>

<blockquote>
	 
</blockquote>

<p>
	Данное правило должно работать практически на любом хостинге, однако если у вас редирект не сработал, добавьте такую запись:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]</span></pre>

<p>
	Сохраните файл, теперь редирект с протокола http на https готов.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">430</guid><pubDate>Fri, 22 Apr 2022 14:32:49 +0000</pubDate></item><item><title>&#x41F;&#x43E;&#x43C;&#x43E;&#x433;&#x438;&#x442;&#x435;, &#x43F;&#x43E;&#x436;&#x430;&#x43B;&#x443;&#x439;&#x441;&#x442;&#x430;, &#x434;&#x43E;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C;.</title><link>http://opencartpascha.ru/topic/427-pomogite-pozhaluysta-dorabotat-modul/</link><description><![CDATA[<p>
	В модуле для формирования YML есть проблема. Если товар идёт по акции, то при разбивке по опции исходная цена каждой опции идёт с одинаковой ценой (ценой акции). Мне надо, чтобы было цена по акции + значение цены опции (в теге price). &lt;price&gt; формируется не правильно, а &lt;oldprice&gt; правильно, без учёта акции.
</p>

<p>
	Контроллер:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php
</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ControllerExtensionFeedOcextFeedGeneratorYaMarket</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">Controller</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $shop </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $currencies </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $categories </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $product_categories </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">private</span><span class="pln"> $offers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $offers_fwrire </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offers'</span><span class="pun">=&gt;</span><span class="pln">array</span><span class="pun">(),</span><span class="str">'cache_files'</span><span class="pun">=&gt;</span><span class="pln">array</span><span class="pun">());</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $prices </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $parse_yml </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $delivery_option </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $general_setting </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $setting_yml </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $eol </span><span class="pun">=</span><span class="pln"> </span><span class="str">"\n"</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $debug </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $memory_limit_on_fwrite </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.7</span><span class="pun">;</span><span class="com">///0.020625;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $l_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $HTTP_SERVER</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $count_skips </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $count_offers </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $total_memory </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $log_errors </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $path_on_model </span><span class="pun">=</span><span class="pln"> </span><span class="str">'model_extension_feed_ocext_feed_generator_yamarket'</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $path_oc_version </span><span class="pun">=</span><span class="pln"> </span><span class="str">'extension/feed'</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> $cfiles </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
            </span><span class="str">'offers_cache'</span><span class="pun">=&gt;</span><span class="str">'multi_yml_offers_'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'yml_parts_cache'</span><span class="pun">=&gt;</span><span class="str">'multi_yml_yml_parts_'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'fb_parts_cache'</span><span class="pun">=&gt;</span><span class="str">'multi_yml_fb_parts_'</span><span class="pun">,</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">




        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> index</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
                $error </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">                                                                                                                                                                                                                                                                                                                                                                   </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">base64_decode</span><span class="pun">(</span><span class="str">'JHRoaXMtPmNoZWNrbGljZW5zZSgpOw=='</span><span class="pun">));</span><span class="com">//OCext.com: do not delete this line | не удаляйте эту строку</span><span class="pln">
            
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_status'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Модуль выключен'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                $general_setting </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_general_setting'</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'user_key'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'user_key'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не указан лицензионный ключ. Отправьте запрос на welcome@ocext.com, в котором укажите сайт, где приобретался модуль, номер заказа и email аккаунта'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'user_email'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'user_email'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не указан лицензионный email покупателя. В настройках модуля укажите email, который отправлялся при запросе лицензинного ключа'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">file_exists</span><span class="pun">(</span><span class="pln">$_SERVER</span><span class="pun">[</span><span class="str">"DOCUMENT_ROOT"</span><span class="pun">].</span><span class="str">'/system/library/vendor/ocext/ocext_feed_generator_yamarket_license.php'</span><span class="pun">)){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Неверно лицензионный ключ. Отправьте запрос на welcome@ocext.com, в котором укажите сайт, где приобретался модуль, номер заказа и email аккаунта'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                $token_get </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                
                $filter_data_group_id </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">])){</span><span class="pln">
                    
                    $token_get </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">];</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'filter_data'</span><span class="pun">])){</span><span class="pln">
                        
                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'filter_data'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $filter_data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'path_token'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'path_token'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'path_token'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">===</span><span class="pln">$token_get</span><span class="pun">){</span><span class="pln">
                                
                                $general_setting</span><span class="pun">[</span><span class="str">'path_token_export'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $token_get</span><span class="pun">;</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">[</span><span class="str">'fb_filename_export'</span><span class="pun">])){</span><span class="pln">
                                    $general_setting</span><span class="pun">[</span><span class="str">'fb_filename_export'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'fb_filename_export'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
				
				$general_setting</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
				</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">])){</span><span class="pln">
                                    $general_setting</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                                
                                $general_setting</span><span class="pun">[</span><span class="str">'filename_export'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'filename_export'</span><span class="pun">];</span><span class="pln">
                                $general_setting</span><span class="pun">[</span><span class="str">'yml_currencies'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'yml_currencies'</span><span class="pun">];</span><span class="pln">
                                $filter_data_group_id </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'filter_data_group_id'</span><span class="pun">];</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$filter_data</span><span class="pun">[</span><span class="str">'content_language_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$filter_data</span><span class="pun">[</span><span class="str">'content_language_id'</span><span class="pun">]){</span><span class="pln">
                                    
                                    $content_language_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_language_id'</span><span class="pun">);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                    
                                    $content_language_id </span><span class="pun">=</span><span class="pln"> $filter_data</span><span class="pun">[</span><span class="str">'content_language_id'</span><span class="pun">];</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'path_token_export'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'path_token_export'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не задан защитный параметр ссылки - token'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'path_token_export'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $token_get</span><span class="pun">!=</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'path_token_export'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Неверный защитный параметр ссылки - token'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'yml_currencies'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'yml_currencies'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не указана валюта - обязательный параметр'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setCurrencyAttributes</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'yml_currencies'</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не указано краткое название магазина'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">,</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'company'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'company'</span><span class="pun">]){</span><span class="pln">
                    $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не указано название компании'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'company'</span><span class="pun">,</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'company'</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_secure'</span><span class="pun">)){</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'url'</span><span class="pun">,</span><span class="pln"> HTTP_SERVER</span><span class="pun">);</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER </span><span class="pun">=</span><span class="pln"> HTTP_SERVER</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'url'</span><span class="pun">,</span><span class="pln"> HTTPS_SERVER</span><span class="pun">);</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER </span><span class="pun">=</span><span class="pln"> HTTPS_SERVER</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'platform'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'platform'</span><span class="pun">]){</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'platform'</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ayeogs_platform'</span><span class="pun">));</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'version'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'version'</span><span class="pun">]){</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setShopAttributes</span><span class="pun">(</span><span class="str">'version'</span><span class="pun">,</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'version'</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">general_setting </span><span class="pun">=</span><span class="pln"> $general_setting</span><span class="pun">;</span><span class="pln">
		
		$this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">.</span><span class="str">'/ocext_feed_generator_yamarket'</span><span class="pun">);</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">]){</span><span class="pln">
		    
		    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'promos_ids'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $promos_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			
			$promos </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getPromoGift</span><span class="pun">(</span><span class="pln">$promos_id</span><span class="pun">);</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">){</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'promos_type'</span><span class="pun">]==</span><span class="str">'gift-with-purchase'</span><span class="pun">){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'promo-gifts'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $promo_gifts_id </span><span class="pun">=&gt;</span><span class="pln"> $promo_gifts</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$promo_gifts</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $promo_gifts</span><span class="pun">[</span><span class="str">'picture'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
					
					$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'gifts'</span><span class="pun">][</span><span class="pln"> $promos_id</span><span class="pun">.</span><span class="str">'000'</span><span class="pun">.</span><span class="pln">$promo_gifts_id </span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					    </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo_gifts</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
					    </span><span class="str">'picture'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo_gifts</span><span class="pun">[</span><span class="str">'picture'</span><span class="pun">],</span><span class="pln">
					    </span><span class="str">'gift_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promos_id</span><span class="pun">.</span><span class="str">'000'</span><span class="pun">.</span><span class="pln">$promo_gifts_id</span><span class="pun">,</span><span class="pln">
					</span><span class="pun">);</span><span class="pln">
					
					$promos</span><span class="pun">[</span><span class="str">'gift_ids_selected'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">'000'</span><span class="pun">.</span><span class="pln">$promo_gifts_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $promos_id</span><span class="pun">.</span><span class="str">'000'</span><span class="pun">.</span><span class="pln">$promo_gifts_id</span><span class="pun">;</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $promos</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'filter_and_raplace_tags'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_columns'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$error</span><span class="pun">){</span><span class="pln">
                    </span><span class="com">//создаем список категорий</span><span class="pln">
                    $categories_end_offers </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getCategoriesAndOffers</span><span class="pun">(</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">,</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$categories_end_offers</span><span class="pun">){</span><span class="pln">
                        $error</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Не найдены категории и/или товары. Невозможно создать файл без категорий и/или товаров'</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">])){</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $categories_end_offers</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$error</span><span class="pun">){</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">sendErrorXML</span><span class="pun">(</span><span class="pln">$error</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                 $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">.</span><span class="str">'/ocext_feed_generator_yamarket'</span><span class="pun">);</span><span class="pln">
            
                $unlink_all_cache </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'offers_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'fb'</span><span class="pun">])){</span><span class="pln">
                    
                    $unlink_all_cache</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'fb_parts_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $unlink_all_cache</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'yml_parts_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">unlinkAllCache</span><span class="pun">(</span><span class="pln">$unlink_all_cache</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">setCategoryAttrubite</span><span class="pun">(</span><span class="pln">$category</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">],</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'parent_id'</span><span class="pun">],</span><span class="pln"> $category</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])){</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $replace_cid_to_product_on_this</span><span class="pun">){</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$replace_cid_to_product_on_this</span><span class="pun">])){</span><span class="pln">
                            
                            $parentId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$replace_cid_to_product_on_this</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">];</span><span class="pln">
                            
                            unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$replace_cid_to_product_on_this</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">]);</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">])){</span><span class="pln">
                            
                                $parentId_this </span><span class="pun">=</span><span class="pln"> $parentId</span><span class="pun">;</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">])){</span><span class="pln">
                                    
                                    $parentId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">];</span><span class="pln">
                                
                                    unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">]);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId_this</span><span class="pun">]);</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">])){</span><span class="pln">
                            
                                $parentId_this </span><span class="pun">=</span><span class="pln"> $parentId</span><span class="pun">;</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">])){</span><span class="pln">
                                    
                                    $parentId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">];</span><span class="pln">
                                
                                    unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">]);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId_this</span><span class="pun">]);</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">])){</span><span class="pln">
                            
                                $parentId_this </span><span class="pun">=</span><span class="pln"> $parentId</span><span class="pun">;</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">])){</span><span class="pln">
                                    
                                    $parentId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">];</span><span class="pln">
                                
                                    unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">]);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId_this</span><span class="pun">]);</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">])){</span><span class="pln">
                            
                                $parentId_this </span><span class="pun">=</span><span class="pln"> $parentId</span><span class="pun">;</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">])){</span><span class="pln">
                                    
                                    $parentId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">];</span><span class="pln">
                                
                                    unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId</span><span class="pun">]);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$parentId_this</span><span class="pun">]);</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                    
                    
                    </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories </span><span class="kwd">as</span><span class="pln"> $category_id_on_delete </span><span class="pun">=&gt;</span><span class="pln"> $category_on_delete</span><span class="pun">){</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$category_on_delete</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> in_array</span><span class="pun">(</span><span class="pln">$category_on_delete</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])){</span><span class="pln">
                            
                            $category_id_on_delete_this </span><span class="pun">=</span><span class="pln"> $category_on_delete</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
                            
                            unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id_on_delete</span><span class="pun">]);</span><span class="pln">
                            
                            </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories </span><span class="kwd">as</span><span class="pln"> $category_id_on_delete2 </span><span class="pun">=&gt;</span><span class="pln"> $category_on_delete2</span><span class="pun">){</span><span class="pln">

                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$category_on_delete2</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $category_on_delete2</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">]==</span><span class="pln">$category_id_on_delete_this</span><span class="pun">){</span><span class="pln">
                                    
                                    $category_id_on_delete_this3 </span><span class="pun">=</span><span class="pln"> $category_on_delete2</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
                                    
                                    unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id_on_delete2</span><span class="pun">]);</span><span class="pln">
                                    
                                    </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories </span><span class="kwd">as</span><span class="pln"> $category_id_on_delete3 </span><span class="pun">=&gt;</span><span class="pln"> $category_on_delete3</span><span class="pun">){</span><span class="pln">
                                        
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$category_on_delete2</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $category_on_delete2</span><span class="pun">[</span><span class="str">'parentId'</span><span class="pun">]==</span><span class="pln">$category_id_on_delete_this3</span><span class="pun">){</span><span class="pln">
                                            
                                            unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id_on_delete3</span><span class="pun">]);</span><span class="pln">
                                            
                                        </span><span class="pun">}</span><span class="pln">
                                        
                                    </span><span class="pun">}</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug</span><span class="pun">){</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'memory_limit '</span><span class="pun">.</span><span class="pln">ini_get</span><span class="pun">(</span><span class="str">'memory_limit'</span><span class="pun">).</span><span class="str">', max_execution_time '</span><span class="pun">.</span><span class="pln">ini_get</span><span class="pun">(</span><span class="str">'max_execution_time'</span><span class="pun">);</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'log_errors'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $log_error</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                        $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $log_error</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                $cache_status </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'yml_cache_enable'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'yml_cache_enable'</span><span class="pun">]){</span><span class="pln">
            
                    $cache_status </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$cache_status </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln">  $categories_end_offers</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]){</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $cache_file_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                        $cache_offers </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getCache</span><span class="pun">(</span><span class="pln">$cache_file_name</span><span class="pun">);</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$cache_offers</span><span class="pun">){</span><span class="pln">
                            
                            $this</span><span class="pun">-&gt;</span><span class="pln">delivery_option </span><span class="pun">+=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getShopDeliveryOptionAttrubite</span><span class="pun">(</span><span class="pln">$cache_offers</span><span class="pun">);</span><span class="pln">
                            
                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$cache_offers </span><span class="kwd">as</span><span class="pln"> $i_cache_offer </span><span class="pun">=&gt;</span><span class="pln"> $product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                                $this</span><span class="pun">-&gt;</span><span class="pln">getOfferAttrubite</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">);</span><span class="pln">

                                unset</span><span class="pun">(</span><span class="pln">$cache_offers</span><span class="pun">[</span><span class="pln">$i_cache_offer</span><span class="pun">]);</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug</span><span class="pun">){</span><span class="pln">
                                
                                $this</span><span class="pun">-&gt;</span><span class="pln">total_memory </span><span class="pun">+=</span><span class="pln"> memory_get_usage</span><span class="pun">()/</span><span class="lit">1024</span><span class="pun">/</span><span class="lit">1024</span><span class="pun">;</span><span class="pln">
                                
                                $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'memory_get_usage for '</span><span class="pun">.</span><span class="pln">$cache_file_name</span><span class="pun">.</span><span class="str">' '</span><span class="pun">.</span><span class="pln">round</span><span class="pun">((</span><span class="pln">memory_get_usage</span><span class="pun">()/</span><span class="lit">1024</span><span class="pun">/</span><span class="lit">1024</span><span class="pun">),</span><span class="lit">2</span><span class="pun">).</span><span class="str">' M'</span><span class="pun">;</span><span class="pln">
                                
                                $this</span><span class="pun">-&gt;</span><span class="pln">offers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                        $cache_status</span><span class="pun">++;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug</span><span class="pun">){</span><span class="pln">
                        
                        $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"count_skips: "</span><span class="pun">.</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">count_skips</span><span class="pun">.</span><span class="str">', count_offers: '</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">count_offers</span><span class="pun">;</span><span class="pln">
                        
                        $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"total memory usage: "</span><span class="pun">.</span><span class="pln">  round</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">total_memory</span><span class="pun">,</span><span class="lit">2</span><span class="pun">).</span><span class="str">' M'</span><span class="pun">;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">delivery_option </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getShopDeliveryOptionAttrubite</span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]);</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $i_product </span><span class="pun">=&gt;</span><span class="pln"> $product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                        $this</span><span class="pun">-&gt;</span><span class="pln">getOfferAttrubite</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">);</span><span class="pln">
                        
                        unset</span><span class="pun">(</span><span class="pln">$categories_end_offers</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$i_product</span><span class="pun">]);</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">total_memory </span><span class="pun">+=</span><span class="pln"> memory_get_usage</span><span class="pun">()/</span><span class="lit">1024</span><span class="pun">/</span><span class="lit">1024</span><span class="pun">;</span><span class="pln">
                                
                    $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"count_skips: "</span><span class="pun">.</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">count_skips</span><span class="pun">.</span><span class="str">', count_offers: '</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">count_offers</span><span class="pun">;</span><span class="pln">
                        
                    $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"total memory usage: "</span><span class="pun">.</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">total_memory</span><span class="pun">,</span><span class="lit">2</span><span class="pun">).</span><span class="str">' M'</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">product_categories</span><span class="pun">){</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories </span><span class="kwd">as</span><span class="pln"> $category_id </span><span class="pun">=&gt;</span><span class="pln"> $category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">product_categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">])){</span><span class="pln">
                            
                            unset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]);</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">]){</span><span class="pln">
		    
		    $currency </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
		    
		    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">])){</span><span class="pln">
			
			$currency </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'gifts'</span><span class="pun">])){</span><span class="pln">
			
			$gifts_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;gifts&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			
			</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'gifts'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $gifts</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			    
			    $gifts_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;gift id="'</span><span class="pun">.</span><span class="pln">$gifts</span><span class="pun">[</span><span class="str">'gift_id'</span><span class="pun">].</span><span class="str">'"&gt;'</span><span class="pun">;</span><span class="pln">

			    $gifts_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;name&gt;'</span><span class="pun">.</span><span class="pln">$gifts</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">].</span><span class="str">'&lt;/name&gt;'</span><span class="pun">;</span><span class="pln">
			    
			    $gifts_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;picture&gt;'</span><span class="pun">.</span><span class="pln">$gifts</span><span class="pun">[</span><span class="str">'picture'</span><span class="pun">].</span><span class="str">'&lt;/picture&gt;'</span><span class="pun">;</span><span class="pln">
			    
			    $gifts_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/gift&gt;'</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			
			$gifts_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/gifts&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			
			$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'gifts_result'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $gifts_result</span><span class="pun">;</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $promos_id </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			
			$promos_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'promos_type'</span><span class="pun">]==</span><span class="str">'promo-code'</span><span class="pun">){</span><span class="pln">
			    
			    $general_values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'start-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'start-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'end-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'end-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'&lt;![CDATA['</span><span class="pun">.</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]).</span><span class="str">']]&gt;'</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'url'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]),</span><span class="pln">
				</span><span class="str">'promo-code'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'promo-code'</span><span class="pun">]</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'discount_percent'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
				
				$general_values</span><span class="pun">[</span><span class="str">'discount'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				    </span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'unit'</span><span class="pun">=&gt;</span><span class="str">'percent'</span><span class="pun">),</span><span class="pln">
				    </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'discount_percent'</span><span class="pun">],</span><span class="pln">
				</span><span class="pun">);</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'discount_currency'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
				
				$general_values</span><span class="pun">[</span><span class="str">'discount'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				    </span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'unit'</span><span class="pun">=&gt;</span><span class="str">'currency'</span><span class="pun">,</span><span class="str">'currency'</span><span class="pun">=&gt;</span><span class="pln">$currency</span><span class="pun">),</span><span class="pln">
				    </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'discount_currency'</span><span class="pun">],</span><span class="pln">
				</span><span class="pun">);</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $purchase </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $offer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offer-id'</span><span class="pun">=&gt;</span><span class="pln">$offer_id</span><span class="pun">),</span><span class="pln">
					</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $categoryId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">])){</span><span class="pln">

					$categoryId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">];</span><span class="pln">

				    </span><span class="pun">}</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'category-id'</span><span class="pun">=&gt;</span><span class="pln">$categoryId</span><span class="pun">),</span><span class="pln">
					</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $general_values</span><span class="pun">[</span><span class="str">'purchase'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $purchase</span><span class="pun">;</span><span class="pln">
			    
			    $promos_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;promo id="'</span><span class="pun">.</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">'" type="promo code"&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_values </span><span class="kwd">as</span><span class="pln"> $tag_name </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				
				</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'purchase'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="kwd">as</span><span class="pln"> $value2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value2 </span><span class="kwd">as</span><span class="pln"> $tag_name2 </span><span class="pun">=&gt;</span><span class="pln"> $value3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
					
					    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					    </span><span class="pun">}</span><span class="pln">

					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
					    
					</span><span class="pun">}</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'discount'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">.</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/promo&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos_result'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln">  </span><span class="pun">=</span><span class="pln">  $promos_result</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			elseif</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'promos_type'</span><span class="pun">]==</span><span class="str">'flash-discount'</span><span class="pun">){</span><span class="pln">
			    
			    $general_values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'start-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'start-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'end-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'end-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'&lt;![CDATA['</span><span class="pun">.</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]).</span><span class="str">']]&gt;'</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'url'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">])</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    $purchase </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $offer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offer-id'</span><span class="pun">=&gt;</span><span class="pln">$offer_id</span><span class="pun">),</span><span class="pln">
					</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'&lt;discount-price currency="'</span><span class="pun">.</span><span class="pln">$currency</span><span class="pun">.</span><span class="str">'"&gt;'</span><span class="pun">.</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'discount-price'</span><span class="pun">].</span><span class="str">'&lt;/discount-price&gt;'</span><span class="pun">,</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $general_values</span><span class="pun">[</span><span class="str">'purchase'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $purchase</span><span class="pun">;</span><span class="pln">
			    
			    $promos_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;promo id="'</span><span class="pun">.</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">'" type="flash discount"&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_values </span><span class="kwd">as</span><span class="pln"> $tag_name </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				
				</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'purchase'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="kwd">as</span><span class="pln"> $value2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value2 </span><span class="kwd">as</span><span class="pln"> $tag_name2 </span><span class="pun">=&gt;</span><span class="pln"> $value3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
					
					    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					    </span><span class="pun">}</span><span class="pln">

					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
					    
					</span><span class="pun">}</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'discount'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">.</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/promo&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos_result'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln">  </span><span class="pun">=</span><span class="pln">  $promos_result</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			elseif</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'promos_type'</span><span class="pun">]==</span><span class="str">'n-plus-m'</span><span class="pun">){</span><span class="pln">
			    
			    $general_values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'start-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'start-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'end-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'end-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'&lt;![CDATA['</span><span class="pun">.</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]).</span><span class="str">']]&gt;'</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'url'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">])</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    $purchase </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
			    
			    $purchase</span><span class="pun">[][</span><span class="str">'required-quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(),</span><span class="pln">
				</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'required-quantity'</span><span class="pun">],</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    $purchase</span><span class="pun">[][</span><span class="str">'free-quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(),</span><span class="pln">
				</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'free-quantity'</span><span class="pun">],</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $offer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offer-id'</span><span class="pun">=&gt;</span><span class="pln">$offer_id</span><span class="pun">),</span><span class="pln">
					</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $categoryId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">])){</span><span class="pln">

					$categoryId </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">];</span><span class="pln">

				    </span><span class="pun">}</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'category-id'</span><span class="pun">=&gt;</span><span class="pln">$categoryId</span><span class="pun">),</span><span class="pln">
					</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $general_values</span><span class="pun">[</span><span class="str">'purchase'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $purchase</span><span class="pun">;</span><span class="pln">
			    
			    $promos_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;promo id="'</span><span class="pun">.</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">'" type="n plus m"&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_values </span><span class="kwd">as</span><span class="pln"> $tag_name </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				
				</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'purchase'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="kwd">as</span><span class="pln"> $value2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value2 </span><span class="kwd">as</span><span class="pln"> $tag_name2 </span><span class="pun">=&gt;</span><span class="pln"> $value3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
					
					    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					    </span><span class="pun">}</span><span class="pln">

					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
					    
					</span><span class="pun">}</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/purchase&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'discount'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">.</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/promo&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos_result'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln">  </span><span class="pun">=</span><span class="pln">  $promos_result</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			elseif</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'promos_type'</span><span class="pun">]==</span><span class="str">'gift-with-purchase'</span><span class="pun">){</span><span class="pln">
			    
			    $general_values </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'start-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'start-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'end-date'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'end-date'</span><span class="pun">],</span><span class="pln">
				</span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'&lt;![CDATA['</span><span class="pun">.</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]).</span><span class="str">']]&gt;'</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'url'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">])</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    </span><span class="com">//product_as_gift_ids_selected </span><span class="pln">
			    $purchase </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
			    
			    $purchase</span><span class="pun">[][</span><span class="str">'required-quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(),</span><span class="pln">
				</span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $promo</span><span class="pun">[</span><span class="str">'required-quantity-present'</span><span class="pun">],</span><span class="pln">
			    </span><span class="pun">);</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $offer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $purchase</span><span class="pun">[][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offer-id'</span><span class="pun">=&gt;</span><span class="pln">$offer_id</span><span class="pun">),</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $promo_gifts </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'gift_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'gift_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $gift_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $promo_gifts</span><span class="pun">[][</span><span class="str">'promo-gift'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'gift-id'</span><span class="pun">=&gt;</span><span class="pln">$gift_id</span><span class="pun">),</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_as_gift_ids_selected'</span><span class="pun">])){</span><span class="pln">
				
				</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promo</span><span class="pun">[</span><span class="str">'product_as_gift_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $offer_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				    
				    $promo_gifts</span><span class="pun">[][</span><span class="str">'promo-gift'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
					</span><span class="str">'attributes'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'offer-id'</span><span class="pun">=&gt;</span><span class="pln">$offer_id</span><span class="pun">),</span><span class="pln">
				    </span><span class="pun">);</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $general_values</span><span class="pun">[</span><span class="str">'purchase'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $purchase</span><span class="pun">;</span><span class="pln">
			    
			    $general_values</span><span class="pun">[</span><span class="str">'promo-gifts'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $promo_gifts</span><span class="pun">;</span><span class="pln">
			    
			    $promos_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;promo id="'</span><span class="pun">.</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">'" type="gift with purchase"&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$general_values </span><span class="kwd">as</span><span class="pln"> $tag_name </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
				
				</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tag_name</span><span class="pun">==</span><span class="str">'purchase'</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $tag_name</span><span class="pun">==</span><span class="str">'promo-gifts'</span><span class="pun">){</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="kwd">as</span><span class="pln"> $value2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value2 </span><span class="kwd">as</span><span class="pln"> $tag_name2 </span><span class="pun">=&gt;</span><span class="pln"> $value3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					
					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">' '</span><span class="pun">;</span><span class="pln">
					
					    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attr_name </span><span class="pun">=&gt;</span><span class="pln"> $attr_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
						$promos_result </span><span class="pun">.=</span><span class="pln"> $attr_name </span><span class="pun">.</span><span class="str">'="'</span><span class="pun">.</span><span class="pln">$attr_value</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">
					    </span><span class="pun">}</span><span class="pln">

					    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$value3</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">].</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name2</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
					    
					</span><span class="pun">}</span><span class="pln">
					
				    </span><span class="pun">}</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
				    
				    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $value</span><span class="pun">.</span><span class="str">'&lt;/'</span><span class="pun">.</span><span class="pln">$tag_name</span><span class="pun">.</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'/&gt;'</span><span class="pun">).</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
				    
				</span><span class="pun">}</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">
			    
			    $promos_result </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&lt;/promo&gt;'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">;</span><span class="pln">
			    
			    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos_result'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln">  </span><span class="pun">=</span><span class="pln">  $promos_result</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'status_validation'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">parse_yml</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'status_validation'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">parse_yml</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">setting_yml</span><span class="pun">[</span><span class="str">'status_validation'</span><span class="pun">]]){</span><span class="pln">
                    $yml </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getYml</span><span class="pun">();</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$yml</span><span class="pun">){</span><span class="pln">
                        $this</span><span class="pun">-&gt;</span><span class="pln">response</span><span class="pun">-&gt;</span><span class="pln">addHeader</span><span class="pun">(</span><span class="str">'Content-Type: application/xml'</span><span class="pun">);</span><span class="pln">
                        $this</span><span class="pun">-&gt;</span><span class="pln">response</span><span class="pun">-&gt;</span><span class="pln">setOutput</span><span class="pun">(</span><span class="pln">$yml</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                    $unlink_all_cache </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'offers_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">);</span><span class="pln">
                
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'fb'</span><span class="pun">])){</span><span class="pln">

                        $unlink_all_cache</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'fb_parts_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                        $unlink_all_cache</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'yml_parts_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">

                    $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">unlinkAllCache</span><span class="pun">(</span><span class="pln">$unlink_all_cache</span><span class="pun">);</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">sendErrorXML</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">);</span><span class="pln">
		    
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setLogErrors</span><span class="pun">(</span><span class="pln">$message</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug</span><span class="pun">){</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $message</span><span class="pun">;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getCache</span><span class="pun">(</span><span class="pln">$filename</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $cache_offers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">file_exists</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">)){</span><span class="pln">
                
                $cache_offers </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">file_get_contents</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">),</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$cache_offers </span><span class="kwd">or</span><span class="pln"> is_null</span><span class="pun">(</span><span class="pln">$cache_offers</span><span class="pun">))</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">debug </span><span class="pun">){</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"parsing cache error to file "</span><span class="pun">.</span><span class="pln">  DIR_CACHE</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                unlink</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">debug</span><span class="pun">){</span><span class="pln">
                        
                    $this</span><span class="pun">-&gt;</span><span class="pln">log_errors</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"no cache file "</span><span class="pun">.</span><span class="pln">  DIR_CACHE</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">return</span><span class="pln"> $cache_offers</span><span class="pun">;</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getShopDeliveryOptionAttrubite</span><span class="pun">(</span><span class="pln">$products</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$products</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$products </span><span class="kwd">as</span><span class="pln"> $product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		    
		    $product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
		    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			
			$product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">]];</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">][</span><span class="str">'delivery-options'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                        
                        $weight </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                        $stock_status_id </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                        $price </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                        
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $weight </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$weight</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $stock_status_id </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])){</span><span class="pln">
                            $price </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        
                        $delivery_options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getDeliveryOption</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">],</span><span class="pln">$price</span><span class="pun">,</span><span class="pln">$weight</span><span class="pun">,</span><span class="pln">$stock_status_id</span><span class="pun">);</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">){</span><span class="pln">
                            $data</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $delivery_options</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $data</span><span class="pun">;</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setProductCategories</span><span class="pun">(</span><span class="pln">$category_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">])){</span><span class="pln">
                $this</span><span class="pun">-&gt;</span><span class="pln">product_categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category_id</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">])){</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">setProductCategories</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">]);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getOfferAttrubite</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            $template_setting </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            $skip_this_offer </span><span class="pun">=</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
	    
	    $product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

		$product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'settings_id'</span><span class="pun">]];</span><span class="pln">

	    </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">]){</span><span class="pln">
                $template_setting </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'setting'</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">];</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id_by_option_id'</span><span class="pun">]){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id_by_option_id'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'custom_offer_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'custom_offer_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                
                $custom_offer_id </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'custom_offer_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'custom_offer_id'</span><span class="pun">);</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">],</span><span class="pln"> $custom_offer_id</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'custom_offer_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'product_id'</span><span class="pun">){</span><span class="pln">

                    $data</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id_by_option_id'</span><span class="pun">];</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'product_id_from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'product_id_from'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]&lt;</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'product_id_from'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'product_id_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'product_id_to'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln">  $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]&gt;</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'product_id_to'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'disable_this_product'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'disable_this_product'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'url_whis_path'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'url_whis_path'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">url</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="str">'product/product'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'path='</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">getPathWhisCategories</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]).</span><span class="str">'&amp;product_id='</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">url</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="str">'product/product'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'product_id='</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'option_url_param'</span><span class="pun">];</span><span class="pln">
            
            </span><span class="com">//цены</span><span class="pln">
            
            $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getPrice</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                $product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getPrice</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getPrice</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">];</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln">  </span><span class="pun">){</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">];</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'price_currencies_to'</span><span class="pun">])){</span><span class="pln">
                $decimal_place </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getDecimalPlace</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'price_currencies_to'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $decimal_place </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">getDecimalPlace</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">],</span><span class="pln">$decimal_place</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">],</span><span class="pln">$decimal_place</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
                    
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">parse_yml</span><span class="pun">[</span><span class="str">'zero'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">parse_yml</span><span class="pun">[</span><span class="str">'zero'</span><span class="pun">]])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">parse_yml</span><span class="pun">[</span><span class="str">'zero'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]==</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">]&gt;</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            
            </span><span class="kwd">if</span><span class="pun">((!</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]==</span><span class="lit">0.0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'zero_price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'zero_price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                </span><span class="com">//используется для составных заголовков</span><span class="pln">
                $this</span><span class="pun">-&gt;</span><span class="pln">prices</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="com">//валюта</span><span class="pln">
            $data</span><span class="pun">[</span><span class="str">'currencyId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
            
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">]){</span><span class="pln">
                </span><span class="com">//категория market_category</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//изображения</span><span class="pln">
            $data</span><span class="pun">[</span><span class="str">'picture'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getPictureAttributes</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
            
            </span><span class="com">//если без картинок не выгружать, и картинок нет, то это предложение не делаем</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'no_pictures'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'no_pictures'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'picture'</span><span class="pun">]){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'store'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'store'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'store'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'store'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="com">//</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'pickup'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'pickup'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'pickup'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'pickup'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">])){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'delivery'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//delivery-options</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                
                $w </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                    $w </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$w</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                $ssi </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                    $ssi </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                $p </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])){</span><span class="pln">
                    $p </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                $delivery_options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getDeliveryOption</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$p</span><span class="pun">,</span><span class="pln">$w</span><span class="pun">,</span><span class="pln">$ssi</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $delivery_options</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'delivery_option_by_manufacturer'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'delivery_option_by_manufacturer'</span><span class="pun">]){</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">])){</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'delivery_option_by_manufacturer'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'delivery_option_by_manufacturer'</span><span class="pun">]);</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">((</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln">  </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                
                </span><span class="com">//название товара</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="str">'offer_name'</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
                  
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> mb_convert_case</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln"> MB_CASE_TITLE</span><span class="pun">,</span><span class="pln"> </span><span class="str">"UTF-8"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//вендор</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendor'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'vendor'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendor'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'vendor'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendorCode'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'vendorCode'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendorCode'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'vendorCode'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//если вендор модель, выход без вендора</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendor.model'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'vendor.model'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span class="pun">!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'vendor'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'vendor'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">)){</span><span class="pln">
                </span><span class="com">//return;</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'vendor.model'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset </span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'vendor.model'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'vendor.model'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'vendor.model'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//описание</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_description'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_description'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getDescriptionAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln"> $template_setting</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//manufacturer_warranty</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'manufacturer_warranty'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'manufacturer_warranty'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'manufacturer_warranty'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//country_of_origin</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'country_of_origin'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'country_of_origin'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'country_of_origin'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'country_of_origin'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//barcode</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'barcode'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'barcode'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'barcode'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'barcode'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//expiry</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'expiry'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'expiry'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'expiry'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'expiry'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//weight</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'weight'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//weight</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'dimensions'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'dimensions'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'dimensions'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'dimensions'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//age</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'unit'</span><span class="pun">]){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'value'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'age'</span><span class="pun">);</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'unit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'age'</span><span class="pun">][</span><span class="str">'unit'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//typePrefix</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'typePrefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'typePrefix'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'typePrefix'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'typePrefix'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'typePrefix'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//cpa</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'cpa'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'cpa'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'cpa'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'1'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//rec</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'rec'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'rec'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'rec'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'rec'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">','</span><span class="pun">,</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'rec'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//adult</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'adult'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'adult'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'adult'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//available</span><span class="pln">
            $stock_status_id </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">];</span><span class="pln">
            $quantity </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'quantity'</span><span class="pun">];</span><span class="pln">
            $minimum </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'minimum'</span><span class="pun">];</span><span class="pln">
            $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
            
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'available_by_quantity'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'available_by_quantity'</span><span class="pun">]){</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$quantity </span><span class="pun">||</span><span class="pln"> $quantity</span><span class="pun">&lt;</span><span class="pln">$minimum</span><span class="pun">){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$quantity </span><span class="pun">||</span><span class="pln"> $quantity</span><span class="pun">&gt;=</span><span class="pln">$minimum</span><span class="pun">){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset </span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'available_true'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'available_true'</span><span class="pun">]==</span><span class="pln">$stock_status_id</span><span class="pun">){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset </span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'available_false'</span><span class="pun">][</span><span class="pln">$stock_status_id</span><span class="pun">])){</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            
            
            
            
            </span><span class="com">//fee в селекторе</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'fee_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'fee_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'fee'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'fee_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'fee_select'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'fee_input'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'fee_input'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'fee'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'fee_input'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln">  </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                
                </span><span class="com">//модель</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="str">'model'</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_model'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_model'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">])){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> mb_convert_case</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'model'</span><span class="pun">],</span><span class="pln"> MB_CASE_TITLE</span><span class="pun">,</span><span class="pln"> </span><span class="str">"UTF-8"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'dispublic_quantity'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'dispublic_quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]==</span><span class="str">'false'</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                $skip_this_offer </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//sales_notes в селекторе</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'sales_notes_select'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select_on_available_true'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select_on_available_true'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_select_on_available_true'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="str">'sales_notes_select_on_available_true'</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_true'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_true'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_true'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_false'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_false'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'false'</span><span class="pun">){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_false'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'sales_notes_on_available_false'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">'true'</span><span class="pun">){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_note_by_rule'</span><span class="pun">])){</span><span class="pln">
                
                </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$sni</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">$sni</span><span class="pun">&lt;</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_note_by_rule'</span><span class="pun">]);</span><span class="pln">$sni</span><span class="pun">++){</span><span class="pln">
                    
                    $sales_note_by_rule_status </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getStatusByWhere</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_note_by_rule'</span><span class="pun">][</span><span class="pln">$sni</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sales_note_by_rule_status</span><span class="pun">){</span><span class="pln">
                        $data</span><span class="pun">[</span><span class="str">'sales_notes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'sales_note_by_rule'</span><span class="pun">][</span><span class="pln">$sni</span><span class="pun">][</span><span class="str">'sales_note'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            </span><span class="com">//param</span><span class="pln">
            $param_atributes </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_attributes'</span><span class="pun">]){</span><span class="pln">
                $param_atributes </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getParamAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_attributes'</span><span class="pun">],</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $param_options </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_options'</span><span class="pun">]){</span><span class="pln">
                $param_options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getParamOption</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_options'</span><span class="pun">]);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$param_options</span><span class="pun">){</span><span class="pln">
                    
                    $param_options_temp </span><span class="pun">=</span><span class="pln"> $param_options</span><span class="pun">;</span><span class="pln">
                    
                    $param_options </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$param_options_temp </span><span class="kwd">as</span><span class="pln"> $param_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $param_options</span><span class="pun">[</span><span class="pln">$param_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">].</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$param_option_value</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $param_option_value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$param_options </span><span class="pun">||</span><span class="pln"> $param_atributes</span><span class="pun">){</span><span class="pln">
                $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$param_options</span><span class="pun">,</span><span class="pln">$param_atributes</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'text_capitalize'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">])){</span><span class="pln">
                
                $param_name </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">];</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$param_name </span><span class="kwd">as</span><span class="pln"> $key_param </span><span class="pun">=&gt;</span><span class="pln"> $value_param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">][</span><span class="pln"> $key_param </span><span class="pun">][</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> mb_convert_case</span><span class="pun">(</span><span class="pln">$value_param</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln"> MB_CASE_TITLE</span><span class="pun">,</span><span class="pln"> </span><span class="str">"UTF-8"</span><span class="pun">);</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">][</span><span class="pln"> $key_param </span><span class="pun">][</span><span class="str">'value'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> mb_convert_case</span><span class="pun">(</span><span class="pln">$value_param</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">],</span><span class="pln"> MB_CASE_TITLE</span><span class="pun">,</span><span class="pln"> </span><span class="str">"UTF-8"</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value_param</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">])){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">][</span><span class="pln"> $key_param </span><span class="pun">][</span><span class="str">'unit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value_param</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">];</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            $param_to_url </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            
            </span><span class="com">//дополнительные элементы</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'count_custom_elements'</span><span class="pun">])){</span><span class="pln">
                
                $count_custom_elements </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'count_custom_elements'</span><span class="pun">];</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$count_custom_elements</span><span class="pun">){</span><span class="pln">
                    
                    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">&lt;</span><span class="pln">$count_custom_elements</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                        
                        $name_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'custom_elements_name_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">
                        
                        $field_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'custom_elements_field_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                            
                            $data</span><span class="pun">[</span><span class="str">'custom_elements'</span><span class="pun">][</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$field_element_key</span><span class="pun">);</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">&lt;</span><span class="pln">$count_custom_elements</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                        
                        $name_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'param_to_url_name_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">
                        
                        $field_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'param_to_url_value_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                            
                            $param_to_url</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">].</span><span class="str">'='</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$field_element_key</span><span class="pun">);</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$param_to_url</span><span class="pun">){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> $param_to_url</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">&lt;</span><span class="lit">5</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                        
                $name_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'bid_field_to_db_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">

                $field_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'bid_field_to_db_oper_'</span><span class="pun">.(</span><span class="pln">$i</span><span class="pun">-</span><span class="lit">1</span><span class="pun">);</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">==</span><span class="lit">0</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">

                    $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'+'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'-'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'*'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'/'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'bid'</span><span class="pun">]*</span><span class="lit">100</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'group_id'</span><span class="pun">])){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'group_id'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">&lt;</span><span class="lit">5</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                        
                $name_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'cbid_field_to_db_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">;</span><span class="pln">

                $field_element_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">'cbid_field_to_db_oper_'</span><span class="pun">.(</span><span class="pln">$i</span><span class="pun">-</span><span class="lit">1</span><span class="pun">);</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">==</span><span class="lit">0</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">

                    $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'+'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'-'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'*'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_element_key</span><span class="pun">]==</span><span class="str">'/'</span><span class="pun">){</span><span class="pln">
                        
                        $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$name_element_key</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$name_element_key</span><span class="pun">);;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> round</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'cbid'</span><span class="pun">]*</span><span class="lit">100</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'fb'</span><span class="pun">])){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'condition'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'new'</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'fb_condition'</span><span class="pun">])){</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'condition'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'fb_condition'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'main_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'main_category'</span><span class="pun">]){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'main_category'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="com">//категория</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$skip_this_offer </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'dall_categories_to_yml'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'dall_categories_to_yml'</span><span class="pun">]){</span><span class="pln">
                
                
                $this</span><span class="pun">-&gt;</span><span class="pln">setProductCategories</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]);</span><span class="pln">
                
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'category_ids'</span><span class="pun">])){</span><span class="pln">
                
                $p_category_ids </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'category_ids'</span><span class="pun">];</span><span class="pln">
                
                $replace_cid </span><span class="pun">=</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$p_category_ids </span><span class="kwd">as</span><span class="pln"> $p_category_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$p_category_id</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])){</span><span class="pln">
                        
                        $replace_cid </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$replace_cid</span><span class="pun">){</span><span class="pln">
                    
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$p_category_ids </span><span class="kwd">as</span><span class="pln"> $p_category_id_key </span><span class="pun">=&gt;</span><span class="pln"> $p_category_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$p_category_id</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])){</span><span class="pln">

                            unset</span><span class="pun">(</span><span class="pln">$p_category_ids</span><span class="pun">[</span><span class="pln">$p_category_id_key</span><span class="pun">]);</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">
                    
                    $product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'category_ids'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $p_category_ids</span><span class="pun">;</span><span class="pln">
                    
                    $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> current</span><span class="pun">(</span><span class="pln">$p_category_ids</span><span class="pun">);</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'all_product_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'all_product_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'category_ids'</span><span class="pun">])){</span><span class="pln">
                
                $main_category </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">];</span><span class="pln">
				
                $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_to_category'</span><span class="pun">][</span><span class="str">'category_ids'</span><span class="pun">];</span><span class="pln">
				
                $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">][</span><span class="pln">$main_category</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $main_category</span><span class="pun">;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">])){</span><span class="pln">
		
		$this</span><span class="pun">-&gt;</span><span class="pln">checkPromosByOfferData</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">);</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">])){</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">is_array</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">])){</span><span class="pln">
		    
		    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $categoryId </span><span class="pun">=&gt;</span><span class="pln"> $tmp</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

			</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">])){</span><span class="pln">

			    $data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">][</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$categoryId</span><span class="pun">];</span><span class="pln">

			</span><span class="pun">}</span><span class="pln">

		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
		    
		    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]])){</span><span class="pln">

			$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]];</span><span class="pln">

		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
            
            $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> </span><span class="str">'%20'</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'url'</span><span class="pun">]);</span><span class="pln"> 
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'replace_av_true'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_av_true'</span><span class="pun">]!=</span><span class="str">'true'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]==</span><span class="str">'true'</span><span class="pun">){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_av_true'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'replace_av_false'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_av_false'</span><span class="pun">]!=</span><span class="str">'false'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]==</span><span class="str">'false'</span><span class="pun">){</span><span class="pln">
                
                $data</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_av_false'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$skip_this_offer</span><span class="pun">){</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">setOffer</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">);</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">count_offers</span><span class="pun">++;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">count_skips</span><span class="pun">++;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
	
	</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> checkPromosByOfferData</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">){</span><span class="pln">
	    
	    $offer_id </span><span class="pun">=</span><span class="pln"> $offer</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
	    
	    $category_ids </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> is_array</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">])){</span><span class="pln">
		
		$category_ids </span><span class="pun">=</span><span class="pln"> $offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">];</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">])){</span><span class="pln">
		
		$category_ids </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]=&gt;</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'categoryId'</span><span class="pun">]);</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $promos_id </span><span class="pun">=&gt;</span><span class="pln"> $promos</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_ids_checked'</span><span class="pun">])){</span><span class="pln">
		    
		    $product_ids_checked </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">cleanExplode</span><span class="pun">(</span><span class="str">','</span><span class="pun">,</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_ids'</span><span class="pun">]);</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_ids_checked'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_ids_checked</span><span class="pun">;</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids_checked'</span><span class="pun">])){</span><span class="pln">
		    
		    $product_as_gift_ids_checked </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">cleanExplode</span><span class="pun">(</span><span class="str">','</span><span class="pun">,</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids'</span><span class="pun">]);</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids_checked'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_as_gift_ids_checked</span><span class="pun">;</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$offer_id</span><span class="pun">,</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_ids_checked'</span><span class="pun">])){</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">][</span><span class="pln">$offer_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $offer_id</span><span class="pun">;</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$offer_id</span><span class="pun">,</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids_checked'</span><span class="pun">])){</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'product_as_gift_ids_selected'</span><span class="pun">][</span><span class="pln">$offer_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $offer_id</span><span class="pun">;</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'category_ids_checked'</span><span class="pun">])){</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'category_ids_checked'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'category_ids'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $promos</span><span class="pun">[</span><span class="str">'category_ids'</span><span class="pun">]){</span><span class="pln">
		    
		    $promos</span><span class="pun">[</span><span class="str">'category_ids_checked'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $promos</span><span class="pun">[</span><span class="str">'category_ids'</span><span class="pun">];</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'category_ids_checked'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $category_id_checked</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		    
		    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$category_ids</span><span class="pun">[</span><span class="pln">$category_id_checked</span><span class="pun">])){</span><span class="pln">
			
			$promos</span><span class="pun">[</span><span class="str">'category_ids_selected'</span><span class="pun">][</span><span class="pln">$category_id_checked</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category_id_checked</span><span class="pun">;</span><span class="pln">
			
			$promos</span><span class="pun">[</span><span class="str">'product_ids_selected'</span><span class="pun">][</span><span class="pln">$offer_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $offer_id</span><span class="pun">;</span><span class="pln">
			
			unset</span><span class="pun">(</span><span class="pln">$promos</span><span class="pun">[</span><span class="str">'category_ids_checked'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
		$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">][</span><span class="pln">$promos_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $promos</span><span class="pun">;</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getParamOption</span><span class="pun">(</span><span class="pln">$ym_options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_options </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $name </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                $value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]);</span><span class="pln">
                $unit </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]){</span><span class="pln">
                    $unit </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]){</span><span class="pln">
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$unit</span><span class="pun">){</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">  $name</span><span class="pun">,</span><span class="str">'value'</span><span class="pun">=&gt;</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">  $name</span><span class="pun">,</span><span class="str">'value'</span><span class="pun">=&gt;</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]),</span><span class="str">'unit'</span><span class="pun">=&gt;</span><span class="pln">$unit</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getParamAttribute</span><span class="pun">(</span><span class="pln">$ym_attributes</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_attributes </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]);</span><span class="pln">
                $unit </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]){</span><span class="pln">
                    $unit </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $value</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]){</span><span class="pln">
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $attribute</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                        $unit_result </span><span class="pun">=</span><span class="pln"> $unit</span><span class="pun">;</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$attribute</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $attribute</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                            
                            $unit_result </span><span class="pun">=</span><span class="pln"> $attribute</span><span class="pun">[</span><span class="str">'unit'</span><span class="pun">];</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'attribute_sintaxis'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'attribute_sintaxis'</span><span class="pun">]){</span><span class="pln">
                    
                            $name_attribute </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                            $value_attribute </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">]);</span><span class="pln">

                        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                            $name_attribute </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                            $value_attribute </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">].</span><span class="str">' '</span><span class="pun">.</span><span class="pln">$attribute</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">]);</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">
                        
                        
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$unit_result</span><span class="pun">){</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">  $name_attribute</span><span class="pun">,</span><span class="str">'value'</span><span class="pun">=&gt;</span><span class="pln">  $value_attribute</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">  $name_attribute</span><span class="pun">,</span><span class="str">'value'</span><span class="pun">=&gt;</span><span class="pln">  $value_attribute</span><span class="pun">,</span><span class="str">'unit'</span><span class="pun">=&gt;</span><span class="pln">$unit_result</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$composite_types</span><span class="pun">,</span><span class="pln">$field_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $result </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$composite_types</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'attribute_id'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="pln">$composite_types</span><span class="pun">])){</span><span class="pln">
                        $attributes_parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'___'</span><span class="pun">,</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="pln">$composite_types</span><span class="pun">]);</span><span class="pln">
                        $attribute_group_id </span><span class="pun">=</span><span class="pln"> $attributes_parts</span><span class="pun">[</span><span class="lit">0</span><span class="pun">];</span><span class="pln">
                        $attribute_id </span><span class="pun">=</span><span class="pln"> $attributes_parts</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_attributes'</span><span class="pun">]){</span><span class="pln">
                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $group_attributes</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$group_attributes</span><span class="pun">[</span><span class="str">'attribute_group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $attribute_group_id </span><span class="pun">&amp;&amp;</span><span class="pln"> $group_attributes</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]){</span><span class="pln">
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$group_attributes</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attribute_group_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$attribute_group_value</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">]==</span><span class="pln">$attribute_id</span><span class="pun">){</span><span class="pln">
                                            $result </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute_group_value</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">]));</span><span class="pln">
                                        </span><span class="pun">}</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">

                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'option_id'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="pln">$composite_types</span><span class="pun">])){</span><span class="pln">
                        $option_id </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="pln">$composite_types</span><span class="pun">];</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_options'</span><span class="pun">]){</span><span class="pln">
                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $option_id</span><span class="pun">){</span><span class="pln">

                                    $name_option </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                                    $name_option_vields </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        $name_option_vields</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">
                                    $result </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> $name_option_vields</span><span class="pun">);</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'manufacturer_id'</span><span class="pun">:</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'price'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prices</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]])){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prices</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'weight'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">weight</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight_class_id'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'length_width_height'</span><span class="pun">:</span><span class="pln">
                    $length_width_height </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                        $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                        $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                        $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$length_width_height</span><span class="pun">){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $length_width_height</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'category_id'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'name'</span><span class="pun">])){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'text_field'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'text_field'</span><span class="pun">])){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'text_field'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'keywords'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'tag'</span><span class="pun">])){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">', '</span><span class="pun">,</span><span class="str">','</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'tag'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'description_whis_html'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;![CDATA['</span><span class="pun">.</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]).</span><span class="str">']]&gt;'</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'date_add'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'date_added'</span><span class="pun">]){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'date_added'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'date_mod'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'date_modified'</span><span class="pun">]){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'date_modified'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                    
                    
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'product_meta_description'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_description'</span><span class="pun">])){</span><span class="pln">
                            $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'meta_description'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'product_meta_title'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">])){</span><span class="pln">
                            $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'product_meta_keyword'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_keyword'</span><span class="pun">])){</span><span class="pln">
                            $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'meta_keyword'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln"> 
                    
                </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite_types</span><span class="pun">])){</span><span class="pln">
                    $product</span><span class="pun">[</span><span class="pln">$composite_types</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite_types</span><span class="pun">]);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite_types</span><span class="pun">]){</span><span class="pln">
                        $result </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$composite_types</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getDescriptionAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">){</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_description'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_description'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">]){</span><span class="pln">
                $description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $description</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                $key </span><span class="pun">=</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_description'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">];</span><span class="pln">
                
                </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$key</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'option_id'</span><span class="pun">:</span><span class="pln">
                    $description </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                    $option </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getParamOption</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_options'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $description </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> $value</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'attribute_id'</span><span class="pun">:</span><span class="pln">
                    $description </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                    $attributes </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getParamAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'ym_attributes'</span><span class="pun">]);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$attributes</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$attributes </span><span class="kwd">as</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $description </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> $value</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'meta_title'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">]))</span><span class="pln">
                        $description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'meta_keyword'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_keyword'</span><span class="pun">]))</span><span class="pln">
                        $description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_keyword'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'meta_description'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_description'</span><span class="pun">]))</span><span class="pln">
                        $description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_description'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                    
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'description'</span><span class="pun">:</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">]))</span><span class="pln">
                        $description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'description'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                    
                    </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                        $description </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $description</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">]==</span><span class="str">'name'</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">]==</span><span class="str">'meta_title'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">])){</span><span class="pln">
                $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">]==</span><span class="str">'composite'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'composite'</span><span class="pun">]){</span><span class="pln">
                ksort</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'composite'</span><span class="pun">]);</span><span class="pln">
                $name </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'offer_name'</span><span class="pun">][</span><span class="str">'composite'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $composite</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="com">//атрибут</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'attribute_id'</span><span class="pun">){</span><span class="pln">
                        $attributes_parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'___'</span><span class="pun">,</span><span class="pln"> $composite</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">]);</span><span class="pln">
                        $attribute_group_id </span><span class="pun">=</span><span class="pln"> $attributes_parts</span><span class="pun">[</span><span class="lit">0</span><span class="pun">];</span><span class="pln">
                        $attribute_id </span><span class="pun">=</span><span class="pln"> $attributes_parts</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_attributes'</span><span class="pun">]){</span><span class="pln">
                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $group_attributes</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$group_attributes</span><span class="pun">[</span><span class="str">'attribute_group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $attribute_group_id </span><span class="pun">&amp;&amp;</span><span class="pln"> $group_attributes</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]){</span><span class="pln">
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$group_attributes</span><span class="pun">[</span><span class="str">'attribute'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $attribute_group_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$attribute_group_value</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">]==</span><span class="pln">$attribute_id</span><span class="pun">){</span><span class="pln">
                                            $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute_group_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">])).</span><span class="str">': '</span><span class="pun">.</span><span class="pln">trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$attribute_group_value</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">]));</span><span class="pln">
                                        </span><span class="pun">}</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//опция</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'option_id'</span><span class="pun">){</span><span class="pln">
                        $option_id </span><span class="pun">=</span><span class="pln"> $composite</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">];</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_options'</span><span class="pun">]){</span><span class="pln">
                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'all_options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $option_id</span><span class="pun">){</span><span class="pln">
                                    
                                    $name_option </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                                    $name_option_vields </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        $name_option_vields</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">
                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$name_option_vields</span><span class="pun">){</span><span class="pln">
                                        $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $name_option</span><span class="pun">.</span><span class="str">': '</span><span class="pun">.</span><span class="pln">  implode</span><span class="pun">(</span><span class="str">', '</span><span class="pun">,</span><span class="pln"> $name_option_vields</span><span class="pun">);</span><span class="pln">
                                    </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                        $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $name_option</span><span class="pun">;</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//цена</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'price'</span><span class="pun">){</span><span class="pln">
                        $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prices</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//вес</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'weight'</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">weight</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight_class_id'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//производитель</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'manufacturer_id'</span><span class="pun">){</span><span class="pln">
                        $product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">]){</span><span class="pln">
                            $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'manufacturer'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//категория</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'category_id'</span><span class="pun">){</span><span class="pln">
                        $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//габариты</span><span class="pln">
                    elseif</span><span class="pun">(</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'length_width_height'</span><span class="pun">){</span><span class="pln">
                        $length_width_height </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                            $length_width_height</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">length</span><span class="pun">-&gt;</span><span class="pln">format</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">],</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'length_class_id'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$length_width_height</span><span class="pun">){</span><span class="pln">
                            $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">,</span><span class="pln"> $length_width_height</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="com">//остальные</span><span class="pln">
                    elseif </span><span class="pun">(</span><span class="pln">isset </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $product</span><span class="pun">[</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]]);</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]]){</span><span class="pln">
                            $name</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$composite</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                $result </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> $name</span><span class="pun">)));</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getNameAttribute</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$field_name</span><span class="pun">){</span><span class="pln">
            
            $result </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]!=</span><span class="str">'composite'</span><span class="pun">){</span><span class="pln">
                
                $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$field_name</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln">$field_name</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]==</span><span class="str">'composite'</span><span class="pun">){</span><span class="pln">
                
                $field_type </span><span class="pun">=</span><span class="pln"> </span><span class="str">'composite'</span><span class="pun">;</span><span class="pln">
                
                $count_composite_elements </span><span class="pun">=</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span><span class="pln">
                
                $result_parts </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                
                </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">&lt;</span><span class="pln">$count_composite_elements</span><span class="pun">;</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln"> $field_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$field_type</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$i </span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="pln"> $field_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$field_type</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$i </span><span class="pun">]){</span><span class="pln">
                        
                        $result_parts</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getNameAttributeForType</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="pln"> $field_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$field_type</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$i </span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">],</span><span class="pln">$field_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$field_type</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$i</span><span class="pun">);</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$result_parts</span><span class="pun">){</span><span class="pln">
                    
                    $result </span><span class="pun">=</span><span class="pln"> implode</span><span class="pun">(</span><span class="str">' '</span><span class="pun">,</span><span class="pln"> $result_parts</span><span class="pun">);</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getTemplateSettingNameComposite</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $columns_product_description </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">'SHOW COLUMNS FROM '</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="str">'product_description'</span><span class="pun">);</span><span class="pln">
            $columns_product </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">'SHOW COLUMNS FROM '</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="str">'product'</span><span class="pun">);</span><span class="pln">

            $template_setting_name_composite</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'name'</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$columns_product_description</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$columns_product_description</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $column</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$column</span><span class="pun">[</span><span class="str">'Field'</span><span class="pun">]==</span><span class="str">'meta_title'</span><span class="pun">){</span><span class="pln">
                        $template_setting_name_composite</span><span class="pun">[</span><span class="str">'meta_title'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'meta_title'</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $unset_product_fileds </span><span class="pun">=</span><span class="pln"> array_flip</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'quantity'</span><span class="pun">,</span><span class="str">'stock_status_id'</span><span class="pun">,</span><span class="str">'image'</span><span class="pun">,</span><span class="str">'shipping'</span><span class="pun">,</span><span class="str">'points'</span><span class="pun">,</span><span class="str">'tax_class_id'</span><span class="pun">,</span><span class="str">'date_available'</span><span class="pun">,</span><span class="str">'weight_class_id'</span><span class="pun">,</span><span class="str">'length_class_id'</span><span class="pun">,</span><span class="str">'subtract'</span><span class="pun">,</span><span class="str">'minimum'</span><span class="pun">,</span><span class="str">'sort_order'</span><span class="pun">,</span><span class="str">'status'</span><span class="pun">,</span><span class="str">'viewed'</span><span class="pun">,</span><span class="str">'date_added'</span><span class="pun">,</span><span class="str">'date_modified'</span><span class="pun">));</span><span class="pln">
            $product_fileds </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$columns_product</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$columns_product</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $key</span><span class="pun">=&gt;</span><span class="pln">$column</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$unset_product_fileds</span><span class="pun">[</span><span class="pln">$column</span><span class="pun">[</span><span class="str">'Field'</span><span class="pun">]])){</span><span class="pln">
                        $product_fileds</span><span class="pun">[</span><span class="pln">$column</span><span class="pun">[</span><span class="str">'Field'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $column</span><span class="pun">[</span><span class="str">'Field'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">])){</span><span class="pln">
                unset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'length'</span><span class="pun">]);</span><span class="pln">
                unset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'width'</span><span class="pun">]);</span><span class="pln">
                unset</span><span class="pun">(</span><span class="pln">$product_fileds</span><span class="pun">[</span><span class="str">'height'</span><span class="pun">]);</span><span class="pln">
                $product_fileds</span><span class="pun">[</span><span class="str">'length_width_height'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'length_width_height'</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $template_setting_name_composite </span><span class="pun">+=</span><span class="pln"> $product_fileds</span><span class="pun">;</span><span class="pln">
            $template_setting_name_composite</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'category_id'</span><span class="pun">;</span><span class="pln">
            $template_setting_name_composite</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'option_id'</span><span class="pun">;</span><span class="pln">
            $template_setting_name_composite</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'attribute_id'</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $template_setting_name_composite</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getDeliveryOption</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">,</span><span class="pln">$price</span><span class="pun">=</span><span class="str">''</span><span class="pun">,</span><span class="pln">$weight</span><span class="pun">=</span><span class="str">''</span><span class="pun">,</span><span class="pln">$stock_status_id</span><span class="pun">=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
            $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])){</span><span class="pln">
                unset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'delivery-options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $delivery_options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $delivery_options</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">]);</span><span class="pln">
                $delivery_options</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">]);</span><span class="pln">
                $delivery_options</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">]);</span><span class="pln">
                
                $skip </span><span class="pun">=</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
                </span><span class="com">//var_dump($delivery_options['price_from']);exit();</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $price</span><span class="pun">!=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                    
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$price</span><span class="pun">&gt;=</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'price_to'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $price</span><span class="pun">&lt;</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'price_from'</span><span class="pun">]){</span><span class="pln">
                        
                        $skip </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'weight_from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'weight_from'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'weight_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'weight_to'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $weight</span><span class="pun">!=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$weight</span><span class="pun">&gt;=</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'weight_to'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $weight</span><span class="pun">&lt;</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'weight_from'</span><span class="pun">]){</span><span class="pln">
                        
                        $skip </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $stock_status_id</span><span class="pun">!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'stock_status_id'</span><span class="pun">][</span><span class="pln">$stock_status_id</span><span class="pun">])){</span><span class="pln">
                    
                    $skip </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$skip </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">]!=</span><span class="str">''</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">]!=</span><span class="str">''</span><span class="pun">)){</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">]!=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                        $option</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">]!=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                        $option</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_options</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">]!=</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                        $option</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $delivery_options</span><span class="pun">[</span><span class="str">'order-before'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $option</span><span class="pun">;</span><span class="pln">
                    unset</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPrice</span><span class="pun">(</span><span class="pln">$price</span><span class="pun">,</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$tamplate_setting</span><span class="pun">){</span><span class="pln">
            
            $result_price </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">;</span><span class="pln">
            $price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">tax</span><span class="pun">-&gt;</span><span class="pln">calculate</span><span class="pun">(</span><span class="pln">$price</span><span class="pun">,</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'tax_class_id'</span><span class="pun">]);</span><span class="pln">
            $new_price </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$price</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'ymlprice'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $tamplate_setting</span><span class="pun">[</span><span class="str">'ymlprice'</span><span class="pun">]){</span><span class="pln">
                $tamplate_setting</span><span class="pun">[</span><span class="str">'ymlprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'ymlprice'</span><span class="pun">];</span><span class="pln">
                $new_price </span><span class="pun">=</span><span class="pln"> $new_price </span><span class="pun">+</span><span class="pln"> $tamplate_setting</span><span class="pun">[</span><span class="str">'ymlprice'</span><span class="pun">]/</span><span class="lit">100</span><span class="pun">*</span><span class="pln">$price</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$new_price</span><span class="pun">==</span><span class="lit">0.0</span><span class="pun">){</span><span class="pln">
                $result_price </span><span class="pun">=</span><span class="pln">  $price</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $result_price </span><span class="pun">=</span><span class="pln"> $new_price</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_from'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_from'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_to'</span><span class="pun">]){</span><span class="pln">
                
                $result_price </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">currency</span><span class="pun">-&gt;</span><span class="pln">convert</span><span class="pun">(</span><span class="pln">$result_price</span><span class="pun">,</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_from'</span><span class="pun">],</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'price_currencies_to'</span><span class="pun">]);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">return</span><span class="pln"> $result_price</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPictureAttributes</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">,</span><span class="pln">$tamplate_setting</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'count_pictures'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'count_pictures'</span><span class="pun">]){</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'count_pictures'</span><span class="pun">])){</span><span class="pln">
                $count_pictures </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'count_pictures'</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $count_pictures </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $pictures_sizes </span><span class="pun">=</span><span class="pln"> </span><span class="lit">500</span><span class="pun">;</span><span class="pln">
            $default_scale </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            $no_cache </span><span class="pun">=</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'pictures_sizes'</span><span class="pun">])){</span><span class="pln">
                $tamplate_setting</span><span class="pun">[</span><span class="str">'pictures_sizes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'pictures_sizes'</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'pictures_sizes'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                    $pictures_sizes </span><span class="pun">=</span><span class="pln"> $tamplate_setting</span><span class="pun">[</span><span class="str">'pictures_sizes'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'rule_picture'</span><span class="pun">])){</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'rule_picture'</span><span class="pun">]==</span><span class="str">'by_w_side'</span><span class="pun">){</span><span class="pln">
                    $default_scale </span><span class="pun">=</span><span class="pln"> </span><span class="str">'w'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                elseif</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'rule_picture'</span><span class="pun">]==</span><span class="str">'by_h_side'</span><span class="pun">){</span><span class="pln">
                    $default_scale </span><span class="pun">=</span><span class="pln"> </span><span class="str">'h'</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                elseif</span><span class="pun">(</span><span class="pln">$tamplate_setting</span><span class="pun">[</span><span class="str">'rule_picture'</span><span class="pun">]==</span><span class="str">'no_cache'</span><span class="pun">){</span><span class="pln">
                    $no_cache </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]!=</span><span class="str">'no_image.jpg'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]!=</span><span class="str">'no_image.png'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]!=</span><span class="str">'no-image.jpg'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]!=</span><span class="str">'no-image.png'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> file_exists</span><span class="pun">(</span><span class="pln">DIR_IMAGE</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="str">'tool/image'</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$no_cache</span><span class="pun">){</span><span class="pln">
                    $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER</span><span class="pun">.</span><span class="str">'image/'</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">resizeImage</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">],</span><span class="pln">$pictures_sizes</span><span class="pun">,</span><span class="pln">$pictures_sizes</span><span class="pun">,</span><span class="pln">$default_scale</span><span class="pun">,</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">]){</span><span class="pln">
                    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">$i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;(</span><span class="pln">$i</span><span class="pun">&lt;(</span><span class="pln">$count_pictures</span><span class="pun">-</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">]));</span><span class="pln">$i</span><span class="pun">++){</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$no_cache </span><span class="pun">&amp;&amp;</span><span class="pln"> file_exists</span><span class="pun">(</span><span class="pln">DIR_IMAGE</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">])){</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER</span><span class="pun">.</span><span class="str">'image/'</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">];</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">]!=</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> file_exists</span><span class="pun">(</span><span class="pln">DIR_IMAGE</span><span class="pun">.</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">])){</span><span class="pln">
                            </span><span class="com">//$result[] = $this-&gt;model_tool_image-&gt;resize($product['images'][$i]['image'], $pictures_sizes, $pictures_sizes);</span><span class="pln">
                            $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">resizeImage</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'images'</span><span class="pun">][</span><span class="pln">$i</span><span class="pun">][</span><span class="str">'image'</span><span class="pun">],</span><span class="pln">$pictures_sizes</span><span class="pun">,</span><span class="pln">$pictures_sizes</span><span class="pun">,</span><span class="pln">$default_scale</span><span class="pun">,</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">HTTP_SERVER</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> resizeImage</span><span class="pun">(</span><span class="pln">$file</span><span class="pun">,</span><span class="pln">$w</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">,</span><span class="pln">$d</span><span class="pun">,</span><span class="pln">$HTTP_SERVER</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $image </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">resizeImage</span><span class="pun">(</span><span class="pln">$file</span><span class="pun">,</span><span class="pln">$w</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">,</span><span class="pln">$d</span><span class="pun">,</span><span class="pln">  $HTTP_SERVER</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">return</span><span class="pln"> $image</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getCategoriesAndOffers</span><span class="pun">(</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">,</span><span class="pln">$setting_yml</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $ym_categories </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">.</span><span class="str">'/ocext_feed_generator_yamarket'</span><span class="pun">);</span><span class="pln">
            
            $all_yml_export_ocext_ym_filter_data_categories </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_category'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">);</span><span class="pln">
            
	    </span><span class="com">/*
	    
            foreach ($all_yml_export_ocext_ym_filter_data_categories as $c_id =&gt; $crow) {
                
                if(FALSE &amp;&amp; isset($crow['disable_parent_child_categories']) &amp;&amp; $crow['disable_parent_child_categories']){
                    
                    $this-&gt;general_setting['replace_cid_to_product_on_this'][$c_id] = $c_id;
                    
                }
                
            }
	    
	    */</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_yml_export_ocext_ym_filter_data_categories</span><span class="pun">){</span><span class="pln">
                $ym_categories </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_categories</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_categories </span><span class="kwd">as</span><span class="pln"> $category_id</span><span class="pun">=&gt;</span><span class="pln">$ym_category</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">])){</span><span class="pln">
                            unset</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$ym_categories</span><span class="pun">){</span><span class="pln">
                        $ym_categories </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_categories</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $ym_manufacturers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            $all_yml_export_ocext_ym_filter_data_manufacturers </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_manufacturers'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_yml_export_ocext_ym_filter_data_manufacturers</span><span class="pun">){</span><span class="pln">
                $ym_manufacturers </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_manufacturers</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_manufacturers </span><span class="kwd">as</span><span class="pln"> $manufacturer_id</span><span class="pun">=&gt;</span><span class="pln">$ym_manufacturer</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_manufacturer</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">])){</span><span class="pln">
                            unset</span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">[</span><span class="pln">$manufacturer_id</span><span class="pun">]);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$ym_manufacturers</span><span class="pun">){</span><span class="pln">
                        $ym_manufacturers </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_manufacturers</span><span class="pun">;</span><span class="pln">
                        $ym_manufacturers</span><span class="pun">[</span><span class="str">''</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">"setting_id"</span><span class="pun">=&gt;</span><span class="str">"0"</span><span class="pun">);</span><span class="pln">
                        $ym_manufacturers</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">"setting_id"</span><span class="pun">=&gt;</span><span class="str">"0"</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            
            $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">.</span><span class="str">'/ocext_feed_generator_yamarket'</span><span class="pun">);</span><span class="pln">
            $categories_and_products </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getCategoriesAndProducts</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">,</span><span class="pln">$ym_manufacturers</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">,</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $categories_and_products</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]){</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $category_info</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$category_info</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">],</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">])){</span><span class="pln">
                        
                        $category_info</span><span class="pun">[</span><span class="str">'replace_cid_to_product_on_this'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
                        
                        $categories_and_products</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category_info</span><span class="pun">;</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
	    
	    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'mapping_market_place_categories'</span><span class="pun">])){</span><span class="pln">
		
		</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'mapping_market_place_categories'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $mapping_market_place_category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		    
		    $categories_and_products</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $mapping_market_place_category</span><span class="pun">;</span><span class="pln">
		    
		    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'mapping_market_place_categories_replace'</span><span class="pun">][</span><span class="pln">$mapping_market_place_category</span><span class="pun">[</span><span class="str">'site_category_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $mapping_market_place_category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">];</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	    $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">])){</span><span class="pln">
		
		$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $categories_and_products</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">];</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting_yml</span><span class="pun">[</span><span class="str">'products'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting_yml</span><span class="pun">[</span><span class="str">'catalog'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="pln">$setting_yml</span><span class="pun">[</span><span class="str">'products'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$categories_and_products</span><span class="pun">[</span><span class="pln">$setting_yml</span><span class="pun">[</span><span class="str">'catalog'</span><span class="pun">]]){</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $categories_and_products</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> prepareField</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">,</span><span class="pln">$description</span><span class="pun">=</span><span class="pln">FALSE</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">is_string</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$description</span><span class="pun">){</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> strip_tags</span><span class="pun">(</span><span class="pln">htmlspecialchars_decode</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">));</span><span class="pln">
                $from </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'"'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'\''</span><span class="pun">,</span><span class="str">'`'</span><span class="pun">,</span><span class="str">'&amp;acute;'</span><span class="pun">,</span><span class="str">'™'</span><span class="pun">,</span><span class="str">'©'</span><span class="pun">);</span><span class="pln">
                $to </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'&amp;quot;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;lt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;apos;'</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="pln">$from</span><span class="pun">,</span><span class="pln"> $to</span><span class="pun">,</span><span class="pln"> $field</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">is_string</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $description</span><span class="pun">){</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> htmlspecialchars_decode</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">);</span><span class="pln">
                $from </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'&lt;br&gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&lt;/br&gt;'</span><span class="pun">,</span><span class="str">'&lt;br /&gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&lt;hr&gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'\n'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'\r'</span><span class="pun">,</span><span class="str">'&amp;nbsp;'</span><span class="pun">);</span><span class="pln">
                $to </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">eol</span><span class="pun">.</span><span class="str">' '</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="pln">$from</span><span class="pun">,</span><span class="pln"> $to</span><span class="pun">,</span><span class="pln"> $field</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> strip_tags</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">);</span><span class="pln">
                $from </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'"'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&lt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'\''</span><span class="pun">,</span><span class="str">'`'</span><span class="pun">,</span><span class="str">'&amp;acute;'</span><span class="pun">,</span><span class="str">'™'</span><span class="pun">,</span><span class="str">'©'</span><span class="pun">);</span><span class="pln">
                $to </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'&amp;quot;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;amp;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;gt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;lt;'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'&amp;apos;'</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="str">''</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="pln">$from</span><span class="pun">,</span><span class="pln"> $to</span><span class="pun">,</span><span class="pln"> $field</span><span class="pun">);</span><span class="pln">
                $field </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $field</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setShopAttributes</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $attributes </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'company'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'url'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'platform'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'version'</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> $attributes</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">shop</span><span class="pun">[</span><span class="pln">$name</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setCurrencyAttributes</span><span class="pun">(</span><span class="pln">$currency</span><span class="pun">,</span><span class="pln"> $rate </span><span class="pun">=</span><span class="pln"> </span><span class="str">'CBRF'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$currency</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[</span><span class="lit">0</span><span class="pun">])){</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                        </span><span class="str">'id'</span><span class="pun">=&gt;</span><span class="pln">$currency</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">'rate'</span><span class="pun">=&gt;</span><span class="lit">1</span><span class="pln">
                    </span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">currencies</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                        </span><span class="str">'id'</span><span class="pun">=&gt;</span><span class="pln">$currency</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">'rate'</span><span class="pun">=&gt;</span><span class="pln">$rate
                    </span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setCategoryAttrubite</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> $category_id</span><span class="pun">,</span><span class="pln"> $parent_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> $category</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $name </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$category_id </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$parent_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                        </span><span class="str">'id'</span><span class="pun">=&gt;</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">'parentId'</span><span class="pun">=&gt;</span><span class="pln">$parent_id</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                    </span><span class="str">'id'</span><span class="pun">=&gt;</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln">
                    </span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">][</span><span class="str">'add_ordering_to_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">][</span><span class="str">'add_ordering_to_category'</span><span class="pun">]){</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'attributes'</span><span class="pun">][</span><span class="str">'ordering'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$category</span><span class="pun">[</span><span class="str">'sort_order'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">][</span><span class="str">'add_url_to_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">][</span><span class="str">'add_url_to_category'</span><span class="pun">]){</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'attributes'</span><span class="pun">][</span><span class="str">'url'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">url</span><span class="pun">-&gt;</span><span class="pln">link</span><span class="pun">(</span><span class="str">'product/category'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'category_id='</span><span class="pun">.</span><span class="pln">$category_id</span><span class="pun">));</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPathWhisCategories</span><span class="pun">(</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln">$old_path </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$old_path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $new_path </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $new_path </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'id'</span><span class="pun">].</span><span class="str">'_'</span><span class="pln"> </span><span class="pun">.</span><span class="pln">$old_path</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">	
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getPathWhisCategories</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">categories</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">][</span><span class="str">'parentId'</span><span class="pun">],</span><span class="pln"> $new_path</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> $new_path</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setOffer</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln">$template_setting</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $optimization_file_feed_write </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            
            $memory_limit </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'optimization_file_feed_write'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'optimization_file_feed_write'</span><span class="pun">]){</span><span class="pln">
                
                $optimization_file_feed_write </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">general_setting</span><span class="pun">[</span><span class="str">'optimization_file_feed_write'</span><span class="pun">];</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</span><span class="pln">model</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">.</span><span class="str">'/ocext_feed_generator_yamarket'</span><span class="pun">);</span><span class="pln">
            
                $memory_limit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">getMemoryLimit</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">memory_limit_on_fwrite</span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            $custom_elements </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'custom_elements'</span><span class="pun">])){</span><span class="pln">
                
                $custom_elements </span><span class="pun">=</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'custom_elements'</span><span class="pun">];</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            $offer </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            $attributes </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'type'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'available'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'bid'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'cbid'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'param'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'fee'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'group_id'</span><span class="pun">);</span><span class="pln">
            $attributes </span><span class="pun">=</span><span class="pln"> array_intersect_key</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> array_flip</span><span class="pun">(</span><span class="pln">$attributes</span><span class="pun">));</span><span class="pln">
            
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$attributes </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$key</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'id'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $offer</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'cbid'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!=</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $offer</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'bid'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value</span><span class="pun">!=</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $offer</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                    
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'fee'</span><span class="pun">:</span><span class="pln">
                    $value </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$value</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$value </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $offer</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'type'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'vendor.model'</span><span class="pun">)))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $offer</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'available'</span><span class="pun">:</span><span class="pln">
                    </span><span class="com">//$offer['available'] = (($value=='true') ? 'true' : 'false');</span><span class="pln">
                    $offer</span><span class="pun">[</span><span class="str">'available'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'param'</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">is_array</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $offer</span><span class="pun">[</span><span class="str">'param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                    
                    </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'group_id'</span><span class="pun">:</span><span class="pln">
                    $offer</span><span class="pun">[</span><span class="str">'group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$value</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                
                    </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $type </span><span class="pun">=</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $offer</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
            $finded_tags </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'url'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'price'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $data</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
                $finded_tags</span><span class="pun">[</span><span class="str">'oldprice'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            $finded_tags </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">,</span><span class="pln">array</span><span class="pun">(</span><span class="str">'currencyId'</span><span class="pun">=&gt;</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'categoryId'</span><span class="pun">=&gt;</span><span class="lit">1</span><span class="pun">,</span><span class="str">'market_category'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'picture'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'store'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'pickup'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'delivery'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="str">'delivery-options'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">));</span><span class="pln">
            
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span class="str">'vendor.model'</span><span class="pun">:</span><span class="pln">
                    $finded_tags </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="str">'vendor'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'vendorCode'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'model'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">));</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                    $finded_tags </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'vendor'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'vendorCode'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'model'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">));</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $finded_tags </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'description'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'condition'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pln"> </span><span class="pun">,</span><span class="pln"> </span><span class="str">'typePrefix'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'sales_notes'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'manufacturer_warranty'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'country_of_origin'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'adult'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'barcode'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'weight'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="str">'description'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'dimensions'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'age'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'cpa'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">'rec'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">));</span><span class="pln">
            $requiredes </span><span class="pun">=</span><span class="pln"> array_filter</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">sizeof</span><span class="pun">(</span><span class="pln">array_intersect_key</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> $requiredes</span><span class="pun">))</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> </span><span class="kwd">sizeof</span><span class="pun">(</span><span class="pln">$requiredes</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $data </span><span class="pun">=</span><span class="pln"> array_intersect_key</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> $finded_tags</span><span class="pun">);</span><span class="pln">
            $finded_tags </span><span class="pun">=</span><span class="pln"> array_intersect_key</span><span class="pun">(</span><span class="pln">$finded_tags</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">);</span><span class="pln">
            $offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$finded_tags </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">prepareField</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$custom_elements</span><span class="pun">){</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$custom_elements </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$template_setting</span><span class="pun">[</span><span class="str">'replace_tags'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_tags'</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                
                $replace_tags_parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'|'</span><span class="pun">,</span><span class="pln"> $template_setting</span><span class="pun">[</span><span class="str">'replace_tags'</span><span class="pun">]);</span><span class="pln">
                
                $replace_tags </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$replace_tags_parts </span><span class="kwd">as</span><span class="pln"> $replace_tags_part</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    
                    $replace_tags_this </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'---'</span><span class="pun">,</span><span class="pln"> $replace_tags_part</span><span class="pun">);</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$replace_tags_this</span><span class="pun">[</span><span class="lit">1</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $replace_tags_this</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $replace_tags_this</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]){</span><span class="pln">
                        
                        $replace_tags</span><span class="pun">[</span><span class="pln">$replace_tags_this</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $replace_tags_this</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$replace_tags</span><span class="pun">){</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $tag_name </span><span class="pun">=&gt;</span><span class="pln"> $tmp</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$replace_tags</span><span class="pun">[</span><span class="pln">$tag_name</span><span class="pun">])){</span><span class="pln">
                            
                            $offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">][</span><span class="pln">$replace_tags</span><span class="pun">[</span><span class="pln">$tag_name</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $tmp</span><span class="pun">;</span><span class="pln">
                            unset</span><span class="pun">(</span><span class="pln">$offer</span><span class="pun">[</span><span class="str">'data'</span><span class="pun">][</span><span class="pln">$tag_name</span><span class="pun">]);</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                        
                    </span><span class="pun">}</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$optimization_file_feed_write</span><span class="pun">){</span><span class="pln">
             
                $memory_get_usage </span><span class="pun">=</span><span class="pln"> memory_get_usage</span><span class="pun">();</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $offer</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$memory_get_usage </span><span class="pun">&gt;=</span><span class="pln"> $memory_limit</span><span class="pun">){</span><span class="pln">

                    $fname </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'offers_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">.</span><span class="pln">  count</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'cache_files'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">;</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">writeCache</span><span class="pun">(</span><span class="pln">$fname</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]);</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                    $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'cache_files'</span><span class="pun">][</span><span class="pln">$fname</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $fname</span><span class="pun">;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                
                $this</span><span class="pun">-&gt;</span><span class="pln">offers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $offer</span><span class="pun">;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
        
        
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getYml</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'cache_files'</span><span class="pun">]){</span><span class="pln">
                
                $xml_parts </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                
                $result </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]){</span><span class="pln">
                    
                    $fname </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cfiles</span><span class="pun">[</span><span class="str">'offers_cache'</span><span class="pun">].</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">.</span><span class="pln">  count</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'cache_files'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">;</span><span class="pln">
                    
                    $this</span><span class="pun">-&gt;{</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">path_on_model</span><span class="pun">}-&gt;</span><span class="pln">writeCache</span><span class="pun">(</span><span class="pln">$fname</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]);</span><span class="pln">

                    $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                    $this</span><span class="pun">-&gt;</span><span class="pln">offers_fwrire</span><span class="pun">[</span><span class="str">'cache_files'</span><span class="pun">][</span><span class="pln">$fname</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $fname</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="com">//$this-&gt;offers_fwrire['offers']</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'fb'</span><span class="pun">])){</span><span class="pln">
                    
                    $fb  </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&lt;?xml version="1.0"</span><span class="pun">?&gt;</span><span class="pln">' . $this-&gt;eol;
                    $fb .= '</span><span class="tag">&lt;feed</span><span class="pln"> </span><span class="atn">xmlns</span><span class="pun">=</span><span class="atv">"http://www.w3.org/2005/Atom"</span><span class="pln"> </span><span class="atn">xmlns:g</span><span class="pun">=</span><span class="atv">"http://base.google.com/ns/1.0"</span><span class="tag">&gt;</span><span class="pln">' . $this-&gt;eol;
                    $fb .= '</span><span class="tag">&lt;title&gt;</span><span class="pln">'.$this-&gt;shop['name'].'</span><span class="tag">&lt;/title&gt;</span><span class="pln">'. $this-&gt;eol;
                    $fb .= $this-&gt;createFBTag(array('link'=&gt;''),array('link'=&gt;array('rel'=&gt;'self','href'=&gt;$this-&gt;shop['url'])));
                    
                    $fb_parts_cache = $this-&gt;cfiles['fb_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);
                    
                    $fb = $this-&gt;replaceTags($fb);
                    
                    $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($fb_parts_cache,array(), $fb);
                    
                    $xml_parts[$fb_parts_cache] = $fb_parts_cache;
                    
                    $fb = '';
                    
                    if($this-&gt;offers_fwrire['cache_files']){
                        
                        foreach ($this-&gt;offers_fwrire['cache_files'] as $cache_file) {
                            
                            $offers = $this-&gt;getCache($cache_file);
                            
                            foreach ($offers as $num_offer=&gt;$offer) {
                                
                                if(isset($offer['id']) &amp;&amp; $offer['id'] &amp;&amp; isset($offer['available']) &amp;&amp; $offer['available'] &amp;&amp; isset($offer['data']['description']) &amp;&amp; $offer['data']['description'] &amp;&amp; isset($offer['data']['vendor']) &amp;&amp; $offer['data']['vendor'] &amp;&amp; isset($offer['data']['picture']) &amp;&amp; $offer['data']['picture'] &amp;&amp; isset($offer['data']['price']) &amp;&amp; $offer['data']['price'] &amp;&amp; isset($offer['data']['name']) &amp;&amp; $offer['data']['name']){

                                    $fb_data = array();

                                    $fb_data['id'] = $offer['id'];

                                    $fb_data['availability'] = 'out of stock';

                                    if($offer['available']=='true'){

                                        $fb_data['availability'] = 'in stock';

                                    }

                                    $fb_data['condition'] = $offer['data']['condition'];

                                    $fb_data['description'] = $offer['data']['description'];

                                    foreach ($offer['data']['picture'] as $picture) {

                                        if(!isset($fb_data['image_link'])){

                                            $fb_data['image_link'] = $picture;

                                        }else{

                                            $fb_data['additional_image_link'] = $picture;

                                        }

                                    }
                                    
                                    if(isset($offer['data']['google_product_category'])){

                                        $fb_data['google_product_category'] = $offer['data']['google_product_category'];

                                    }else{
                                        
                                        unset($fb_data['google_product_category']);
                                        
                                    }

                                    $fb_data['link'] = $offer['data']['url'];

                                    $fb_data['title'] = $offer['data']['name'];

                                    $fb_data['price'] = number_format(round($offer['data']['price'],2),2, '.', '').' '.$offer['data']['currencyId'];

                                    $fb_data['brand'] = $offer['data']['vendor'];

                                    for($i=0;$i&lt;5;$i++){

                                        if(isset($offer['data']['custom_label_'.$i])){

                                            $fb_data['custom_label_'.$i] = $offer['data']['custom_label_'.$i];

                                        }

                                    }

                                    $rows = $this-&gt;createFBTag($fb_data,array(),'g:');

                                    $fb .= $this-&gt;getFBElement(array(), 'entry', $rows);

                                }
                            }
                            
                            if($fb){
                                
                                $fb_parts_cache = $this-&gt;cfiles['fb_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);
                            
                                $fb = $this-&gt;replaceTags($fb);
                                
                                $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($fb_parts_cache,array(), $fb);

                                $xml_parts[$fb_parts_cache] = $fb_parts_cache;

                                $fb = '';
                                
                            }
                            
                        }
                        
                    }
                    
                    $fb .= '</span><span class="tag">&lt;/feed&gt;</span><span class="pln">';
                
                    $fb = $this-&gt;replaceTags($fb);
                    
                    $fb_parts_cache = $this-&gt;cfiles['fb_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);

                    $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($fb_parts_cache,array(), $fb);

                    $xml_parts[$fb_parts_cache] = $fb_parts_cache;

                    $rootPath = realpath(DIR_APPLICATION . '..'); 

                    if($xml_parts &amp;&amp; isset($this-&gt;general_setting['fb_filename_export']) &amp;&amp; $this-&gt;general_setting['fb_filename_export']){

                        $file_name_and_path = $rootPath.'/'.$this-&gt;general_setting['fb_filename_export'].'.xml';

                        if(file_exists($file_name_and_path)){
                            
                            $handle = fopen($file_name_and_path, 'w+');

                            fclose($handle);
                            
                        }

                        foreach ($xml_parts as $xml_part) {

                            if(file_exists(DIR_CACHE.$xml_part) &amp;&amp; is_writable($file_name_and_path)){

                                $cache_offers = file_get_contents(DIR_CACHE.$xml_part);

                                $handle = fopen($file_name_and_path, 'a');

                                fwrite($handle, $cache_offers . $this-&gt;eol);

                                fclose($handle);

                            }else{

                                $this-&gt;sendErrorXML(array('Файл не может быть записан. Выключите "Оптимизацию при формировании итогового YML (запись файла частями). Если is_writable = 0 (см. далее), то установите права на запись 755 для папки: '.$this-&gt;eol. dirname($file_name_and_path).$this-&gt;eol.' is_writable: '.is_writable($file_name_and_path).', cache file_exists: '.file_exists(DIR_CACHE.$xml_part)));

                            }

                        }

                    }
                    
                }else{
                    
                    $yml  = '</span><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pun">?&gt;</span><span class="pln">' . $this-&gt;eol;
                    $yml .= '</span><span class="dec">&lt;!DOCTYPE yml_catalog SYSTEM "shops.dtd"&gt;</span><span class="pln">' . $this-&gt;eol;
                    $yml .= '</span><span class="tag">&lt;yml_catalog</span><span class="pln"> </span><span class="atn">date</span><span class="pun">=</span><span class="atv">"' . date('Y-m-d H:i') . '"</span><span class="tag">&gt;</span><span class="pln">' . $this-&gt;eol;
                    $yml .= '</span><span class="tag">&lt;shop&gt;</span><span class="pln">' . $this-&gt;eol;
                    $yml .= $this-&gt;createTag($this-&gt;shop);
                    $yml .= '</span><span class="tag">&lt;currencies&gt;</span><span class="pln">' . $this-&gt;eol;
                    foreach ($this-&gt;currencies as $currency) {
                            $yml .= $this-&gt;getElement($currency, 'currency');
                    }
                    $yml .= '</span><span class="tag">&lt;/currencies&gt;</span><span class="pln">' . $this-&gt;eol;
                    $yml .= '</span><span class="tag">&lt;categories&gt;</span><span class="pln">' . $this-&gt;eol;
                    foreach ($this-&gt;categories as $category) {
                            $category_name = $category['name'];
                            
                            if(isset($category['attributes'])){
                                
                                $category = array_merge($category,$category['attributes']);
                                unset($category['attributes']);
                                
                            }
                            
                            unset($category['name'], $category['export']);
                            $yml .= $this-&gt;getElement($category, 'category', $category_name);
                    }
                    $yml .= '</span><span class="tag">&lt;/categories&gt;</span><span class="pln">' . $this-&gt;eol;
                    if($this-&gt;delivery_option){
                        $yml .= $this-&gt;createTag($this-&gt;delivery_option);
                    }
                    $yml .= '</span><span class="tag">&lt;offers&gt;</span><span class="pln">' . $this-&gt;eol;
                    
                    $yml_parts_cache = $this-&gt;cfiles['yml_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);
                    
                    $yml = $this-&gt;replaceTags($yml);
                    
                    $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($yml_parts_cache,array(), $yml);
                    
                    $xml_parts[$yml_parts_cache] = $yml_parts_cache;
                    
                    $yml = '';
                    
                    if($this-&gt;offers_fwrire['cache_files']){
                        
                        foreach ($this-&gt;offers_fwrire['cache_files'] as $cache_file) {
                            
                            $offers = $this-&gt;getCache($cache_file);
                            
                            foreach ($offers as $num_offer=&gt;$offer) {
                                
                                $rows = $this-&gt;createTag($offer['data']);
                                unset($offer['data']);
                                if (isset($offer['param'])) {
                                    $rows .= $this-&gt;createParam($offer['param']);
                                    unset($offer['param']);
                                }
                                $yml .= $this-&gt;getElement($offer, 'offer', $rows);
                                unset($this-&gt;offers[$num_offer]);
                                
                            }
                            
                            if($yml){
                                
                                $yml = $this-&gt;replaceTags($yml);
                                
                                $yml_parts_cache = $this-&gt;cfiles['yml_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);
                            
                                $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($yml_parts_cache,array(), $yml);

                                $xml_parts[$yml_parts_cache] = $yml_parts_cache;

                                $yml = '';
                                
                            }
                            
                        }
                        
                    }
                    
                    $yml .= '</span><span class="tag">&lt;/offers&gt;</span><span class="pln">' . $this-&gt;eol;
			    
		    if(isset($this-&gt;general_setting['gifts_result'])){
			
			$yml .= $this-&gt;general_setting['gifts_result'];
			
		    }
		    
		    if(isset($this-&gt;general_setting['promos_result'])){
			
			$yml .= '</span><span class="tag">&lt;promos&gt;</span><span class="pln">' . $this-&gt;eol;
			
			foreach ($this-&gt;general_setting['promos_result'] as $promos_result) {
			    
			    $yml .= $promos_result;
			    
			}
			
			$yml .= '</span><span class="tag">&lt;/promos&gt;</span><span class="pln">' . $this-&gt;eol;
			
		    }
                    
                    $yml .= '</span><span class="tag">&lt;/shop&gt;</span><span class="pln">';
                    
                    $yml .= '</span><span class="tag">&lt;/yml_catalog&gt;</span><span class="pln">';
                    
                    $yml = $this-&gt;replaceTags($yml);
                    
                    $yml_parts_cache = $this-&gt;cfiles['yml_parts_cache'].$this-&gt;request-&gt;get['token'].'-'.  count($xml_parts);
                    
                    $this-&gt;{$this-&gt;path_on_model}-&gt;writeCache($yml_parts_cache,array(), $yml);
                    
                    $xml_parts[$yml_parts_cache] = $yml_parts_cache;
                    
                    $rootPath = realpath(DIR_APPLICATION . '..'); 

                    if($xml_parts &amp;&amp; isset($this-&gt;general_setting[$this-&gt;parse_yml['export_filename']]) &amp;&amp; $this-&gt;general_setting[$this-&gt;parse_yml['export_filename']]){

                        $file_name_and_path = $rootPath.'/'.$this-&gt;general_setting['filename_export'].'.xml';
                        
                        if(file_exists($file_name_and_path)){
                            
                            $handle = fopen($file_name_and_path, 'w+');

                            fclose($handle);
                            
                        }

                        foreach ($xml_parts as $xml_part) {

                            if(file_exists(DIR_CACHE.$xml_part) &amp;&amp; is_writable($file_name_and_path)){

                                $cache_offers = file_get_contents(DIR_CACHE.$xml_part);

                                $handle = fopen($file_name_and_path, 'a');

                                fwrite($handle, $cache_offers . $this-&gt;eol);

                                fclose($handle);

                            }else{

                                $this-&gt;sendErrorXML(array('Файл не может быть записан. Выключите "Оптимизацию при формировании итогового YML (запись файла частями). Если is_writable = 0 (см. далее), то установите права на запись 755 для папки: '.$this-&gt;eol. dirname($file_name_and_path).$this-&gt;eol.' is_writable: '.is_writable($file_name_and_path).', cache file_exists: '.file_exists(DIR_CACHE.$xml_part)));

                            }

                        }

                    }
                    
                }
                
                if(file_exists($file_name_and_path) &amp;&amp; is_writable($file_name_and_path)){
                        
                    $result = file_get_contents($file_name_and_path);

                }else{
                    
                    $this-&gt;sendErrorXML(array('Файл не записан, is_writable: '.is_writable($file_name_and_path).', cache file_exists: '.file_exists(DIR_CACHE.$xml_part)));
                    
                }
                
                return $result;
                
            }elseif(isset($this-&gt;request-&gt;get['fb'])){
                
                $fb  = '</span><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pun">?&gt;</span><span class="pln">' . $this-&gt;eol;
		$fb .= '</span><span class="tag">&lt;feed</span><span class="pln"> </span><span class="atn">xmlns</span><span class="pun">=</span><span class="atv">"http://www.w3.org/2005/Atom"</span><span class="pln"> </span><span class="atn">xmlns:g</span><span class="pun">=</span><span class="atv">"http://base.google.com/ns/1.0"</span><span class="tag">&gt;</span><span class="pln">' . $this-&gt;eol;
                $fb .= '</span><span class="tag">&lt;title&gt;</span><span class="pln">'.$this-&gt;shop['name'].'</span><span class="tag">&lt;/title&gt;</span><span class="pln">'. $this-&gt;eol;
		$fb .= $this-&gt;createFBTag(array('link'=&gt;''),array('link'=&gt;array('rel'=&gt;'self','href'=&gt;$this-&gt;shop['url'])));
                
		foreach ($this-&gt;offers as $num_offer=&gt;$offer) {
                    
                        if(isset($offer['id']) &amp;&amp; $offer['id'] &amp;&amp; isset($offer['available']) &amp;&amp; $offer['available'] &amp;&amp; isset($offer['data']['description']) &amp;&amp; $offer['data']['description'] &amp;&amp; isset($offer['data']['vendor']) &amp;&amp; $offer['data']['vendor'] &amp;&amp; isset($offer['data']['picture']) &amp;&amp; $offer['data']['picture'] &amp;&amp; isset($offer['data']['price']) &amp;&amp; $offer['data']['price'] &amp;&amp; isset($offer['data']['name']) &amp;&amp; $offer['data']['name']){
                            
                            $fb_data = array();
                            
                            $fb_data['id'] = $offer['id'];
                            
                            $fb_data['availability'] = 'out of stock';
                            
                            if($offer['available']=='true'){
                                
                                $fb_data['availability'] = 'in stock';
                                
                            }
                            
                            $fb_data['condition'] = $offer['data']['condition'];
                            
                            $fb_data['description'] = $offer['data']['description'];
                            
                            foreach ($offer['data']['picture'] as $picture) {
                                
                                if(!isset($fb_data['image_link'])){
                                    
                                    $fb_data['image_link'] = $picture;
                                    
                                }else{
                                    
                                    $fb_data['additional_image_link'] = $picture;
                                    
                                }
                                
                            }
                            
                            if(isset($offer['data']['google_product_category'])){

                                $fb_data['google_product_category'] = $offer['data']['google_product_category'];

                            }else{

                                unset($fb_data['google_product_category']);

                            }
                            
                            $fb_data['link'] = $offer['data']['url'];
                            
                            $fb_data['title'] = $offer['data']['name'];
                            
                            $fb_data['price'] = number_format(round($offer['data']['price'],2),2, '.', '').' '.$offer['data']['currencyId'];
                            
                            $fb_data['brand'] = $offer['data']['vendor'];
                            
                            for($i=0;$i&lt;5;$i++){
                                
                                if(isset($offer['data']['custom_label_'.$i])){
                                    
                                    $fb_data['custom_label_'.$i] = $offer['data']['custom_label_'.$i];
                                    
                                }
                                
                            }
                            
                            $rows = $this-&gt;createFBTag($fb_data,array(),'g:');
                            
                            $fb .= $this-&gt;getFBElement(array(), 'entry', $rows);
                            
                        }
                        
                        unset($this-&gt;offers[$num_offer]);
                        
		}
		$fb .= '</span><span class="tag">&lt;/feed&gt;</span><span class="pln">';
                
                $fb = $this-&gt;replaceTags($fb);
                
                $rootPath = realpath(DIR_APPLICATION . '..'); 
                
                if(isset($this-&gt;general_setting['fb_filename_export']) &amp;&amp; $this-&gt;general_setting['fb_filename_export']){
                    
                    $file_name_and_path = $rootPath.'/'.$this-&gt;general_setting['fb_filename_export'].'.xml';
                    
                    $dirname = dirname($file_name_and_path);

                    $handle = FALSE;

                    if($file_name_and_path &amp;&amp; !file_exists($file_name_and_path)){

                        if(!is_dir($dirname)){

                            mkdir($dirname,0777,TRUE);

                        }

                        $handle = fopen($file_name_and_path, "w");

                    }elseif(file_exists($file_name_and_path)){

                        $handle = fopen($file_name_and_path, "w");

                    }

                    if($handle){
                        fwrite($handle, $fb);
                        fclose($handle);
                    }
                    
                }
		return $fb;
                
            }else{
                
                $yml  = '</span><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pun">?&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= '</span><span class="dec">&lt;!DOCTYPE yml_catalog SYSTEM "shops.dtd"&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= '</span><span class="tag">&lt;yml_catalog</span><span class="pln"> </span><span class="atn">date</span><span class="pun">=</span><span class="atv">"' . date('Y-m-d H:i') . '"</span><span class="tag">&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= '</span><span class="tag">&lt;shop&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= $this-&gt;createTag($this-&gt;shop);
		$yml .= '</span><span class="tag">&lt;currencies&gt;</span><span class="pln">' . $this-&gt;eol;
		foreach ($this-&gt;currencies as $currency) {
			$yml .= $this-&gt;getElement($currency, 'currency');
		}
		$yml .= '</span><span class="tag">&lt;/currencies&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= '</span><span class="tag">&lt;categories&gt;</span><span class="pln">' . $this-&gt;eol;
		foreach ($this-&gt;categories as $category) {
			$category_name = $category['name'];
			
			if(isset($category['attributes'])){

			    $category = array_merge($category,$category['attributes']);
			    unset($category['attributes']);

			}
			
			unset($category['name'], $category['export']);
			$yml .= $this-&gt;getElement($category, 'category', $category_name);
		}
		$yml .= '</span><span class="tag">&lt;/categories&gt;</span><span class="pln">' . $this-&gt;eol;
                if($this-&gt;delivery_option){
                    $yml .= $this-&gt;createTag($this-&gt;delivery_option);
                }
		$yml .= '</span><span class="tag">&lt;offers&gt;</span><span class="pln">' . $this-&gt;eol;
		foreach ($this-&gt;offers as $num_offer=&gt;$offer) {
			$rows = $this-&gt;createTag($offer['data']);
			unset($offer['data']);
			if (isset($offer['param'])) {
                            $rows .= $this-&gt;createParam($offer['param']);
                            unset($offer['param']);
			}
			$yml .= $this-&gt;getElement($offer, 'offer', $rows);
                        unset($this-&gt;offers[$num_offer]);
		}
		$yml .= '</span><span class="tag">&lt;/offers&gt;</span><span class="pln">' . $this-&gt;eol;
		$yml .= '</span><span class="tag">&lt;/shop&gt;</span><span class="pln">';
		$yml .= '</span><span class="tag">&lt;/yml_catalog&gt;</span><span class="pln">';
                
                $yml = $this-&gt;replaceTags($yml);
                
                //пишем файл
                $rootPath = realpath(DIR_APPLICATION . '..'); 
                
                if(isset($this-&gt;general_setting[$this-&gt;parse_yml['export_filename']]) &amp;&amp; $this-&gt;general_setting[$this-&gt;parse_yml['export_filename']]){
                    
                    
                    $file_name_and_path = $rootPath.'/'.$this-&gt;general_setting['filename_export'].'.xml';
                
                    $dirname = dirname($file_name_and_path);

                    $handle = FALSE;

                    if($file_name_and_path &amp;&amp; !file_exists($file_name_and_path)){

                        if(!is_dir($dirname)){

                            mkdir($dirname,0777,TRUE);

                        }

                        $handle = fopen($file_name_and_path, "w");

                    }elseif(file_exists($file_name_and_path)){

                        $handle = fopen($file_name_and_path, "w");

                    }

                    if($handle){
                        fwrite($handle, $yml);
                        fclose($handle);
                    }
                    
                }
		return $yml;
                
            }
	}
        
        
        public function replaceTags($string){
            
            if(isset($this-&gt;general_setting['filter_and_raplace_tags']['replace_tags']) &amp;&amp; $this-&gt;general_setting['filter_and_raplace_tags']['replace_tags']!==''){
                
                $replace_tags_parts = explode('|', $this-&gt;general_setting['filter_and_raplace_tags']['replace_tags']);
                
                $find_tags = array();
                
                $replace_tags = array();
                
                $num_replace = 0;
                
                foreach ($replace_tags_parts as $replace_tags_part) {
                    
                    $replace_tags_this = explode('---', $replace_tags_part);
                    
                    if(isset($replace_tags_this[1]) &amp;&amp; $replace_tags_this[1] &amp;&amp; $replace_tags_this[0]){
                        
                        $find_tags[] = '&lt;'.$replace_tags_this[0].' ';
                        
                        $replace_tags[] = '&lt;'.$replace_tags_this[1].' ';
                        
                        $find_tags[] = '&lt;/'.$replace_tags_this[0].'&gt;';
                        
                        $replace_tags[] = '&lt;/'.$replace_tags_this[1].'&gt;';
                        
                        $find_tags[] = '&lt;'.$replace_tags_this[0].'&gt;';
                        
                        $replace_tags[] = '&lt;'.$replace_tags_this[1].'&gt;';
                        
                    }
                    
                }
                
                if($replace_tags){
                    
                    $string = str_replace($find_tags, $replace_tags, $string);
                    
                }
                
            }
            
            return $string;
            
        }
        
        private function getFBElement($attributes, $element_name, $element_value = '') {
            $retval = '&lt;'.$element_name.' ';
            foreach ($attributes as $key =&gt; $value) {
                $retval .= $key .'="'.$value.'" ';
            }
            $retval .= $element_value ? '&gt;' .$this-&gt;eol. $element_value.'&lt;/'.$element_name.'&gt;' : '/&gt;';
            $retval .= $this-&gt;eol;
            return $retval;
	}
        
	private function createFBTag($tags,$attributes=array(),$tag_add='') {
            
            $retval = '';
            foreach ($tags as $key =&gt; $value) {
                
                $attribute = '';
                
                if(isset($attributes[$key])){
                    
                    foreach ($attributes[$key] as $attribute_name =&gt; $attribute_value) {
                        
                        $attribute .= ' '.  $attribute_name.'="'.  $attribute_value.'"';
                        
                    }
                    
                }
                
                if($tag_add){
                    $key = $tag_add.$key;
                }
                
                
                if(!is_array($value) &amp;&amp; $value){
                    $retval .= '&lt;'.$key.$attribute.'&gt;'.$value.'&lt;/'.$key .'&gt;'.$this-&gt;eol;
                }elseif (is_array($value) &amp;&amp; $key == $tag_add.'shipping') {
                    $retval .= $this-&gt;createDeliveryOptions($value); 
                }elseif (is_array($value)) {
                    foreach ($value as $key_two=&gt;$value_two) {
                        $retval .= '&lt;'.$key.$attribute.'&gt;'.$value_two.'&lt;/'.$key.'&gt;' . $this-&gt;eol;
                    }
                }elseif(!is_array($value) &amp;&amp; !$value){
                    $retval .= '&lt;'.$key.$attribute.'/&gt;'. $this-&gt;eol;
                }
            }
            return $retval;
	}
        
        public function checklicense() {
            //asju
            eval(base64_decode('JGdlbmVyYWxfc2V0dGluZyA9ICR0aGlzLT5jb25maWctPmdldCgnb2NleHRfZmVlZF9nZW5lcmF0b3JfeWFtYXJrZXRfZ2VuZXJhbF9zZXR0aW5nJyk7DQogICAgICAgICAgICBpZihpc3NldCgkZ2VuZXJhbF9zZXR0aW5nWyd1c2VyX2tleSddKSAmJiBpc3NldCgkZ2VuZXJhbF9zZXR0aW5nWyd1c2VyX2VtYWlsJ10pKXsNCiAgICAgICAgICAgICAgICAkdGhpcy0+bF9kYXRhWyd1J10gPSAkZ2VuZXJhbF9zZXR0aW5nWyd1c2VyX2tleSddOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sX2RhdGFbJ2UnXSA9ICRnZW5lcmFsX3NldHRpbmdbJ3VzZXJfZW1haWwnXTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICR0aGlzLT5sX2RhdGFbJ3UnXSA9IG1kNSh0aW1lKCkpOw0KICAgICAgICAgICAgICAgICR0aGlzLT5sX2RhdGFbJ2UnXSA9IHRpbWUoKTsNCiAgICAgICAgICAgIH0='));//OCext.com: do not delete this line | не удаляйте эту строку
            //indjds
            eval(base64_decode('aWYoZmlsZV9leGlzdHMoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXS4nL3N5c3RlbS9saWJyYXJ5L3ZlbmRvci9vY2V4dC9vY2V4dF9mZWVkX2dlbmVyYXRvcl95YW1hcmtldF9saWNlbnNlLnBocCcpKXsNCiAgICAgICAgICAgICAgICBpbmNsdWRlX29uY2UgJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXS4nL3N5c3RlbS9saWJyYXJ5L3ZlbmRvci9vY2V4dC9vY2V4dF9mZWVkX2dlbmVyYXRvcl95YW1hcmtldF9saWNlbnNlLnBocCc7DQogICAgICAgICAgICB9'));//OCext.com: do not delete this line | не удаляйте эту строку
        }

	private function getElement($attributes, $element_name, $element_value = '') {
            $retval = '&lt;'.$element_name.' ';
            foreach ($attributes as $key =&gt; $value) {
                $retval .= $key .'="'.$value.'" ';
            }
            $retval .= $element_value ? '&gt;' .$element_value.'&lt;/'.$element_name.'&gt;' : '/&gt;'.$this-&gt;eol;
            return $retval;
	}
	
	private function getXMLFromArray($value,$result) {
	    
	    $result = '';
	    
	    if(is_array($value)){
		
		foreach ($value as $tag_name =&gt; $value2) {
		    
		    foreach ($attributes as $key =&gt; $value) {
			
			$result .= $key .'="'.$value.'" ';
			
		    }
		    
		}
		
	    }
	    
	    
	    
            $retval = '&lt;'.$element_name.' ';
            foreach ($attributes as $key =&gt; $value) {
                $retval .= $key .'="'.$value.'" ';
            }
            $retval .= $element_value ? '&gt;' .$element_value.'&lt;/'.$element_name.'&gt;' : '/&gt;'.$this-&gt;eol;
            return $retval;
	}
        
	private function createTag($tags) {
            $retval = '';
            foreach ($tags as $key =&gt; $value) {
                
                if(!is_array($value) &amp;&amp; $value!==''){
                    
                    $key_parts = explode(' ', $key);
                    
                    $key_attr = '';
                    
                    if(isset($key_parts[1])){
                        
                        $key = trim($key_parts[0]);
                        
                        for($kp=1;$kp&lt;=count($key_parts);$kp++){
                            
                            if(isset($key_parts[$kp])){
                                
                                $key_parts[$kp] = trim($key_parts[$kp]);
                        
                                if($key_parts[$kp]){
                                    $key_attr .= ' '.  str_replace("&amp;quot;", '"', $key_parts[$kp]);
                                }
                                
                            }
                            
                        }
                        
                    }
                    
                    $retval .= '&lt;'.$key.$key_attr.'&gt;'.$value.'&lt;/'.$key .'&gt;'.$this-&gt;eol;
                    
                }elseif (is_array($value) &amp;&amp; $key == 'delivery-options') {
                    $retval .= $this-&gt;createDeliveryOptions($value); 
                }elseif (is_array($value) &amp;&amp; $key == 'age') {
                    $retval .= '&lt;'.$key.' unit="'.$value['unit'].'"&gt;'.$value['value'].'&lt;/'.$key.'&gt;' . $this-&gt;eol;
                }elseif (is_array($value)) {
                    foreach ($value as $key_two=&gt;$value_two) {
                        $retval .= '&lt;'.$key.'&gt;'.$value_two.'&lt;/'.$key.'&gt;' . $this-&gt;eol;
                    }
                }elseif (!is_array($value) &amp;&amp; $value==='') {
                    
                    $key_parts = explode(' ', $key);
                    
                    $key_attr = '';
                    
                    if(isset($key_parts[1])){
                        
                        $key = trim($key_parts[0]);
                        
                        for($kp=1;$kp&lt;=count($key_parts);$kp++){
                            
                            if(isset($key_parts[$kp])){
                                
                                $key_parts[$kp] = trim($key_parts[$kp]);
                        
                                if($key_parts[$kp]){
                                    $key_attr = ' '.  str_replace("&amp;quot;", '"', $key_parts[$kp]);
                                }
                                
                            }
                            
                        }
                        
                    }
                    
                    if($key_attr){
                        $retval .= '&lt;'.$key.$key_attr.'&gt;&lt;/'.$key.'&gt;'.$this-&gt;eol;
                    }
                    
                }
            }
            return $retval;
	}
        
	private function createParam($params) {
            $retval = '';
            foreach ($params as $param) {
                $retval .= '</span><span class="tag">&lt;param</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"'.$this-&gt;</span><span class="pln">prepareField($param['name']);
                if (isset($param['unit'])) {
                        $retval .= '" unit="'.$this-&gt;prepareField($param['unit']);
                }
                $retval .= '"&gt;'.$this-&gt;prepareField($param['value']) . '</span><span class="tag">&lt;/param&gt;</span><span class="pln">'.$this-&gt;eol;
            }
            return $retval;
	}
        
        private function createDeliveryOptions($delivery_options) {
            $retval = '';
            if($delivery_options){
                foreach ($delivery_options as $option) {
                    if(isset($option['cost']) &amp;&amp; isset($option['days'])){
                        $retval .= '</span><span class="tag">&lt;option</span><span class="pln"> </span><span class="atn">cost</span><span class="pun">=</span><span class="atv">"' . trim($option['cost']).'"</span><span class="pln"> </span><span class="atn">days</span><span class="pun">=</span><span class="atv">"'.trim($option['days']).'';
                        if (isset($option['order-before']) &amp;&amp; $option['order-before']) {
                                $retval .= '"</span><span class="pln"> </span><span class="atn">order-before</span><span class="pun">=</span><span class="atv">"' . trim($option['order-before']);
                                unset($option['order-before']);
                        }
                        $retval .= '"</span><span class="tag">/&gt;</span><span class="pln">'.$this-&gt;eol;
                    }
                }
            }
            if($retval){
                $retval = '</span><span class="tag">&lt;delivery-options&gt;</span><span class="pln">'.$this-&gt;eol.$retval.'</span><span class="tag">&lt;/delivery-options&gt;</span><span class="pln">'.$this-&gt;eol;
            }
            
            return $retval;
	}
        
        public function sendErrorXML($errors) {
            $yml  = '</span><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pun">?&gt;</span><span class="pln">' . $this-&gt;eol;
            $yml .= '</span><span class="tag">&lt;msgs</span><span class="pln"> </span><span class="atn">date</span><span class="pun">=</span><span class="atv">"' . date('Y-m-d H:i') . '"</span><span class="tag">&gt;</span><span class="pln">' . $this-&gt;eol;
            foreach ($errors as $error) {
                $yml .= $this-&gt;createTag(array('msg'=&gt;$error)) . $this-&gt;eol;
            }
            $yml .= '</span><span class="tag">&lt;/msgs&gt;</span><span class="pln">';
            $this-&gt;response-&gt;addHeader('Content-Type: application/xml');
            $this-&gt;response-&gt;setOutput($yml);
        }
}
</span><span class="pun">?&gt;</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	Модель:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php
</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ModelExtensionFeedOcextFeedGeneratorYaMarket</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">Model</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> __construct</span><span class="pun">(</span><span class="pln">$registry</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $this</span><span class="pun">-&gt;</span><span class="pln">registry </span><span class="pun">=</span><span class="pln"> $registry</span><span class="pun">;</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">setSettingVersion</span><span class="pun">();</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> setSettingVersion</span><span class="pun">(){</span><span class="pln">
        
        require_once</span><span class="pun">(</span><span class="pln">DIR_SYSTEM </span><span class="pun">.</span><span class="pln"> </span><span class="str">'library/vendor/ocext/multiyml_setting_version.php'</span><span class="pun">);</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">-&gt;</span><span class="kwd">set</span><span class="pun">(</span><span class="str">'setting_version'</span><span class="pun">,</span><span class="kwd">new</span><span class="pln"> multiYMLSettingVersion</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">,</span><span class="pln">  $this</span><span class="pun">-&gt;</span><span class="pln">path_oc_version</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">language</span><span class="pun">,</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">load</span><span class="pun">,</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">));</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getFilterData</span><span class="pun">(</span><span class="pln">$key</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"ocext_feed_generator_yamarket_filter_data` WHERE `key` = '"</span><span class="pun">.</span><span class="pln">$key</span><span class="pun">.</span><span class="str">"' AND filter_data_group_id = '"</span><span class="pun">.</span><span class="pln">$filter_data_group_id</span><span class="pun">.</span><span class="str">"' "</span><span class="pun">;</span><span class="pln">
        $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
        $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">){</span><span class="pln">
            $result </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'filter_data'</span><span class="pun">],</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> replaceOperator</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">){</span><span class="pln">

        $find </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'&amp;lt;'</span><span class="pun">,</span><span class="str">'≤'</span><span class="pun">,</span><span class="str">'='</span><span class="pun">,</span><span class="str">'≥'</span><span class="pun">,</span><span class="str">'&amp;gt;'</span><span class="pun">,</span><span class="str">'≠'</span><span class="pun">);</span><span class="pln">

        $replace </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'&lt;'</span><span class="pun">,</span><span class="str">'&lt;='</span><span class="pun">,</span><span class="str">'='</span><span class="pun">,</span><span class="str">'&gt;='</span><span class="pun">,</span><span class="str">'&gt;'</span><span class="pun">,</span><span class="str">'!='</span><span class="pun">);</span><span class="pln">

        $operator </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="pln">$find</span><span class="pun">,</span><span class="pln"> $replace</span><span class="pun">,</span><span class="pln"> $operator</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> $operator</span><span class="pun">;</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getStatusByWhere</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">,</span><span class="pln">$product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

        $result </span><span class="pun">=</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'product_field'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_data_where</span><span class="pun">[</span><span class="str">'operator'</span><span class="pun">]){</span><span class="pln">

            $operator </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">replaceOperator</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'operator'</span><span class="pun">]);</span><span class="pln">

            $product_field </span><span class="pun">=</span><span class="pln"> $product_data_where</span><span class="pun">[</span><span class="str">'product_field'</span><span class="pun">];</span><span class="pln">

            $value </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]);</span><span class="pln">

            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$operator </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_field</span><span class="pun">){</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'like'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> strstr</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">],</span><span class="pln"> $value</span><span class="pun">)){</span><span class="pln">

                    $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'not_like'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">strstr</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">],</span><span class="pln"> $value</span><span class="pun">)){</span><span class="pln">

                    $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'&lt;'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'&lt;='</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;=</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'='</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'&gt;='</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&gt;=</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'&gt;'</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&gt;</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'!='</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product</span><span class="pun">[</span><span class="pln">$product_field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> $value</span><span class="pun">){</span><span class="pln">

                        $result </span><span class="pun">=</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

            </span><span class="pun">}</span><span class="pln">

        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> resizeImage</span><span class="pun">(</span><span class="pln">$file</span><span class="pun">,</span><span class="pln">$w</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">,</span><span class="pln">$d</span><span class="pun">,</span><span class="pln">$HTTP_SERVER</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
        $image </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">setting_version</span><span class="pun">-&gt;</span><span class="pln">resizeImage</span><span class="pun">(</span><span class="pln">$file</span><span class="pun">,</span><span class="pln">$w</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">,</span><span class="pln">$d</span><span class="pun">,</span><span class="pln">  $HTTP_SERVER</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> $image</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getWhere</span><span class="pun">(</span><span class="pln">$product_data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

        $where </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        
        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_data </span><span class="kwd">as</span><span class="pln"> $product_data_where</span><span class="pun">){</span><span class="pln">

            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'product_field'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_data_where</span><span class="pun">[</span><span class="str">'operator'</span><span class="pun">]){</span><span class="pln">

                $operator </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">replaceOperator</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'operator'</span><span class="pun">]);</span><span class="pln">

                $product_field </span><span class="pun">=</span><span class="pln"> $product_data_where</span><span class="pun">[</span><span class="str">'product_field'</span><span class="pun">];</span><span class="pln">

                $value </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$product_data_where</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">]);</span><span class="pln">
                
                $sql_operator </span><span class="pun">=</span><span class="pln"> $product_data_where</span><span class="pun">[</span><span class="str">'logic'</span><span class="pun">];</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$operator </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_field</span><span class="pun">){</span><span class="pln">
                    
                    $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'like_right'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' LIKE  "%'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'like_left'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' LIKE  "'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'%" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'like'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' LIKE  "%'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'%" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'not_like_right'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' NOT LIKE  "%'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'not_like_left'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' NOT LIKE  "'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'%" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$operator</span><span class="pun">==</span><span class="str">'not_like'</span><span class="pun">){</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' NOT LIKE  "%'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'%" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">' p.'</span><span class="pun">.</span><span class="pln">$product_field</span><span class="pun">.</span><span class="str">' '</span><span class="pun">.</span><span class="pln">$operator</span><span class="pun">.</span><span class="str">' "'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">).</span><span class="str">'" '</span><span class="pun">;</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">

                    $where</span><span class="pun">[][</span><span class="pln">$sql_operator</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $sql</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">

        </span><span class="pun">}</span><span class="pln">
        
        $where_result </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$where</span><span class="pun">){</span><span class="pln">
            
            $count </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$where </span><span class="kwd">as</span><span class="pln"> $sql_where</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                
                $sql_operator </span><span class="pun">=</span><span class="pln"> key</span><span class="pun">(</span><span class="pln">$sql_where</span><span class="pun">);</span><span class="pln">
                
                $sql_where </span><span class="pun">=</span><span class="pln"> current</span><span class="pun">(</span><span class="pln">$sql_where</span><span class="pun">);</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$count</span><span class="pun">&lt;</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$where</span><span class="pun">)){</span><span class="pln">
                    
                    $where_result </span><span class="pun">.=</span><span class="pln"> $sql_where</span><span class="pun">.</span><span class="pln">$sql_operator</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $where_result </span><span class="pun">.=</span><span class="pln"> $sql_where</span><span class="pun">;</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
                $count</span><span class="pun">++;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $where_result</span><span class="pun">;</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">
    
    
    
    
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getSettings</span><span class="pun">(</span><span class="pln">$setting_type</span><span class="pun">=</span><span class="lit">0</span><span class="pun">,</span><span class="pln">$setting_id</span><span class="pun">=</span><span class="pln">FALSE</span><span class="pun">,</span><span class="pln">$setting_product_id</span><span class="pun">=</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln">   DB_PREFIX   </span><span class="pun">.</span><span class="pln"> </span><span class="str">'ocext_feed_generator_yamarket_setting` '</span><span class="pun">;</span><span class="pln">
        
        $where </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$setting_type</span><span class="pun">){</span><span class="pln">
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" setting_type = '"</span><span class="pun">.</span><span class="pln">$setting_type</span><span class="pun">.</span><span class="str">"' "</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="com">//$setting_id===0 - иначе придут все настройки, когда вызван новый фид, т.к. на $where[] = " setting_type = '".$setting_type."' "; много результатов</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$setting_id </span><span class="pun">||</span><span class="pln"> $setting_id</span><span class="pun">===</span><span class="lit">0</span><span class="pun">){</span><span class="pln">
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" setting_id = "</span><span class="pun">.</span><span class="pln">$setting_id</span><span class="pun">.</span><span class="str">" "</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$setting_product_id</span><span class="pun">){</span><span class="pln">
            
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" setting LIKE '%\"setting_product_id\":\""</span><span class="pun">.</span><span class="pln">$setting_product_id</span><span class="pun">.</span><span class="str">"\"%' "</span><span class="pun">;</span><span class="pln"> </span><span class="com">//"setting_product_id":"0"</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$where</span><span class="pun">){</span><span class="pln">
            $sql </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'WHERE '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' AND '</span><span class="pun">,</span><span class="pln"> $where</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getMemoryLimit</span><span class="pun">(</span><span class="pln">$level</span><span class="pun">=</span><span class="lit">0.3</span><span class="pun">){</span><span class="pln">
        
        $memory_limit </span><span class="pun">=</span><span class="pln"> ini_get</span><span class="pun">(</span><span class="str">'memory_limit'</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">strstr</span><span class="pun">(</span><span class="pln">$memory_limit</span><span class="pun">,</span><span class="pln"> </span><span class="str">'M'</span><span class="pun">)){</span><span class="pln">
			
			$memory_limit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">str_replace</span><span class="pun">(</span><span class="str">'M'</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="pln">$memory_limit</span><span class="pun">);</span><span class="pln">
            
            $memory_limit </span><span class="pun">*=</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1024</span><span class="pun">*</span><span class="lit">1024</span><span class="pun">*</span><span class="pln">$level</span><span class="pun">);</span><span class="pln"> 
            
        </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">strstr</span><span class="pun">(</span><span class="pln">$memory_limit</span><span class="pun">,</span><span class="pln"> </span><span class="str">'G'</span><span class="pun">)){</span><span class="pln">
			
			$memory_limit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">str_replace</span><span class="pun">(</span><span class="str">'G'</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="pln">$memory_limit</span><span class="pun">);</span><span class="pln">
            
            $memory_limit </span><span class="pun">*=</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1024</span><span class="pun">*</span><span class="lit">1024</span><span class="pun">*</span><span class="lit">1024</span><span class="pun">*</span><span class="pln">$level</span><span class="pun">);</span><span class="pln"> 
            
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
			
            $memory_limit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$memory_limit</span><span class="pun">;</span><span class="pln">
            
            $memory_limit </span><span class="pun">*=</span><span class="pln"> $level</span><span class="pun">;</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $memory_limit</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getProductCategories</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $mcat </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">checkColumnTable</span><span class="pun">(</span><span class="str">'product_to_category'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'main_category'</span><span class="pun">)){</span><span class="pln">
            
            $mcat </span><span class="pun">.=</span><span class="pln"> </span><span class="str">" p2c.main_category, "</span><span class="pun">;</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'main_category'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="str">'category_ids'</span><span class="pun">=&gt;</span><span class="pln">array</span><span class="pun">());</span><span class="pln">
        
        $categories </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT "</span><span class="pun">.</span><span class="pln">$mcat</span><span class="pun">.</span><span class="str">" p2c.category_id FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_to_category p2c LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category ctg ON (p2c.category_id = ctg.category_id)  WHERE p2c.product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id</span><span class="pun">.</span><span class="str">"' AND ctg.status = '1' "</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$categories</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
            
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$category</span><span class="pun">[</span><span class="str">'main_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'main_category'</span><span class="pun">]){</span><span class="pln">
                    
                    $result</span><span class="pun">[</span><span class="str">'main_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                    
                    $result</span><span class="pun">[</span><span class="str">'category_ids'</span><span class="pun">][</span><span class="pln">$category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">];</span><span class="pln">
                    
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> checkColumnTable</span><span class="pun">(</span><span class="pln">$table</span><span class="pun">,</span><span class="pln">$column</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">showTable</span><span class="pun">(</span><span class="pln">$table</span><span class="pun">,</span><span class="pln"> DB_PREFIX</span><span class="pun">)){</span><span class="pln">
            
            $check </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">" SHOW columns FROM `"</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="pln">$table</span><span class="pun">.</span><span class="str">"` WHERE `Field` = '"</span><span class="pun">.</span><span class="pln">$column</span><span class="pun">.</span><span class="str">"'  "</span><span class="pun">);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$check</span><span class="pun">-&gt;</span><span class="pln">num_rows</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">return</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">

    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getCategoriesAndProducts</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">,</span><span class="pln">$ym_manufacturers</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">,</span><span class="pln">$general_setting</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
            $cache_status </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            
            $memory_limit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getMemoryLimit</span><span class="pun">();</span><span class="pln">
            
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'yml_cache_enable'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $general_setting</span><span class="pun">[</span><span class="str">'yml_cache_enable'</span><span class="pun">]){</span><span class="pln">
            
            $cache_status </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            
            $memory_limit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getMemoryLimit</span><span class="pun">((</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'yml_cache_level'</span><span class="pun">]);</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        $cache_file_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">'yml_cache_'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">request</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">[</span><span class="str">'token'</span><span class="pun">];</span><span class="pln">
        
        $add_settings </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        
        $p2c </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        $ym_attributes </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        $all_yml_export_ocext_ym_filter_data_attributes </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_attributes'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_yml_export_ocext_ym_filter_data_attributes</span><span class="pun">){</span><span class="pln">
            $ym_attributes </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_attributes</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        $ym_options </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        $all_yml_export_ocext_ym_filter_data_options </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_options'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_yml_export_ocext_ym_filter_data_options</span><span class="pun">){</span><span class="pln">
            $ym_options </span><span class="pun">=</span><span class="pln"> $all_yml_export_ocext_ym_filter_data_options</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $delivery_option_by_manufacturer </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_delivery_option_by_manufacturer'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
	
	$mapping_market_place_categories </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_mapping_market_place_categories'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
        
	</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">){</span><span class="pln">
            $sql_cats </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_categories </span><span class="kwd">as</span><span class="pln"> $category_id </span><span class="pun">=&gt;</span><span class="pln"> $ym_category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $sql_cats</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" p2c.category_id = '"</span><span class="pun">.(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$category_id</span><span class="pun">.</span><span class="str">"' "</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sql_cats</span><span class="pun">){</span><span class="pln">
                $p2c </span><span class="pun">=</span><span class="pln"> </span><span class="str">' AND ( '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' OR '</span><span class="pun">,</span><span class="pln"> $sql_cats</span><span class="pun">).</span><span class="str">' ) '</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="com">/*$mcat = '';
        
        if($this-&gt;checkColumnTable('product_to_category', 'main_category')){
            
            $mcat .= " AND p2c.main_category = '1' ";
            
        }
        
        $sql = "SELECT p.*, pd.name, pd.*, m.name AS manufacturer, p2c.category_id, ps.price AS special_price, pds.price AS discount_special_price FROM " . DB_PREFIX . "product p JOIN " . DB_PREFIX . "product_to_category AS p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "category ctg ON (p2c.category_id = ctg.category_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_special ps ON (p.product_id = ps.product_id) AND ps.customer_group_id = '" . (int)$this-&gt;config-&gt;get('config_customer_group_id') . "' AND ps.date_start &lt; NOW() AND (ps.date_end = '0000-00-00' OR ps.date_end &gt; NOW()) LEFT JOIN " . DB_PREFIX . "product_discount pds ON (p.product_id = pds.product_id)  AND pds.customer_group_id = '" . (int)$this-&gt;config-&gt;get('config_customer_group_id') . "' AND pds.date_start &lt; NOW() AND (pds.date_end = '0000-00-00' OR pds.date_end &gt; NOW())   WHERE p2s.store_id = '" . (int)$this-&gt;config-&gt;get('config_store_id') . "' AND pd.language_id = '" . (int)$content_language_id . "' AND p.date_available &lt;= NOW() AND ctg.status = '1' AND p.status = '1' ".$mcat.$p2c." GROUP BY p.product_id";*/</span><span class="pln">
        
        $sql_columns </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        
        $columns_where </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getFilterData</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_columns'</span><span class="pun">,</span><span class="pln">$filter_data_group_id</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$columns_where</span><span class="pun">[</span><span class="str">'product'</span><span class="pun">])){</span><span class="pln">
            
            $sql_columns </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getWhere</span><span class="pun">(</span><span class="pln">$columns_where</span><span class="pun">[</span><span class="str">'product'</span><span class="pun">]);</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sql_columns</span><span class="pun">){</span><span class="pln">
                
                $sql_columns </span><span class="pun">=</span><span class="pln"> </span><span class="str">" AND ( "</span><span class="pun">.</span><span class="pln">$sql_columns</span><span class="pun">.</span><span class="str">" ) "</span><span class="pun">;</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT p.*, pd.name, pd.*, m.name AS manufacturer, p2c.category_id, ps.price AS special_price, pds.price AS discount_special_price FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product p JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_to_category AS p2c ON (p.product_id = p2c.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_description pd ON (p.product_id = pd.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_special ps ON (p.product_id = ps.product_id) AND ps.customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND ps.date_start &lt;= NOW() AND ( ps.date_end = '0000-00-00' OR ps.date_end &gt;= NOW() ) AND ps.priority in ( SELECT min(ps.priority) ) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_discount pds ON (p.product_id = pds.product_id)  AND pds.customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pds.date_start &lt; NOW() AND (pds.date_end = '0000-00-00' OR pds.date_end &gt; NOW())   WHERE p2s.store_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_store_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pd.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND p.date_available &lt;= NOW() AND p.status = '1' "</span><span class="pun">.</span><span class="pln">$sql_columns</span><span class="pun">.</span><span class="pln">$p2c</span><span class="pun">.</span><span class="str">" GROUP BY p.product_id"</span><span class="pun">;</span><span class="pln">
        $count_sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT p.status FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product p JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_to_category AS p2c ON (p.product_id = p2c.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_description pd ON (p.product_id = pd.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_special ps ON (p.product_id = ps.product_id) AND ps.customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND ps.date_start &lt;= NOW() AND ( ps.date_end = '0000-00-00' OR ps.date_end &gt;= NOW() ) AND ps.priority in ( SELECT min(ps.priority) ) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_discount pds ON (p.product_id = pds.product_id)  AND pds.customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pds.date_start &lt; NOW() AND (pds.date_end = '0000-00-00' OR pds.date_end &gt; NOW())   WHERE p2s.store_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_store_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pd.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND p.date_available &lt;= NOW() AND p.status = '1' "</span><span class="pun">.</span><span class="pln">$sql_columns</span><span class="pun">.</span><span class="pln">$p2c</span><span class="pun">.</span><span class="str">" GROUP BY p.product_id"</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_prioritet'</span><span class="pun">)){</span><span class="pln">
            $prioritet </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'ocext_feed_generator_yamarket_ym_filter_prioritet'</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
            $prioritet</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            $prioritet</span><span class="pun">[</span><span class="str">'manufacturers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $parts_select </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'optimization_feed_limit_products'</span><span class="pun">])){</span><span class="pln">
            
            $parts_select </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">setting_version</span><span class="pun">-&gt;</span><span class="pln">getPartsSelect</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">,</span><span class="pln">$count_sql</span><span class="pun">,</span><span class="pln">$general_setting</span><span class="pun">[</span><span class="str">'optimization_feed_limit_products'</span><span class="pun">],</span><span class="pln">$parts_select</span><span class="pun">);</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        $ym_categories_whis_categories </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getYmCategoriesFromDb</span><span class="pun">();</span><span class="pln">
        $result</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        $result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	$result</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	$result</span><span class="pun">[</span><span class="str">'mapping_market_place_categories'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getMappingMarketPlaceCategories</span><span class="pun">(</span><span class="pln">$mapping_market_place_categories</span><span class="pun">);</span><span class="pln">
	
        $products_filtered </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        
        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$parts_select </span><span class="kwd">as</span><span class="pln"> $sql</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
            
            $result</span><span class="pun">[</span><span class="str">'log_errors'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln">  </span><span class="str">'total offers selected to db: '</span><span class="pun">.</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">num_rows</span><span class="pun">;</span><span class="pln">

            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">

                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $i_product </span><span class="pun">=&gt;</span><span class="pln"> $product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">){</span><span class="pln">
                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_categories </span><span class="kwd">as</span><span class="pln"> $category_id </span><span class="pun">=&gt;</span><span class="pln"> $ym_category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$category_id</span><span class="pun">==</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$ym_manufacturers </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_manufacturers </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]])))){</span><span class="pln">
                                $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">;</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">]){</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'manufacturer_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'manufacturer_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">]){</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'category_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'category_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">elseif </span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_manufacturers </span><span class="kwd">as</span><span class="pln"> $manufacturer_id </span><span class="pun">=&gt;</span><span class="pln"> $ym_manufacturer</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$manufacturer_id</span><span class="pun">==</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]</span><span class="pln">  </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$ym_categories </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_categories </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]])))</span><span class="pln"> </span><span class="pun">){</span><span class="pln">

                                $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">;</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">]){</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'manufacturer_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_manufacturers</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'manufacturer_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">]){</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'category_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                    $products_filtered</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'category_setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">

                    unset</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">$i_product</span><span class="pun">]);</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

                $result</span><span class="pun">[</span><span class="str">'log_errors'</span><span class="pun">][]</span><span class="pln"> </span><span class="pun">=</span><span class="pln">  </span><span class="str">'total offers after cat/manuf filter: '</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$products_filtered</span><span class="pun">);</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$products_filtered</span><span class="pun">){</span><span class="pln">

                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$products_filtered </span><span class="kwd">as</span><span class="pln"> $i_product </span><span class="pun">=&gt;</span><span class="pln"> $product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                        $memory_get_usage </span><span class="pun">=</span><span class="pln"> memory_get_usage</span><span class="pun">();</span><span class="pln">

                        $set </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                        $setting </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$prioritet</span><span class="pun">[</span><span class="str">'manufacturers'</span><span class="pun">]&lt;</span><span class="pln">$prioritet</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]){</span><span class="pln">

                            $set</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_setting_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'manufacturer_setting_id'</span><span class="pun">];</span><span class="pln">

                        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                            $set</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_setting_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'category_setting_id'</span><span class="pun">];</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$set</span><span class="pun">){</span><span class="pln">
                            $setting_row </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getSettings</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$set</span><span class="pun">));</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$setting_row</span><span class="pun">){</span><span class="pln">
                                $setting </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">$setting_row</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'setting'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
				$setting</span><span class="pun">[</span><span class="str">'setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $setting_row</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                                $setting </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">

                        </span><span class="com">//получаем настройку продукта, если есть и меняем на неё шаблон продукта</span><span class="pln">
                        $product_setting </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getSettings</span><span class="pun">(</span><span class="str">'product_setting'</span><span class="pun">,</span><span class="pln"> FALSE</span><span class="pun">,</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$product_setting</span><span class="pun">){</span><span class="pln">
                            $set </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                            $set</span><span class="pun">[</span><span class="pln">$product_setting</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'setting_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_setting</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
                            $setting_update </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">$product_setting</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="str">'setting'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">

                            </span><span class="com">//если выключен и нет более верхнего шаблона, то обнуляем шаблон, иначе делаем более верхний</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$setting_update</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">$setting</span><span class="pun">){</span><span class="pln">
                                $setting </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">elseif</span><span class="pun">(</span><span class="pln">$setting_update</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                                $setting </span><span class="pun">=</span><span class="pln"> $setting_update</span><span class="pun">;</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">

                        $dis_product_ids </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'dis_product_ids'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'dis_product_ids'</span><span class="pun">]){</span><span class="pln">

                            $dis_product_ids_ids </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">','</span><span class="pun">,</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'dis_product_ids'</span><span class="pun">]);</span><span class="pln">

                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$dis_product_ids_ids </span><span class="kwd">as</span><span class="pln"> $dis_product_ids_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                $dis_product_ids_id </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">((</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$dis_product_ids_id</span><span class="pun">);</span><span class="pln">

                                $dis_product_ids</span><span class="pun">[</span><span class="pln">$dis_product_ids_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $dis_product_ids_id</span><span class="pun">;</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        $enb_product_ids </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'enb_product_ids'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'enb_product_ids'</span><span class="pun">]){</span><span class="pln">

                            $enb_product_ids_ids </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">','</span><span class="pun">,</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'enb_product_ids'</span><span class="pun">]);</span><span class="pln">

                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$enb_product_ids_ids </span><span class="kwd">as</span><span class="pln"> $enb_product_ids_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                $enb_product_ids_id </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">((</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$enb_product_ids_id</span><span class="pun">);</span><span class="pln">

                                $enb_product_ids</span><span class="pun">[</span><span class="pln">$enb_product_ids_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $enb_product_ids_id</span><span class="pun">;</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$dis_product_ids</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]])){</span><span class="pln">

                            $set </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$enb_product_ids </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$enb_product_ids</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]])){</span><span class="pln">

                            $set </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$set</span><span class="pun">){</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'add_ordering_to_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'add_ordering_to_category'</span><span class="pun">]){</span><span class="pln">
                                
                                $add_settings</span><span class="pun">[</span><span class="str">'add_ordering_to_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'add_ordering_to_category'</span><span class="pun">];</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'add_url_to_category'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'add_url_to_category'</span><span class="pun">]){</span><span class="pln">
                                
                                $add_settings</span><span class="pun">[</span><span class="str">'add_url_to_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'add_url_to_category'</span><span class="pun">];</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">;</span><span class="pln">
                            </span><span class="com">//добавлемя набор параметров по категории, если нет - нулевой шаблон</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'setting_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $set</span><span class="pun">;</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'ym_attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductAttributes</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">],</span><span class="pln"> $ym_attributes</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_attributes'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductAttributes</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">],</span><span class="pln">array</span><span class="pun">(),</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'ym_options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductOptions</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">],</span><span class="pln"> $ym_options</span><span class="pun">,</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductOptions</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">],</span><span class="pln">array</span><span class="pun">(),</span><span class="pln">$content_language_id</span><span class="pun">);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'images'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductImages</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'rec'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductRelated</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'product_to_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getProductCategories</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                            $product_spec_or_disc_prices </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getSpecialAndDiscontPrices</span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]);</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'discount_special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_spec_or_disc_prices</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">];</span><span class="pln">
                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_spec_or_disc_prices</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">];</span><span class="pln">

                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$delivery_option_by_manufacturer </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln"> $delivery_option_by_manufacturer</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">)){</span><span class="pln">
                                
                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'delivery_option_by_manufacturer'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getDeliveryOptionByManufacturer</span><span class="pun">(</span><span class="pln">$delivery_option_by_manufacturer</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]],</span><span class="pln">$product</span><span class="pun">);</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
			    
			    $set_setting_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
			    
			    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'setting_id'</span><span class="pun">])){</span><span class="pln">
				
				$set_setting_id </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'setting_id'</span><span class="pun">];</span><span class="pln">
				
			    </span><span class="pun">}</span><span class="pln">

                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'settings_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $set_setting_id</span><span class="pun">;</span><span class="pln">

			    $result</span><span class="pun">[</span><span class="str">'settings'</span><span class="pun">][</span><span class="pln">$set_setting_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">;</span><span class="pln">

                            $market_category </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">

                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">])){</span><span class="pln">

                                $market_category </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'market_category'</span><span class="pun">]);</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">

                            </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$market_category </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$ym_categories_whis_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]])){</span><span class="pln">
                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'market_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_categories_whis_categories</span><span class="pun">[</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]];</span><span class="pln">
                            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'market_category'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $market_category</span><span class="pun">;</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                            
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_by_options'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_by_options'</span><span class="pun">][</span><span class="str">'option_value_sku'</span><span class="pun">]!==</span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">]){</span><span class="pln">
                                
                                $divide_on_options_selected </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_selected'</span><span class="pun">];</span><span class="pln">
                                
                                $all_option </span><span class="pun">=</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">];</span><span class="pln">
                                
                                $option_value_sku </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_by_options'</span><span class="pun">][</span><span class="str">'option_value_sku'</span><span class="pun">];</span><span class="pln">
                                
                                $sub_offers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                                
                                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$divide_on_options_selected </span><span class="kwd">as</span><span class="pln"> $num_sel_option </span><span class="pun">=&gt;</span><span class="pln"> $option_selected</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                    
                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option_selected</span><span class="pun">){</span><span class="pln">
                                        
                                        $option_id_this </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                            
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_options_option_id'</span><span class="pun">.</span><span class="pln">$num_sel_option</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'option_id'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_option_id'</span><span class="pun">.</span><span class="pln">$num_sel_option</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'option_id'</span><span class="pun">]){</span><span class="pln">

                                            $option_id_this </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_option_id'</span><span class="pun">.</span><span class="pln">$num_sel_option</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'option_id'</span><span class="pun">];</span><span class="pln">

                                        </span><span class="pun">}</span><span class="pln">
                                        
                                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$all_option </span><span class="kwd">as</span><span class="pln"> $all_option_row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                            
                                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$all_option_row</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                                
                                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="pln">$option_value_sku</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $option_id_this</span><span class="pun">==</span><span class="pln">$all_option_row</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]){</span><span class="pln">
                                                    
                                                    $on_option_prefix </span><span class="pun">=</span><span class="pln"> </span><span class="str">'OPTION'</span><span class="pun">.</span><span class="pln">$num_sel_option</span><span class="pun">;</span><span class="pln">
                                                    
                                                    $option_value_id_this </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'option_value_id'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_options_prefix'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_prefix'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">]!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">

                                                        $on_option_prefix </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_prefix'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    $new_offer_key </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="str">'__'</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="pln">$option_value_sku</span><span class="pun">];</span><span class="pln">
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">])){</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]];</span><span class="pln">
                                                        
                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">])){</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'option_add_model_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                                        
                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'+'</span><span class="pun">){</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">elseif </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'-'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0</span><span class="pun">-</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">]);</span><span class="pln">

                                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]&lt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">

                                                            $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">;</span><span class="pln">

                                                        </span><span class="pun">}</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">elseif </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'='</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&amp;option_id[]='</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_options_add_to_model'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_add_to_model'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">]){</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'option_add_model_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_options_add_to_name'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_add_to_name'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">]){</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">
                                                        
                                                    </span><span class="pun">}</span><span class="pln">

                                                    $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">];</span><span class="pln">

                                                    $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="str">'-'</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="pln">$option_value_sku</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_options_available_by_option_quantity'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_options_available_by_option_quantity'</span><span class="pun">][</span><span class="pln">$num_sel_option</span><span class="pun">]){</span><span class="pln">

                                                        $sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'options'</span><span class="pun">][</span><span class="pln">$option_value_id_this</span><span class="pun">][</span><span class="str">'quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'quantity'</span><span class="pun">];</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">

                                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $all_option_row3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option_row3</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]==</span><span class="pln">$option_id_this </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">])){</span><span class="pln">

                                                            unset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">

                                                        </span><span class="pun">}</span><span class="pln">
                                                        
                                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option_row3</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]==</span><span class="pln">$option_id_this </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">])){</span><span class="pln">

                                                            unset</span><span class="pun">(</span><span class="pln">$sub_offers</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product'</span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">

                                                        </span><span class="pun">}</span><span class="pln">

                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                </span><span class="pun">}</span><span class="pln">
                                                
                                            </span><span class="pun">}</span><span class="pln">
                                            
                                        </span><span class="pun">}</span><span class="pln">
                                        
                                    </span><span class="pun">}</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                $sub_offers_result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                                
                                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$sub_offers </span><span class="kwd">as</span><span class="pln"> $new_offer_key </span><span class="pun">=&gt;</span><span class="pln"> $sub_offer</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                    
                                    $sub_offer_result_product </span><span class="pun">=</span><span class="pln"> $sub_offer</span><span class="pun">[</span><span class="str">'product'</span><span class="pun">];</span><span class="pln">
                                    
                                    $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $sub_offer_result_product</span><span class="pun">;</span><span class="pln">
                                    
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$sub_offer</span><span class="pun">[</span><span class="str">'options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $sub_offer_option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        
                                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'option_add_model_name'</span><span class="pun">])){</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'option_add_model_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $sub_offer_result_product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">];</span><span class="pln">
                                            
                                        </span><span class="pun">}</span><span class="pln">
                                        
                                        $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">+=</span><span class="pln"> $sub_offer_option</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
                                        
                                        $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">+=</span><span class="pln"> $sub_offer_option</span><span class="pun">[</span><span class="str">'quantity'</span><span class="pun">];</span><span class="pln">
                                        
                                        $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> $sub_offer_option</span><span class="pun">[</span><span class="str">'option_url_param'</span><span class="pun">];</span><span class="pln">
                                        
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sub_offer_option</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">]){</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'option_add_model_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">$sub_offer_option</span><span class="pun">[</span><span class="str">'option_add_model_name'</span><span class="pun">];</span><span class="pln">
                                            
                                        </span><span class="pun">}</span><span class="pln">
                                        
                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sub_offer_option</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]){</span><span class="pln">
                                            
                                            $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">' '</span><span class="pun">.</span><span class="pln">$sub_offer_option</span><span class="pun">[</span><span class="str">'divide_on_option_add_to_name'</span><span class="pun">];</span><span class="pln">
                                            
                                        </span><span class="pun">}</span><span class="pln">
                                        
                                        $sub_offers_result</span><span class="pun">[</span><span class="pln">$new_offer_key</span><span class="pun">][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'_'</span><span class="pun">.</span><span class="pln">$sub_offer_option</span><span class="pun">[</span><span class="str">'product_id_by_option_id'</span><span class="pun">];</span><span class="pln">
                                        
                                    </span><span class="pun">}</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$sub_offers_result</span><span class="pun">){</span><span class="pln">
                                    
                                    unset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]);</span><span class="pln">
                                    
                                    $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array_merge</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">],</span><span class="pln">$sub_offers_result</span><span class="pun">);</span><span class="pln">
                                    
                                </span><span class="pun">}</span><span class="pln">
                                
                            </span><span class="pun">}</span><span class="pln">
                            

                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_option'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">]){</span><span class="pln">

                                $option_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option_option_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_option_option_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'status'</span><span class="pun">]){</span><span class="pln">
                                    $option_id </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_option_option_id'</span><span class="pun">][</span><span class="str">'field'</span><span class="pun">][</span><span class="str">'option_id'</span><span class="pun">];</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">

                                $all_option </span><span class="pun">=</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">];</span><span class="pln">

                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option_id</span><span class="pun">){</span><span class="pln">
                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$all_option </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]!=</span><span class="pln">$option_id</span><span class="pun">){</span><span class="pln">

                                            unset</span><span class="pun">(</span><span class="pln">$all_option</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">

                                        </span><span class="pun">}</span><span class="pln">

                                    </span><span class="pun">}</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option</span><span class="pun">){</span><span class="pln">

                                    $on_option_prefix </span><span class="pun">=</span><span class="pln"> </span><span class="str">'OPTION'</span><span class="pun">;</span><span class="pln">

                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option_prefix'</span><span class="pun">])){</span><span class="pln">

                                        $setting</span><span class="pun">[</span><span class="str">'divide_on_option_prefix'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option_prefix'</span><span class="pun">]);</span><span class="pln">

                                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option_prefix'</span><span class="pun">]){</span><span class="pln">

                                            $on_option_prefix </span><span class="pun">=</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_option_prefix'</span><span class="pun">];</span><span class="pln">

                                        </span><span class="pun">}</span><span class="pln">

                                    </span><span class="pun">}</span><span class="pln">

                                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$all_option </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$option</span><span class="pun">[</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                            $option_value_id_this </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'option_value_id'</span><span class="pun">];</span><span class="pln">

                                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]];</span><span class="pln">

                                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'+'</span><span class="pun">){</span><span class="pln">

                                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">+=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">

                                            </span><span class="pun">}</span><span class="pln">elseif </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'-'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">-=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">

                                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'price'</span><span class="pun">]&lt;</span><span class="lit">0</span><span class="pun">){</span><span class="pln">

                                                    $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">;</span><span class="pln">

                                                </span><span class="pun">}</span><span class="pln">

                                            </span><span class="pun">}</span><span class="pln">elseif </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price_prefix'</span><span class="pun">]==</span><span class="str">'='</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">

                                            </span><span class="pun">}</span><span class="pln">

                                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'option_url_param'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&amp;option_id='</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">];</span><span class="pln">

                                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'option_add_model_name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln">

                                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'product_id_by_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">];</span><span class="pln">

                                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">];</span><span class="pln">

                                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$setting</span><span class="pun">[</span><span class="str">'divide_on_option_available_by_option_quantity'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $setting</span><span class="pun">[</span><span class="str">'divide_on_option_available_by_option_quantity'</span><span class="pun">]){</span><span class="pln">

                                                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'quantity'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value</span><span class="pun">[</span><span class="str">'quantity'</span><span class="pun">];</span><span class="pln">

                                            </span><span class="pun">}</span><span class="pln">

                                            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]][</span><span class="str">'all_options'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $all_option_row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option_row</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]==</span><span class="pln">$option_id</span><span class="pun">){</span><span class="pln">
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">])){</span><span class="pln">
                                                        
                                                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">][</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key2 </span><span class="pun">=&gt;</span><span class="pln"> $all_option_row2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                                                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option_row2</span><span class="pun">[</span><span class="str">'option_value_id'</span><span class="pun">]!=</span><span class="pln">$option_value_id_this</span><span class="pun">){</span><span class="pln">

                                                                unset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'all_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">][</span><span class="str">'product_option_value'</span><span class="pun">][</span><span class="pln">$key2</span><span class="pun">]);</span><span class="pln">

                                                            </span><span class="pun">}</span><span class="pln">
                                                        </span><span class="pun">}</span><span class="pln">
                                                        
                                                    </span><span class="pun">}</span><span class="pln">
                                                    
                                                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">])){</span><span class="pln">
                                                        
                                                        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">][</span><span class="str">'product_option_value'</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $key2 </span><span class="pun">=&gt;</span><span class="pln"> $all_option_row2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                                            
                                                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$all_option_row2</span><span class="pun">[</span><span class="str">'option_value_id'</span><span class="pun">]!=</span><span class="pln">$option_value_id_this</span><span class="pun">){</span><span class="pln">

                                                                unset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln"> $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">].</span><span class="pln">$on_option_prefix</span><span class="pun">.</span><span class="pln">$product_option_value</span><span class="pun">[</span><span class="str">'product_option_value_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">][</span><span class="str">'ym_options'</span><span class="pun">][</span><span class="pln">$key</span><span class="pun">][</span><span class="str">'product_option_value'</span><span class="pun">][</span><span class="pln">$key2</span><span class="pun">]);</span><span class="pln">

                                                            </span><span class="pun">}</span><span class="pln">
                                                        </span><span class="pun">}</span><span class="pln">
                                                        
                                                    </span><span class="pun">}</span><span class="pln">

                                                </span><span class="pun">}</span><span class="pln">

                                            </span><span class="pun">}</span><span class="pln">

                                        </span><span class="pun">}</span><span class="pln">

                                    </span><span class="pun">}</span><span class="pln">

                                    unset</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">][</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">]]);</span><span class="pln">

                                </span><span class="pun">}</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                        unset</span><span class="pun">(</span><span class="pln">$products_filtered</span><span class="pun">[</span><span class="pln">$i_product</span><span class="pun">]);</span><span class="pln">

                        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$memory_get_usage </span><span class="pun">&gt;=</span><span class="pln"> $memory_limit </span><span class="pun">&amp;&amp;</span><span class="pln"> $cache_status</span><span class="pun">){</span><span class="pln">

                            $this</span><span class="pun">-&gt;</span><span class="pln">writeCache</span><span class="pun">(</span><span class="pln">$cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">,</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]);</span><span class="pln">

                            $result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">][</span><span class="pln">$cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">;</span><span class="pln">

                            $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                        </span><span class="pun">}</span><span class="pln">

                    </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

            </span><span class="pun">}</span><span class="pln">
        
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$cache_status</span><span class="pun">){</span><span class="pln">

                $this</span><span class="pun">-&gt;</span><span class="pln">writeCache</span><span class="pun">(</span><span class="pln">$cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">,</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]);</span><span class="pln">

                $result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">][</span><span class="pln">$cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $cache_file_name</span><span class="pun">.</span><span class="str">'_'</span><span class="pun">.</span><span class="pln">count</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]).</span><span class="str">'.txt'</span><span class="pun">;</span><span class="pln">

                $result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="com">//Если товары есть, соберем данные про категории</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">[</span><span class="str">'offers'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'cache'</span><span class="pun">]){</span><span class="pln">
            $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT cd.name, c.sort_order, c.category_id, c.parent_id FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category c LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category_description cd ON (c.category_id = cd.category_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category_to_store c2s ON (c.category_id = c2s.category_id) WHERE cd.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND c2s.store_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_store_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'  AND c.status = '1' AND c.sort_order &lt;&gt; '-1'"</span><span class="pun">;</span><span class="pln">
            $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
            $result</span><span class="pun">[</span><span class="str">'categories'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $result</span><span class="pun">[</span><span class="str">'add_settings'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $add_settings</span><span class="pun">;</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getMappingMarketPlaceCategories</span><span class="pun">(</span><span class="pln">$mapping_market_place_categories</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	
	$result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	
	$category </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT category_id FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category WHERE category_id = ( SELECT max(category_id) FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category ) "</span><span class="pun">);</span><span class="pln">
	
	$category_id_start </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
	
	</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$category</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">){</span><span class="pln">
	    
	    $category_id_start </span><span class="pun">=</span><span class="pln"> $category</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]+</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
	
	$new_category_ids </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	
	</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$mapping_market_place_categories</span><span class="pun">){</span><span class="pln">
	    
	    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$mapping_market_place_categories </span><span class="kwd">as</span><span class="pln"> $site_category_id </span><span class="pun">=&gt;</span><span class="pln"> $mapping_market_place_category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		
		$mapping_market_place_category </span><span class="pun">=</span><span class="pln"> html_entity_decode</span><span class="pun">(</span><span class="pln">$mapping_market_place_category</span><span class="pun">);</span><span class="pln">
		
		$mapping_market_place_category </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cleanExplode</span><span class="pun">(</span><span class="str">'|'</span><span class="pun">,</span><span class="pln"> $mapping_market_place_category</span><span class="pun">);</span><span class="pln">
		
		</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$mapping_market_place_category </span><span class="kwd">as</span><span class="pln"> $mapping_market_place_category_path</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		    
		    $mapping_market_place_category_path </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">cleanExplode</span><span class="pun">(</span><span class="str">'&gt;'</span><span class="pun">,</span><span class="pln">$mapping_market_place_category_path</span><span class="pun">);</span><span class="pln">
		    
		    $parent_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
		    
		    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$mapping_market_place_category_path </span><span class="kwd">as</span><span class="pln"> $level </span><span class="pun">=&gt;</span><span class="pln"> $category_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			
			$category_md5 </span><span class="pun">=</span><span class="pln"> md5</span><span class="pun">(</span><span class="pln">$parent_id</span><span class="pun">.</span><span class="str">'-'</span><span class="pun">.</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">transliterate</span><span class="pun">(</span><span class="pln">preg_replace</span><span class="pun">(</span><span class="str">'/[^a-zA-Zа-яА-Я0-9]/ui'</span><span class="pun">,</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln">  mb_strtoupper</span><span class="pun">(</span><span class="pln">$category_name</span><span class="pun">)</span><span class="pln"> </span><span class="pun">)));</span><span class="pln"> 
			
			</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$new_category_ids</span><span class="pun">[</span><span class="pln">$category_md5</span><span class="pun">])){</span><span class="pln">
			    
			    $category_id </span><span class="pun">=</span><span class="pln"> $category_id_start</span><span class="pun">;</span><span class="pln">
			    
			    $new_category_ids</span><span class="pun">[</span><span class="pln">$category_md5</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category_id</span><span class="pun">;</span><span class="pln">
			    
			    $category_id_start</span><span class="pun">++;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
			    
			    $category_id </span><span class="pun">=</span><span class="pln"> $new_category_ids</span><span class="pun">[</span><span class="pln">$category_md5</span><span class="pun">];</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			
			</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$category_id </span><span class="pun">&amp;&amp;</span><span class="pln"> $category_name</span><span class="pun">!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
			    
			    $result</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
				</span><span class="str">'category_id'</span><span class="pun">=&gt;</span><span class="pln">$category_id</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'parent_id'</span><span class="pun">=&gt;</span><span class="pln">$parent_id</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'name'</span><span class="pun">=&gt;</span><span class="pln">$category_name</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'sort_order'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="pln">
				</span><span class="str">'site_category_id'</span><span class="pun">=&gt;</span><span class="pln">$site_category_id
			    </span><span class="pun">);</span><span class="pln">
			    
			    $parent_id </span><span class="pun">=</span><span class="pln"> $category_id</span><span class="pun">;</span><span class="pln">
			    
			</span><span class="pun">}</span><span class="pln">
			
		    </span><span class="pun">}</span><span class="pln">
		    
		</span><span class="pun">}</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
	
	</span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
	
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> transliterate</span><span class="pun">(</span><span class="pln">$textcyr</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$cyr </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
	</span><span class="str">'ж'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'ч'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'щ'</span><span class="pun">,</span><span class="pln">   </span><span class="str">'ш'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'ю'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'а'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'б'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'в'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'г'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'д'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'е'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'з'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'и'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'й'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'к'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'л'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'м'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'н'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'о'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'п'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'р'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'с'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'т'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'у'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ф'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'х'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ц'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ъ'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ь'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'я'</span><span class="pun">,</span><span class="pln">
	</span><span class="str">'Ж'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'Ч'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'Щ'</span><span class="pun">,</span><span class="pln">   </span><span class="str">'Ш'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'Ю'</span><span class="pun">,</span><span class="pln">  </span><span class="str">'А'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Б'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'В'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Г'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Д'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Е'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'З'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'И'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Й'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'К'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Л'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'М'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Н'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'О'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'П'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Р'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'С'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Т'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'У'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Ф'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Х'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Ц'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Ъ'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Ь'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Я'</span><span class="pun">);</span><span class="pln">
	$lat </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
	</span><span class="str">'zh'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ch'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'sht'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'sh'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'yu'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'a'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'b'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'v'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'g'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'d'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'e'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'z'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'i'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'j'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'k'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'l'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'m'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'n'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'o'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'p'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'r'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'s'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'t'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'u'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'f'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'h'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'c'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'y'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'x'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'q'</span><span class="pun">,</span><span class="pln">
	</span><span class="str">'Zh'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Ch'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Sht'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Sh'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Yu'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'A'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'B'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'V'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'G'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'D'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'E'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Z'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'I'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'J'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'K'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'L'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'M'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'N'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'O'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'P'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'R'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'S'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'T'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'U'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'F'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'H'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'c'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Y'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'X'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Q'</span><span class="pun">);</span><span class="pln">
	</span><span class="kwd">return</span><span class="pln"> mb_strtoupper</span><span class="pun">(</span><span class="pln">str_replace</span><span class="pun">(</span><span class="pln">$cyr</span><span class="pun">,</span><span class="pln"> $lat</span><span class="pun">,</span><span class="pln"> $textcyr</span><span class="pun">));</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> cleanExplode</span><span class="pun">(</span><span class="pln">$delimiter</span><span class="pun">,</span><span class="pln">$string</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	
	$explode </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="pln">$delimiter</span><span class="pun">,</span><span class="pln"> $string</span><span class="pun">);</span><span class="pln">
	
	</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$explode </span><span class="kwd">as</span><span class="pln"> $key </span><span class="pun">=&gt;</span><span class="pln"> $value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	    
	    $value </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">);</span><span class="pln">
	    
	    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$value</span><span class="pun">===</span><span class="str">''</span><span class="pun">){</span><span class="pln">
		
		unset</span><span class="pun">(</span><span class="pln">$explode</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]);</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
		
		$explode</span><span class="pun">[</span><span class="pln">$key</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $value</span><span class="pun">;</span><span class="pln">
		
	    </span><span class="pun">}</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
	
	</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$explode</span><span class="pun">){</span><span class="pln">
	    
	    $explode </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
	
	</span><span class="kwd">return</span><span class="pln"> $explode</span><span class="pun">;</span><span class="pln">
	
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getPromoGift</span><span class="pun">(</span><span class="pln">$promos_id</span><span class="pun">=</span><span class="pln">NULL</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln">   DB_PREFIX   </span><span class="pun">.</span><span class="pln"> </span><span class="str">'ocext_feed_generator_yamarket_promo_gift` '</span><span class="pun">;</span><span class="pln">
        
        $where </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	
	$where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" status = 1 "</span><span class="pun">;</span><span class="pln">
	
	</span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">is_null</span><span class="pun">(</span><span class="pln">$promos_id</span><span class="pun">)){</span><span class="pln">
	    
	    $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" promos_id = "</span><span class="pun">.</span><span class="pln">$promos_id</span><span class="pun">.</span><span class="str">" "</span><span class="pun">;</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$where</span><span class="pun">){</span><span class="pln">
            $sql </span><span class="pun">.=</span><span class="pln"> </span><span class="str">'WHERE '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' AND '</span><span class="pun">,</span><span class="pln"> $where</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
	
	</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">){</span><span class="pln">
	    
	    $result </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'promos'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
	    
	    $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
	    
	</span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getDeliveryOptionByManufacturer</span><span class="pun">(</span><span class="pln">$delivery_option_by_manufacturer</span><span class="pun">,</span><span class="pln">$product</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $weight </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">float</span><span class="pun">)</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'weight'</span><span class="pun">];</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        
        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$delivery_option_by_manufacturer </span><span class="kwd">as</span><span class="pln"> $rule</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$rule</span><span class="pun">[</span><span class="str">'w_from'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!==</span><span class="pln"> </span><span class="str">''</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $weight </span><span class="pun">&gt;</span><span class="pln"> $rule</span><span class="pun">[</span><span class="str">'w_from'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$rule</span><span class="pun">[</span><span class="str">'w_to'</span><span class="pun">]===</span><span class="str">''</span><span class="pln"> </span><span class="pun">||</span><span class="pln">  $weight </span><span class="pun">&lt;=</span><span class="pln">  $rule</span><span class="pun">[</span><span class="str">'w_to'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">){</span><span class="pln">
                
                $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                    </span><span class="str">'cost'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $rule</span><span class="pun">[</span><span class="str">'cost'</span><span class="pun">],</span><span class="pln">
                    </span><span class="str">'days'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $rule</span><span class="pun">[</span><span class="str">'days'</span><span class="pun">],</span><span class="pln">
                </span><span class="pun">);</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> writeCache</span><span class="pun">(</span><span class="pln">$filename</span><span class="pun">,</span><span class="pln">$array</span><span class="pun">,</span><span class="pln">$string</span><span class="pun">=</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $handle </span><span class="pun">=</span><span class="pln"> fopen</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln"> $filename</span><span class="pun">,</span><span class="pln"> </span><span class="str">'w+'</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$handle</span><span class="pun">){</span><span class="pln">
            
            $log_errors </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">ControllerFeedOcextFeedGeneratorYaMarket</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">registry</span><span class="pun">);</span><span class="pln">
            
            $log_errors</span><span class="pun">-&gt;</span><span class="pln">setLogErrors</span><span class="pun">(</span><span class="str">'cache write error to file: '</span><span class="pun">.</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln"> $filename</span><span class="pun">);</span><span class="pln">
            
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$string</span><span class="pun">){</span><span class="pln">
            fwrite</span><span class="pun">(</span><span class="pln">$handle</span><span class="pun">,</span><span class="pln"> $string</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
            fwrite</span><span class="pun">(</span><span class="pln">$handle</span><span class="pun">,</span><span class="pln"> json_encode</span><span class="pun">(</span><span class="pln">$array</span><span class="pun">));</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        fclose</span><span class="pun">(</span><span class="pln">$handle</span><span class="pun">);</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> unlinkAllCache</span><span class="pun">(</span><span class="pln">$cache_files</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

        $files </span><span class="pun">=</span><span class="pln"> scandir</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$files </span><span class="kwd">as</span><span class="pln"> $file_name</span><span class="pun">){</span><span class="pln">

            </span><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$cache_files </span><span class="kwd">as</span><span class="pln"> $cache_file</span><span class="pun">){</span><span class="pln">

                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">strstr</span><span class="pun">(</span><span class="pln">$file_name</span><span class="pun">,</span><span class="pln"> $cache_file</span><span class="pun">)){</span><span class="pln">

                    unlink</span><span class="pun">(</span><span class="pln">DIR_CACHE</span><span class="pun">.</span><span class="pln">$file_name</span><span class="pun">);</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">

            </span><span class="pun">}</span><span class="pln">

        </span><span class="pun">}</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">
    
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getYmCategoriesFromDb</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">=</span><span class="pln">array</span><span class="pun">(</span><span class="str">'category_id'</span><span class="pun">=&gt;</span><span class="lit">1</span><span class="pun">,</span><span class="str">'status'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"ocext_feed_generator_yamarket_ym_categories` "</span><span class="pun">;</span><span class="pln">
        $where </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">]==</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" category_id != '0' "</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'ym_category_last_child'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" ym_category_last_child LIKE '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">escape</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'ym_category_last_child'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"%' "</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]!=</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $where</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">" status = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'status'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' "</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$where</span><span class="pun">){</span><span class="pln">
            $where </span><span class="pun">=</span><span class="pln"> </span><span class="str">' WHERE '</span><span class="pun">.</span><span class="pln">implode</span><span class="pun">(</span><span class="str">' AND '</span><span class="pun">,</span><span class="pln"> $where</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
            $where </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $sql </span><span class="pun">.=</span><span class="pln"> $where</span><span class="pun">;</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'start'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'start'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'start'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $data</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">20</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $sql </span><span class="pun">.=</span><span class="pln"> </span><span class="str">" LIMIT "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'start'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">","</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$data</span><span class="pun">[</span><span class="str">'limit'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $ym_category</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $categories </span><span class="pun">=</span><span class="pln"> json_decode</span><span class="pun">(</span><span class="pln">$ym_category</span><span class="pun">[</span><span class="str">'category_id'</span><span class="pun">],</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$categories</span><span class="pun">){</span><span class="pln">
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$categories </span><span class="kwd">as</span><span class="pln"> $category_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $result</span><span class="pun">[</span><span class="pln">$category_id</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $ym_category</span><span class="pun">[</span><span class="str">'ym_category_path'</span><span class="pun">];</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getProductAttributes</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">,</span><span class="pln">$ym_attributes</span><span class="pun">=</span><span class="pln">array</span><span class="pun">(),</span><span class="pln">$content_language_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
            $attributes_sql </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="com">//Вычеркнуть атрибуты</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$ym_attributes</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ym_attributes </span><span class="kwd">as</span><span class="pln"> $attribute</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $attributes_parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">'___'</span><span class="pun">,</span><span class="pln"> $attribute</span><span class="pun">);</span><span class="pln">
                    </span><span class="com">//0 - группа, 1 - id атрибута</span><span class="pln">
                    $attributes_sql</span><span class="pun">[</span><span class="pln">$attributes_parts</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]][</span><span class="pln">$attributes_parts</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $attributes_parts</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
            </span><span class="pun">}</span><span class="pln">
            $product_attribute_group_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

            $product_attribute_group_query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT ag.attribute_group_id, agd.name FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_attribute pa LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND agd.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name"</span><span class="pun">);</span><span class="pln">

            
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_attribute_group_query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $product_attribute_group</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $product_attribute_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                    $product_attribute_query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT a.attribute_id, ad.name, pa.text FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_attribute pa LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND a.attribute_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_attribute_group</span><span class="pun">[</span><span class="str">'attribute_group_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND ad.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pa.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' ORDER BY a.sort_order, ad.name"</span><span class="pun">);</span><span class="pln">

                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_attribute_query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $product_attribute</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$attributes_sql</span><span class="pun">[</span><span class="pln">$product_attribute_group</span><span class="pun">[</span><span class="str">'attribute_group_id'</span><span class="pun">]][</span><span class="pln">$product_attribute</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">]])){</span><span class="pln">
                            
                            </span><span class="com">/*
                             * 
                            $product_attribute_data[] = array(
                                'attribute_id' =&gt; $product_attribute['attribute_id'],
                                'name'         =&gt; $product_attribute['name'],
                                'text'         =&gt; $product_attribute['text']
                            );
                             * 
                             */</span><span class="pln">
                            
                            $unit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getUnit</span><span class="pun">(</span><span class="pln">$product_attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
						
                            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$unit</span><span class="pun">!==</span><span class="str">''</span><span class="pun">){</span><span class="pln">
                                    $product_attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">str_replace</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">', ('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">',('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">'('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,),</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                                    $product_attribute_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                                            </span><span class="str">'attribute_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">],</span><span class="pln">
                                            </span><span class="str">'name'</span><span class="pln">         </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
                                            </span><span class="str">'text'</span><span class="pln">         </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">],</span><span class="pln">
                                            </span><span class="str">'unit'</span><span class="pln">	</span><span class="pun">=&gt;</span><span class="pln"> $unit
                                    </span><span class="pun">);</span><span class="pln">

                            </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">

                                    $product_attribute_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                                        </span><span class="str">'attribute_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'attribute_id'</span><span class="pun">],</span><span class="pln">
                                        </span><span class="str">'name'</span><span class="pln">         </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
                                        </span><span class="str">'text'</span><span class="pln">         </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute</span><span class="pun">[</span><span class="str">'text'</span><span class="pun">]</span><span class="pln">
                                    </span><span class="pun">);</span><span class="pln">

                            </span><span class="pun">}</span><span class="pln">
                            
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                    $unit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getUnit</span><span class="pun">(</span><span class="pln">$product_attribute_group</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln">
                    
                    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$unit</span><span class="pun">){</span><span class="pln">
                        $product_attribute_group</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">str_replace</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">', ('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">',('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">'('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,),</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> $product_attribute_group</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">

                    $product_attribute_group_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                            </span><span class="str">'attribute_group_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute_group</span><span class="pun">[</span><span class="str">'attribute_group_id'</span><span class="pun">],</span><span class="pln">
                            </span><span class="str">'name'</span><span class="pln">               </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute_group</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
                            </span><span class="str">'attribute'</span><span class="pln">          </span><span class="pun">=&gt;</span><span class="pln"> $product_attribute_data</span><span class="pun">,</span><span class="pln">
                            </span><span class="str">'unit'</span><span class="pln">              </span><span class="pun">=&gt;</span><span class="pln"> $unit
                    </span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            </span><span class="kwd">return</span><span class="pln"> $product_attribute_group_data</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getProductOptions</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">,</span><span class="pln">$ym_options</span><span class="pun">=</span><span class="pln">array</span><span class="pun">(),</span><span class="pln">$content_language_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        
        $product_option_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

        $product_option_query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT * FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_option po LEFT JOIN `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"option` o ON (po.option_id = o.option_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND od.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' ORDER BY o.sort_order"</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_option_query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $product_option</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $product_option_value_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

                $product_option_value_query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT * FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_option_value pov LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND pov.product_option_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_option</span><span class="pun">[</span><span class="str">'product_option_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND ovd.language_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$content_language_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' ORDER BY ov.sort_order"</span><span class="pun">);</span><span class="pln">

                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_option_value_query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $product_option_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    
                    $product_option_value_data_this </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
                    
                    </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product_option_value </span><span class="kwd">as</span><span class="pln"> $product_option_value_name </span><span class="pun">=&gt;</span><span class="pln"> $product_option_value_value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $product_option_value_data_this</span><span class="pun">[</span><span class="pln">$product_option_value_name</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value_value</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    
                    $product_option_value_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $product_option_value_data_this</span><span class="pun">;</span><span class="pln">
                    
                    </span><span class="com">/*
                        $product_option_value_data[] = array(
                                'product_option_value_id' =&gt; $product_option_value['product_option_value_id'],
                                'option_value_id'         =&gt; $product_option_value['option_value_id'],
                                'name'                    =&gt; $product_option_value['name'],
                                'image'                   =&gt; $product_option_value['image'],
                                'quantity'                =&gt; $product_option_value['quantity'],
                                'subtract'                =&gt; $product_option_value['subtract'],
                                'price'                   =&gt; $product_option_value['price'],
                                'price_prefix'            =&gt; $product_option_value['price_prefix'],
                                'weight'                  =&gt; $product_option_value['weight'],
                                'weight_prefix'           =&gt; $product_option_value['weight_prefix']
                        );
                        */</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                $unit </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getUnit</span><span class="pun">(</span><span class="pln">$product_option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]);</span><span class="pln"> 
                    
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$unit</span><span class="pun">){</span><span class="pln">
                    $product_option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">str_replace</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">', ('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">',('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,</span><span class="str">'('</span><span class="pun">.</span><span class="pln">$unit</span><span class="pun">.</span><span class="str">')'</span><span class="pun">,),</span><span class="pln"> </span><span class="str">''</span><span class="pun">,</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">]));</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                
                </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$ym_options</span><span class="pun">[</span><span class="pln">$product_option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">]])){</span><span class="pln">
                    $product_option_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">
                        </span><span class="str">'product_option_id'</span><span class="pln">    </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'product_option_id'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'product_option_value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $product_option_value_data</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">'option_id'</span><span class="pln">            </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'option_id'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'name'</span><span class="pln">                 </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'type'</span><span class="pln">                 </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'value'</span><span class="pln">                </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'value'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'required'</span><span class="pln">             </span><span class="pun">=&gt;</span><span class="pln"> $product_option</span><span class="pun">[</span><span class="str">'required'</span><span class="pun">],</span><span class="pln">
                        </span><span class="str">'unit'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $unit
                    </span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> $product_option_data</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
    
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getProductImages</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_image` WHERE product_id = '"</span><span class="pun">.</span><span class="pln">$product_id</span><span class="pun">.</span><span class="str">"' AND image != 'no-image.jpg' AND image != 'no-image.png' AND image != 'no_image.png' AND image != 'no_image.jpg' ORDER BY sort_order ASC "</span><span class="pun">;</span><span class="pln">
        $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> $query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">    
    
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getProductRelated</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $product_related_data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">

            $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT * FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"product_related WHERE product_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$product_id </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'"</span><span class="pun">);</span><span class="pln">

            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $product_related_data</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $result</span><span class="pun">[</span><span class="str">'related_id'</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            </span><span class="kwd">return</span><span class="pln"> $product_related_data</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

</span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getUnit</span><span class="pun">(</span><span class="pln">$string</span><span class="pun">){</span><span class="pln">
        $units_parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">' ('</span><span class="pun">,</span><span class="pln"> $string</span><span class="pun">);</span><span class="pln">
        $unit </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$units_parts </span><span class="pun">&amp;&amp;</span><span class="pln"> is_array</span><span class="pun">(</span><span class="pln">$units_parts</span><span class="pun">)){</span><span class="pln">
            </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$units_parts </span><span class="kwd">as</span><span class="pln"> $units_part</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $parts </span><span class="pun">=</span><span class="pln"> explode</span><span class="pun">(</span><span class="str">')'</span><span class="pun">,</span><span class="pln"> $units_part</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$parts </span><span class="pun">&amp;&amp;</span><span class="pln"> count</span><span class="pun">(</span><span class="pln">$parts</span><span class="pun">)&gt;</span><span class="lit">1</span><span class="pun">){</span><span class="pln">
                    $unit </span><span class="pun">=</span><span class="pln"> $parts</span><span class="pun">[</span><span class="lit">0</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> $unit</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getCategories</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT * FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category c  LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"category_to_store c2s ON (c.category_id = c2s.category_id) WHERE  c2s.store_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_store_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'  AND c.status = '1' AND c.sort_order &lt;&gt; '-1'"</span><span class="pun">);</span><span class="pln">
            $categories </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $category</span><span class="pun">){</span><span class="pln">
                    $categories</span><span class="pun">[</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'cvategory_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $category</span><span class="pun">[</span><span class="str">'cvategory_id'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $categories</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getManufacturers</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">"SELECT * FROM "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"manufacturer m  LEFT JOIN "</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> DB_PREFIX </span><span class="pun">.</span><span class="pln"> </span><span class="str">"manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE  m2s.store_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_store_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"'  AND m.status = '1' AND m.sort_order &lt;&gt; '-1'"</span><span class="pun">);</span><span class="pln">
            $manufacturers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows</span><span class="pun">){</span><span class="pln">
                </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$query</span><span class="pun">-&gt;</span><span class="pln">rows </span><span class="kwd">as</span><span class="pln"> $manufacturer</span><span class="pun">){</span><span class="pln">
                    $manufacturers</span><span class="pun">[</span><span class="pln"> $manufacturer</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $manufacturer</span><span class="pun">[</span><span class="str">'manufacturer_id'</span><span class="pun">];</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $manufacturers</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    
    
    
    
    
    
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> showTable</span><span class="pun">(</span><span class="pln">$table</span><span class="pun">=</span><span class="str">'ocext_all_yml_export_filter_data'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $check </span><span class="pun">=</span><span class="pln"> $query </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="str">'SHOW TABLES from `'</span><span class="pun">.</span><span class="pln">DB_DATABASE</span><span class="pun">.</span><span class="str">'` like "'</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="pln">$table</span><span class="pun">.</span><span class="str">'" '</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">$check</span><span class="pun">-&gt;</span><span class="pln">num_rows</span><span class="pun">){</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> FALSE</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> TRUE</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    
    
    
    
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> getSpecialAndDiscontPrices</span><span class="pun">(</span><span class="pln">$product_id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        
        $result </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'special_price'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">,</span><span class="str">'discount_special_price'</span><span class="pun">=&gt;</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="str">"product_special` WHERE customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND date_start &lt;= NOW() AND ( date_end = '0000-00-00' OR date_end &gt;= NOW() ) AND product_id="</span><span class="pun">.</span><span class="pln">$product_id</span><span class="pun">;</span><span class="pln">
        
        $special_prices </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">.</span><span class="str">" ORDER BY priority ASC "</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$special_prices</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">){</span><span class="pln">
            $result</span><span class="pun">[</span><span class="str">'special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $special_prices</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        $sql </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM `"</span><span class="pun">.</span><span class="pln">DB_PREFIX</span><span class="pun">.</span><span class="str">"product_discount` WHERE customer_group_id = '"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">config</span><span class="pun">-&gt;</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'config_customer_group_id'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="str">"' AND date_start &lt;= NOW() AND ( date_end = '0000-00-00' OR date_end &gt;= NOW() ) AND product_id="</span><span class="pun">.</span><span class="pln">$product_id</span><span class="pun">;</span><span class="pln">
        
        $discount_prices </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">db</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">.</span><span class="str">" AND quantity=1 ORDER BY priority ASC "</span><span class="pun">);</span><span class="pln">
        
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$discount_prices</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">){</span><span class="pln">
            $result</span><span class="pun">[</span><span class="str">'discount_special_price'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $discount_prices</span><span class="pun">-&gt;</span><span class="pln">row</span><span class="pun">[</span><span class="str">'price'</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        
        </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
        
    </span><span class="pun">}</span><span class="pln">
    
    
	
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">?&gt;</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Пример выгрузки <a href="https://test.mebelmassive.ru/index.php?route=extension/feed/ocext_feed_generator_yamarket&amp;token=64367" rel="external nofollow">https://test.mebelmassive.ru/index.php?route=extension/feed/ocext_feed_generator_yamarket&amp;token=64367</a>
</p>
]]></description><guid isPermaLink="false">427</guid><pubDate>Sun, 17 Apr 2022 12:52:53 +0000</pubDate></item><item><title>&#x411;&#x435;&#x43B;&#x44B;&#x439; &#x44D;&#x43A;&#x440;&#x430;&#x43D;, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x438;</title><link>http://opencartpascha.ru/topic/412-belyy-ekran-kak-posmotret-oshibki/</link><description><![CDATA[<p>
	Установил модуль, на странице категорий - белый экран, как посмотреть ошибку?
</p>
]]></description><guid isPermaLink="false">412</guid><pubDate>Mon, 11 Apr 2022 15:23:53 +0000</pubDate></item><item><title>&#x417;&#x430;&#x43F;&#x440;&#x435;&#x442; &#x43D;&#x430; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x432; &#x43A;&#x43E;&#x440;&#x437;&#x438;&#x43D;&#x443; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x430; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x447;&#x435;&#x43C; &#x432; &#x43D;&#x430;&#x43B;&#x438;&#x447;&#x438;&#x438;</title><link>http://opencartpascha.ru/topic/402-zapret-na-dobavlenie-v-korzinu-tovara-bolshe-chem-v-nalichii/</link><description><![CDATA[<p>
	Как реализовать, чтобы при наличии товара, например 3 шт., покупатель не мог добавить больше, а добавлялось только 3 штуки с сообщением, что На складе только 3 шт?
</p>
]]></description><guid isPermaLink="false">402</guid><pubDate>Fri, 08 Apr 2022 06:59:31 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x435;&#x449;&#x451;  &#x43F;&#x43E;&#x43B;&#x44F; &#x442;&#x435;&#x43B;&#x435;&#x444;&#x43E;&#x43D;&#x430; &#x432; &#x430;&#x434;&#x43C;&#x438;&#x43D;&#x43A;&#x435; &#x438; &#x432;&#x44B;&#x432;&#x435;&#x441;&#x442;&#x438; &#x432; &#x448;&#x430;&#x43F;&#x43A;&#x435;</title><link>http://opencartpascha.ru/topic/162-sozdat-eschyo-polya-telefona-v-adminke-i-vyvesti-v-shapke/</link><description><![CDATA[<p>
	Version 2.3.0.2
</p>
<p>
<a class="ipsAttachLink" href="http://opencartpascha.ru/applications/core/interface/file/attachment.php?id=115&amp;key=b62e466d9bd828c4ec2800e996fe2cbd" data-fileExt='zip' data-fileid='115' data-filekey='b62e466d9bd828c4ec2800e996fe2cbd'>additional-phones.zip</a></p>]]></description><guid isPermaLink="false">162</guid><pubDate>Mon, 21 Mar 2022 09:35:05 +0000</pubDate></item><item><title>OpenCart 2.0 (&#x43C;&#x438;&#x43D;. &#x441;&#x443;&#x43C;&#x43C;&#x430; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x430;)</title><link>http://opencartpascha.ru/topic/158-opencart-20-min-summa-zakaza/</link><description><![CDATA[<p>
	В файле<strong> \catalog\controller\checkout\cart.php</strong><br>
	<br>
	меняем
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_5" style=""><span class="pln">if (!$this-&gt;cart-&gt;hasStock() &amp;&amp; (!$this-&gt;config-&gt;get('config_stock_checkout') || $this-&gt;config-&gt;get('config_stock_warning'))) {
                $data['error_warning'] = $this-&gt;language-&gt;get('error_stock');
            } elseif (isset($this-&gt;session-&gt;data['error'])) {
                $data['error_warning'] = $this-&gt;session-&gt;data['error'];

                unset($this-&gt;session-&gt;data['error']);
            } else {
                $data['error_warning'] = '';
            }</span></pre>

<p>
	на это
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_7" style=""><span class="pln">if (!$this-&gt;cart-&gt;hasStock() &amp;&amp; (!$this-&gt;config-&gt;get('config_stock_checkout') || $this-&gt;config-&gt;get('config_stock_warning'))) {
                $data['error_warning'] = $this-&gt;language-&gt;get('error_stock');
            } elseif (isset($this-&gt;session-&gt;data['error'])) {
                $data['error_warning'] = $this-&gt;session-&gt;data['error'];

                unset($this-&gt;session-&gt;data['error']);
            } elseif ($this-&gt;cart-&gt;getTotal() &lt; 1000) {
                $data['error_warning'] = 'Минимальная сумма заказа 1000р.!';
                $data['error'] = true;
            } else {
                $data['error_warning'] = '';
            }</span></pre>

<p>
	В файле<strong> \catalog\controller\checkout\shipping_method.php</strong><br>
	<br>
	меняем это<br>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_9" style=""><span class="pln">// Validate cart has products and has stock.
        if ((!$this-&gt;cart-&gt;hasProducts() &amp;&amp; empty($this-&gt;session-&gt;data['vouchers'])) || (!$this-&gt;cart-&gt;hasStock() &amp;&amp; !$this-&gt;config-&gt;get('config_stock_checkout'))) {
            $json['redirect'] = $this-&gt;url-&gt;link('checkout/cart');
        }</span></pre>

<p>
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">В файле</span><b style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left"><span> </span>catalog\controller\checkout\confirm.php</b><br style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">
	<br style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">меняем это</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_13" style=""><span class="pln">// Validate cart has products and has stock.
        if ((!$this-&gt;cart-&gt;hasProducts() &amp;&amp; empty($this-&gt;session-&gt;data['vouchers'])) || (!$this-&gt;cart-&gt;hasStock() &amp;&amp; !$this-&gt;config-&gt;get('config_stock_checkout'))) {
            $redirect = $this-&gt;url-&gt;link('checkout/cart');
        }</span></pre>

<p>
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">на это</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_15" style=""><span class="pln">// Validate cart has products and has stock.
        if ((!$this-&gt;cart-&gt;hasProducts() &amp;&amp; empty($this-&gt;session-&gt;data['vouchers'])) || ($this-&gt;cart-&gt;getTotal() &lt; 1000) || (!$this-&gt;cart-&gt;hasStock() &amp;&amp; !$this-&gt;config-&gt;get('config_stock_checkout'))) {
            $redirect = $this-&gt;url-&gt;link('checkout/cart');
        }</span></pre>

<p>
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">в файле темы<span> </span></span><b style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">catalog\view\theme\default\template\checkout\cart.tpl</b><br style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">
	<br style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">это</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_17" style=""><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"pull-right"</span><span class="tag">&gt;</span><span class="pln">&lt;a href="</span><span class="pun">&lt;?</span><span class="pln">php echo $checkout</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">" class="btn btn-primary"&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $button_checkout</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="tag">&lt;/a&gt;&lt;/div&gt;</span></pre>

<p>
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">на это</span>
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_86_19" style=""><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"pull-right"</span><span class="tag">&gt;</span><span class="pln">&lt;a href="</span><span class="pun">&lt;?</span><span class="pln">php echo $checkout</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">" class="</span><span class="pun">&lt;?</span><span class="pln">php echo </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$error</span><span class="pun">))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">'btn btn-primary'</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">'btn btn-primary disabled '</span><span class="pln"> </span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">"&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $button_checkout</span><span class="pun">;</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="tag">&lt;/a&gt;&lt;/div&gt;</span></pre>

<p>
	<span style="background-color:#ffffff; color:#141414; font-size:15px; text-align:left">а если со временем надо будет поменять сумма с 10 000 на другую, то исправить вручную везде, где есть условие getTotal() &lt; 1000</span><br>
	 
</p>
<p>
<a class="ipsAttachLink" href="http://opencartpascha.ru/applications/core/interface/file/attachment.php?id=105&amp;key=62b36a990cde99541627513528a4314a" data-fileExt='zip' data-fileid='105' data-filekey='62b36a990cde99541627513528a4314a'>minimum_order_1.0.zip</a></p>]]></description><guid isPermaLink="false">158</guid><pubDate>Mon, 21 Mar 2022 09:01:01 +0000</pubDate></item><item><title>[&#x420;&#x435;&#x448;&#x435;&#x43D;&#x43E;]&#x414;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x443; &#x43D;&#x430; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x430; &#x432; &#x441;&#x43F;&#x438;&#x441;&#x43A;&#x435; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; (&#x430;&#x434;&#x43C;&#x438;&#x43D;&#x43A;&#x430;)</title><link>http://opencartpascha.ru/topic/40-reshenodobavit-ssylku-na-izobrazhenie-tovara-v-spiske-tovarov-adminka/</link><description><![CDATA[<p>
	Ссылка для admin/view/template/catalog/product_list.tpl
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6620_5" style=""><span class="tag">&lt;td</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"text-center"</span><span class="tag">&gt;</span><span class="pun">&lt;?</span><span class="pln">php </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
&lt;a href="/index.php?route=product/product&amp;product_id=</span><span class="pun">&lt;?</span><span class="pln">php echo $product</span><span class="pun">[</span><span class="str">'product_id'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">" target="_blank"&gt;
    &lt;img src="</span><span class="pun">&lt;?</span><span class="pln">php echo $product</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">" alt="</span><span class="pun">&lt;?</span><span class="pln">php echo $product</span><span class="pun">[</span><span class="str">'name'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">" class="img-thumbnail" /&gt;
</span><span class="tag">&lt;/a&gt;</span><span class="pln">
</span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;span</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"img-thumbnail list"</span><span class="tag">&gt;&lt;i</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"fa fa-camera fa-2x"</span><span class="tag">&gt;&lt;/i&gt;&lt;/span&gt;</span><span class="pln">
</span><span class="pun">&lt;?</span><span class="pln">php </span><span class="pun">}</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;/td&gt;</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">40</guid><pubDate>Mon, 14 Mar 2022 12:21:46 +0000</pubDate></item><item><title>[&#x420;&#x435;&#x448;&#x435;&#x43D;&#x43E;]&#x41E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x442; &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;</title><link>http://opencartpascha.ru/topic/39-reshenootobrazhenie-moduley-v-zavisimosti-ot-otkrytoy-stranicy/</link><description><![CDATA[<p>
	создаете схему
</p>

<p>
	называете ее например НОУТБУКИ
</p>

<p>
	потом идете в категорию Ноутбуки на вкладке дизайн выбираете схему Ноутбуки
</p>

<p>
	ну вот и у Вас категория привязана к схеме
</p>

<p>
	далее к этой схеме привязываете модули которые хотите отображать в этой категории
</p>
]]></description><guid isPermaLink="false">39</guid><pubDate>Mon, 14 Mar 2022 12:07:04 +0000</pubDate></item></channel></rss>
