<?php
/*
  Plugin Name: Слайдер товаров
  Description: Выводит в любое место страницы слайдер товаров. В разметкe страницы товара необходимо вставить шорт код: [slider-products] с аргументами. Пример использования:  [slider-products countProduct="6" countPrint="3" categoryId="0" product="1,29,33,47"], где countProduct - количество товаров, countPrint - количество одновременно показываемых товаров, categoryId - id категории из которой выводятся товары. Или [slider-products] с аргументами. Пример использования:  [slider-products countPrint="3" product="1,29,33,47"], где product - перечисление id конкретных товаров для вывода. Все аргументы не обязательны.
  Author: Avdeev Mark
  Version: 1.1.5
 */
/*
  Пример использования.
  В разметке страница товара необходимо вставить шорт код:
  [slider-products countProduct="6" countPrint="3" categoryId="0"]
 */
function sliderProducts($args) {
  $countProduct = !empty($args['countproduct']) ? $args['countproduct'] : 6; //количество товаров в ленте
  $countPrint = !empty($args['countprint']) ? $args['countprint'] : 3; //количество выводимых товаров
  $categoryId = !empty($args['categoryid']) ? $args['categoryid'] : 0; //id категории из которой нужно выводить товары
  $product = !empty($args['product']) ? $args['product'] : ''; //id категории из которой нужно выводить товары
  $filter = $categoryId ? 'c.id = '.$categoryId : '1=1';
  $filter .= ' and p.activity = 1';
  if ($product != '') {
    $filter = '';
    $products = explode(',', $product);
    foreach ($products as $id) {
      $filter .= ' p.id = '.DB::quote($id).' OR';
    }
    $filter = substr($filter, 0, strlen($str)-2);
    $countProduct = count($products);
  }
  $catalog = new Models_Catalog();
  $products = $catalog->getListByUserFilter(1000, $filter);
  $html = '
      <div class="m-p-products recommend">
      <div class="m-p-products-slider">
      <div class="index-slider owl-carousel owl-theme">
    ';
  $currency = MG::getSetting('currency');
  foreach ($products['catalogItems'] as $k=>$item) {
    $product_am = new Models_Product;
    $liteFormData = $product_am->createPropertyForm($param = array(
      'id' => $item['id'],
      'maxCount' => $item['count'],
      'productUserFields' => $item['thisUserFields'],
      'action' => "/catalog",
      'method' => "POST",
      'ajax' => true,
      'blockedProp' => $blockedProp,
      'noneAmount' => false,
      'titleBtn' => "В корзину",
      'blockVariants' => $blocksVariants[$item['id']],
      'buyButton' => $buyButton
    ));
    $products['catalogItems'][$k]['buyButton'] = $liteFormData['html'];
    $imagesUrl = explode("|", $item['image_url']);
    $item["image_url"] = "";
    if (!empty($imagesUrl[0])) {
      $item["image_url"] = $imagesUrl[0];
    }
    if(function_exists('mgImageProductPath')){
      $imgSrc = mgImageProductPath($item['image_url'], $item['id']);
    }else{
      $imgSrc = SITE.'/uploads/thumbs/70_'.$item['image_url'];
    }
    if ($item['count'] == 'много' || $item['count'] == -1){$availability = 'В наличии';}
    else {$availability ='Нет в наличии';}
    $html.='
      <div class="product-wrapper">
        <a class="product-image" href="'.SITE.'/'.$item['category_url'].'/'.$item['product_url'].'" title="'.$item['title'].'">
             <img src="'.$imgSrc.'" alt="'.$item['title'].'" title="'.$item['title'].'" class="mg-product-image">
          </a>
        <div class="product-details">
        <a class="product-name" href="'.SITE.'/'.$item['category_url'].'/'.$item['product_url'].'"><span>'.$item['title'].'</span></a>
        <div class="value">Температура: '.$item['thisUserFields'][53]['value'].'</div>
        <div class="value">Мощность: '.$item['thisUserFields'][67]['value'].'</div>
        <div class="value">Напряжение: '.$item['thisUserFields'][68]['value'].'</div>
        <span class="count-on-storage">
        <span> <span itemprop="availability">
        '.$availability.'
        </span> </span>
        </span>
        <div class="product-footer">
        <div class="product-price">'.MG::priceCourse($item['price_course']).' '.$currency.'</div>
        <div class="product-buttons">'.$products['catalogItems'][$k]['buyButton'].'</div>
      </div>
      </div>
      </div>';
  }
  $html .= '
 </div>
 </div>
 </div>
    <script>
      $(document).ready(function(){
    $(".mg-plugin-slider").owlCarousel({
        loop: true,
        nav: true,
        responsive: {
            0: {
                items: 2,
                margin: 10
            },
            768: {
                items: 3
            },
            990: {
                items                : 4,margin: 16
            }
        }
    });
      });
    </script>
';
  return $html;
}
mgAddMeta('<link href="'.SITE.'/mg-plugins/slider-products/css/style.css" rel="stylesheet" type="text/css">');
mgAddMeta('<script type="text/javascript" src="'.SITE.'/mg-plugins/slider-products/js/jquery.carouFredSel-6.2.0-packed.js" charset="utf-8"></script>');
mgAddShortcode('slider-products', 'sliderProducts');