예제 #1
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(History $historyModel, Statistic $statisticModel)
 {
     $history = $historyModel->getHistory();
     $statistic['products'] = $statisticModel->getCountProducts();
     $statistic['providers'] = $statisticModel->getCountProviders();
     $statistic['brands'] = $statisticModel->getCountBrands();
     $statistic['products_GK'] = $statisticModel->getCountSitesProducts('GK');
     $statistic['products_TV'] = $statisticModel->getCountSitesProducts('TV');
     $statistic['products_MK'] = $statisticModel->getCountSitesProducts('MK');
     $statistic['lastUpdate'] = $statisticModel->getLastUpdate();
     //pr($statistic);
     return view('dashboard.index')->with('title', 'Главная панель')->with('history', $history)->with('statistic', $statistic);
 }
예제 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request, Note $noteModel, History $historyModel)
 {
     if (right('AddNewPublicNote')) {
         if (strlen($_POST['notification']) > 0) {
             $noteModel->addNote($_POST['notification']);
             $historyModel->saveHistory('create_note');
             Session::flash('message', GetMessages("ADD_NEW_NOTE_MESSAGE"));
             return redirect()->route('note.index');
         } else {
             Session::flash('message', GetMessages("EMPTY_NOTE_MESSAGE"));
             return redirect()->route('note.index');
         }
     } else {
         Session::flash('message', GetMessages("NO_RIGHTS"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
 }
예제 #3
0
 public function index(Request $request)
 {
     if ($request->has('plan_id')) {
         $heading = "Show History for a Specific Plan";
         $histories = History::with('plan', 'user')->where('plan_id', $request->plan_id)->get();
     } else {
         $heading = 'History of all changes to Event Plans';
         $histories = History::with('plan', 'user')->get();
     }
     return view('cspot.history')->with(['heading' => $heading, 'histories' => $histories]);
 }
 /**
  * Finds the History model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return History the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = History::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
예제 #5
0
 public function delete(Purchase $purchaseModel, History $historyModel, $purchase_id, $product_id)
 {
     $purchaseModel->deletePurchase($purchase_id, $product_id);
     $historyModel->saveHistory('del_purchase', $product_id);
     Session::flash('message', GetMessages("SUCCESS_DELETE_PURCHASE"));
     return redirect($_SERVER['HTTP_REFERER']);
 }
예제 #6
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index(History $historyModel)
 {
     $history = $historyModel->getHistory();
     return view('history.index')->with('title', 'История')->with('history', $history);
 }
예제 #7
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show(Label $labelModel, History $historyModel, Purchase $purchaseModel, Provider $providerController, Brand $brandModel, Category $categoryModel, Product $productModel, $id)
 {
     $product = $productModel->getProduct($id);
     if (!$product) {
         abort(404);
     }
     $purchase = $purchaseModel->getPurchase($id);
     $historyProduct = $historyModel->getProductHistory($id);
     $historyPurchase = $historyModel->getPurchaseHistory($id);
     $historySite = $historyModel->getSiteHistory($id);
     $labels = $labelModel->getLabelsByProductsId([$id]);
     $arLabels = [];
     foreach ($labels as $label) {
         $arLabels[] = $label->label;
     }
     $strLabels = implode(',', $arLabels);
     if (!empty($product->childs)) {
         $product->childs = unserialize($product->childs);
     }
     $categories_list = $categoryModel->getFullCategoriesList();
     $brands_list = $brandModel->getFullBrandsList();
     $provider_list = $providerController->getProvedrsList();
     return view('products.show')->with('title', $product->category_name . ' ' . $product->name)->with('product', $product)->with('purchase', $purchase)->with('categories_list', $categories_list)->with('brands_list', $brands_list)->with('provider_list', $provider_list)->with('history_product', $historyProduct)->with('history_purchase', $historyPurchase)->with('history_site', $historySite)->with('labels', $strLabels);
 }
예제 #8
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request $request
  * @return Response
  */
 public function store(Request $request, History $historyModel, Cloud $cloudModel, Product $productModel, Purchase $purchaseModel)
 {
     if (isset($_POST['delete_all_flags'])) {
         if (!right('Import')) {
             abort(404);
         }
         $productModel->deleteAllFlags();
         Session::flash('message', GetMessages("SUCCESS_DELETE_FLAGS"));
         return redirect()->route('cloud.index');
     }
     if (isset($_POST['delete_all_export_list'])) {
         if (!right('Import')) {
             abort(404);
         }
         $productModel->deleteAllExport();
         Session::flash('message', GetMessages("SUCCESS_DELETE_FLAGS"));
         return redirect()->route('cloud.index');
     }
     if (isset($_POST['ajax'])) {
         if (!right('Import')) {
             abort(404);
         }
         Session::forget('idsNewProducts');
     }
     if (isset($_POST['export_site'])) {
         if (!right('Import')) {
             abort(404);
         }
         //pr($_POST);
         if (isset($_POST['field'])) {
             $products = $productModel->getProductFromExportToSite();
             if (count($products) > 0) {
                 $res = array();
                 $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'ВП ID');
                 $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Производитель');
                 $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Наменование');
                 if (isset($_POST['field']['GK'])) {
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'ID ГК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Цена ГК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Валюта ГК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Активность ГК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Яндекс ГК');
                 }
                 if (isset($_POST['field']['TV'])) {
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'ID ТВ');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Цена ТВ');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Валюта ТВ');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Активность ТВ');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Яндекс ТВ');
                 }
                 if (isset($_POST['field']['MK'])) {
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'ID МК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Цена МК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Валюта МК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Активность МК');
                     $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Яндекс МК');
                 }
                 $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Наличие');
                 $i = 1;
                 foreach ($products as $product) {
                     $res[$i][] = $product->id;
                     $res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->brand);
                     $res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->name);
                     if (isset($_POST['field']['GK'])) {
                         if (strpos($product->GK_price, '.')) {
                             $product->GK_price = str_replace('.', ',', $product->GK_price);
                             //заменяем точку на запятую, ибо эксель ебанутый((
                         }
                         if ($product->GK_currency == 'RUB') {
                             $product->GK_price = intval($product->GK_price);
                             //округляем, если валюта RUB
                         }
                         $res[$i][] = $product->GK_id;
                         $res[$i][] = $product->GK_price;
                         $res[$i][] = $product->GK_currency;
                         $res[$i][] = $product->GK_enabled;
                         $res[$i][] = $product->GK_yandex_enabled;
                     }
                     if (isset($_POST['field']['TV'])) {
                         if (strpos($product->TV_price, '.')) {
                             $product->TV_price = str_replace('.', ',', $product->TV_price);
                             //заменяем точку на запятую, ибо эксель ебанутый((
                         }
                         if ($product->TV_currency == 'RUB') {
                             $product->TV_price = intval($product->TV_price);
                             //округляем, если валюта RUB
                         }
                         $res[$i][] = $product->TV_id;
                         $res[$i][] = $product->TV_price;
                         $res[$i][] = $product->TV_currency;
                         $res[$i][] = $product->TV_enabled;
                         $res[$i][] = $product->TV_yandex_enabled;
                     }
                     if (isset($_POST['field']['MK'])) {
                         if (strpos($product->MK_price, '.')) {
                             $product->MK_price = str_replace('.', ',', $product->MK_price);
                             //заменяем точку на запятую, ибо эксель ебанутый((
                         }
                         if ($product->MK_currency == 'RUB') {
                             $product->MK_price = intval($product->MK_price);
                             //округляем, если валюта RUB
                         }
                         $res[$i][] = $product->MK_id;
                         $res[$i][] = $product->MK_price;
                         $res[$i][] = $product->MK_currency;
                         $res[$i][] = $product->MK_enabled;
                         $res[$i][] = $product->MK_yandex_enabled;
                     }
                     $res[$i][] = $product->in_stock;
                     $i++;
                 }
                 $this->saveToCSV($res);
                 Session::flash('message', GetMessages("SUCCESS_EXPORT"));
                 return redirect()->route('cloud.index');
             } else {
                 return redirect()->route('cloud.index');
             }
         } else {
             return redirect()->route('cloud.index');
         }
     }
     if (isset($_POST['export_prod'])) {
         if (!right('Import')) {
             abort(404);
         }
         //pr($_POST);
         $fields = array();
         $fields[] = 'products.id';
         !isset($_POST['field']['prod']['status']) ?: ($fields[] = 'products.status');
         !isset($_POST['field']['prod']['name']) ?: ($fields[] = 'products.name');
         !isset($_POST['field']['prod']['category']) ?: ($fields[] = 'products.category_id');
         !isset($_POST['field']['prod']['category']) ?: ($fields[] = 'PC.name as category_name');
         !isset($_POST['field']['prod']['brand']) ?: ($fields[] = 'products.brand_id');
         !isset($_POST['field']['prod']['brand']) ?: ($fields[] = 'PB.name as brand_name');
         !isset($_POST['field']['prod']['article']) ?: ($fields[] = 'products.article');
         !isset($_POST['field']['prod']['ean']) ?: ($fields[] = 'products.ean');
         !isset($_POST['field']['prod']['mrc']) ?: ($fields[] = 'products.mrc');
         !isset($_POST['field']['prod']['mrc']) ?: ($fields[] = 'products.mrc_currency');
         !isset($_POST['field']['prod']['price']) ?: ($fields[] = 'products.price');
         !isset($_POST['field']['prod']['price']) ?: ($fields[] = 'products.price_currency');
         !isset($_POST['field']['prod']['target_margin']) ?: ($fields[] = 'products.target_margin');
         !isset($_POST['field']['prod']['in_stock']) ?: ($fields[] = 'products.in_stock');
         !isset($_POST['field']['site']['id']) ?: ($fields[] = 'GK.site_id as GK_id');
         !isset($_POST['field']['site']['enabled']) ?: ($fields[] = 'GK.enabled as GK_enabled');
         !isset($_POST['field']['site']['yandex_enabled']) ?: ($fields[] = 'GK.yandex_enabled as GK_yandex_enabled');
         !isset($_POST['field']['site']['currency']) ?: ($fields[] = 'GK.currency as GK_currency');
         !isset($_POST['field']['site']['price']) ?: ($fields[] = 'GK.price as GK_price');
         !isset($_POST['field']['site']['id']) ?: ($fields[] = 'TV.site_id as TV_id');
         !isset($_POST['field']['site']['enabled']) ?: ($fields[] = 'TV.enabled as TV_enabled');
         !isset($_POST['field']['site']['yandex_enabled']) ?: ($fields[] = 'TV.yandex_enabled as TV_yandex_enabled');
         !isset($_POST['field']['site']['currency']) ?: ($fields[] = 'TV.currency as TV_currency');
         !isset($_POST['field']['site']['price']) ?: ($fields[] = 'TV.price as TV_price');
         !isset($_POST['field']['site']['id']) ?: ($fields[] = 'MK.site_id as MK_id');
         !isset($_POST['field']['site']['enabled']) ?: ($fields[] = 'MK.enabled as MK_enabled');
         !isset($_POST['field']['site']['yandex_enabled']) ?: ($fields[] = 'MK.yandex_enabled as MK_yandex_enabled');
         !isset($_POST['field']['site']['currency']) ?: ($fields[] = 'MK.currency as MK_currency');
         !isset($_POST['field']['site']['price']) ?: ($fields[] = 'MK.price as MK_price');
         $products = $productModel->getProductFromExport($fields);
         if (count($products) > 0) {
             $res = array();
             $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP01 Id товара');
             !isset($_POST['field']['prod']['status']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP02 Статус'));
             !isset($_POST['field']['prod']['name']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP03 Наименование'));
             !isset($_POST['field']['prod']['category']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Категория'));
             !isset($_POST['field']['prod']['category']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP04 ID категории'));
             !isset($_POST['field']['prod']['brand']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Производитель'));
             !isset($_POST['field']['prod']['brand']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP05 ID производителя'));
             !isset($_POST['field']['prod']['article']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP06 Артикул'));
             !isset($_POST['field']['prod']['ean']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP07 Штрих-код'));
             !isset($_POST['field']['prod']['mrc']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP08 МРЦ'));
             !isset($_POST['field']['prod']['mrc']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP09 МРЦ валюта'));
             !isset($_POST['field']['prod']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP10 Прайс'));
             !isset($_POST['field']['prod']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP11 Прайс валюта'));
             !isset($_POST['field']['prod']['target_margin']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP12 Маржинальность'));
             !isset($_POST['field']['prod']['in_stock']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'VP13 Наличие'));
             !isset($_POST['field']['site']['id']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'GK01 ID на ГК'));
             !isset($_POST['field']['site']['enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'GK02 Статус ГК'));
             !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'GK03 Маркет ГК'));
             !isset($_POST['field']['site']['currency']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'GK04 Валюта ГК'));
             !isset($_POST['field']['site']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'GK05 Цена ГК'));
             !isset($_POST['field']['site']['id']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'TV01 ID на ТВ'));
             !isset($_POST['field']['site']['enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'TV02 Статус ТВ'));
             !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'TV03 Маркет ТВ'));
             !isset($_POST['field']['site']['currency']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'TV04 Валюта ТВ'));
             !isset($_POST['field']['site']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'TV05 Цена ТВ'));
             !isset($_POST['field']['site']['id']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'MK01 ID на МК'));
             !isset($_POST['field']['site']['enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'MK02 Статус МК'));
             !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'MK03 Маркет МК'));
             !isset($_POST['field']['site']['currency']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'MK04 Валюта МК'));
             !isset($_POST['field']['site']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'MK05 Цена МК'));
             $i = 1;
             foreach ($products as $product) {
                 $res[$i][] = $product->id;
                 !isset($_POST['field']['prod']['status']) ?: ($res[$i][] = $product->status);
                 !isset($_POST['field']['prod']['name']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->name));
                 !isset($_POST['field']['prod']['category']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->category_name));
                 !isset($_POST['field']['prod']['category']) ?: ($res[$i][] = $product->category_id);
                 !isset($_POST['field']['prod']['brand']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->brand_name));
                 !isset($_POST['field']['prod']['brand']) ?: ($res[$i][] = $product->brand_id);
                 !isset($_POST['field']['prod']['article']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $product->article));
                 !isset($_POST['field']['prod']['ean']) ?: ($res[$i][] = $product->ean);
                 if (isset($_POST['field']['prod']['mrc'])) {
                     if (strpos($product->mrc, '.')) {
                         $product->mrc = str_replace('.', ',', $product->mrc);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $product->mrc;
                 }
                 !isset($_POST['field']['prod']['mrc']) ?: ($res[$i][] = $product->mrc_currency);
                 if (isset($_POST['field']['prod']['price'])) {
                     if (strpos($product->price, '.')) {
                         $product->price = str_replace('.', ',', $product->price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $product->price;
                 }
                 !isset($_POST['field']['prod']['price']) ?: ($res[$i][] = $product->price_currency);
                 !isset($_POST['field']['prod']['target_margin']) ?: ($res[$i][] = $product->target_margin);
                 !isset($_POST['field']['prod']['in_stock']) ?: ($res[$i][] = $product->in_stock);
                 !isset($_POST['field']['site']['id']) ?: ($res[$i][] = $product->GK_id);
                 !isset($_POST['field']['site']['enabled']) ?: ($res[$i][] = $product->GK_enabled);
                 !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[$i][] = $product->GK_yandex_enabled);
                 !isset($_POST['field']['site']['currency']) ?: ($res[$i][] = $product->GK_currency);
                 if (isset($_POST['field']['site']['price'])) {
                     if (strpos($product->GK_price, '.')) {
                         $product->GK_price = str_replace('.', ',', $product->GK_price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $product->GK_price;
                 }
                 !isset($_POST['field']['site']['id']) ?: ($res[$i][] = $product->TV_id);
                 !isset($_POST['field']['site']['enabled']) ?: ($res[$i][] = $product->TV_enabled);
                 !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[$i][] = $product->TV_yandex_enabled);
                 !isset($_POST['field']['site']['currency']) ?: ($res[$i][] = $product->TV_currency);
                 if (isset($_POST['field']['site']['price'])) {
                     if (strpos($product->TV_price, '.')) {
                         $product->TV_price = str_replace('.', ',', $product->TV_price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $product->TV_price;
                 }
                 !isset($_POST['field']['site']['id']) ?: ($res[$i][] = $product->MK_id);
                 !isset($_POST['field']['site']['enabled']) ?: ($res[$i][] = $product->MK_enabled);
                 !isset($_POST['field']['site']['yandex_enabled']) ?: ($res[$i][] = $product->MK_yandex_enabled);
                 !isset($_POST['field']['site']['currency']) ?: ($res[$i][] = $product->MK_currency);
                 if (isset($_POST['field']['site']['price'])) {
                     if (strpos($product->MK_price, '.')) {
                         $product->MK_price = str_replace('.', ',', $product->MK_price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $product->MK_price;
                 }
                 $i++;
             }
             $this->saveToCSV($res);
             Session::flash('message', GetMessages("SUCCESS_EXPORT"));
             return redirect()->route('cloud.index');
         } else {
             return redirect()->route('cloud.index');
         }
     }
     if (isset($_POST['export_purch'])) {
         if (!right('Import')) {
             abort(404);
         }
         $fields = array();
         $fields[] = 'purchase.id as purchase_id';
         $fields[] = 'P.id as product_id';
         !isset($_POST['field']['purch']['name']) ?: ($fields[] = 'P.name as product_name');
         !isset($_POST['field']['purch']['article']) ?: ($fields[] = 'P.article as article');
         !isset($_POST['field']['purch']['price']) ?: ($fields[] = 'P.price as price');
         !isset($_POST['field']['purch']['price']) ?: ($fields[] = 'P.price_currency as price_currency');
         !isset($_POST['field']['purch']['ean']) ?: ($fields[] = 'P.ean as ean');
         !isset($_POST['field']['purch']['category']) ?: ($fields[] = 'PC.name as category');
         !isset($_POST['field']['purch']['brand']) ?: ($fields[] = 'PB.name as brand');
         !isset($_POST['field']['purch']['provider']) ?: ($fields[] = 'PROV.name as provider');
         !isset($_POST['field']['purch']['provider']) ?: ($fields[] = 'PROV.id as provider_id');
         !isset($_POST['field']['purch']['base_price']) ?: ($fields[] = 'purchase.base_price');
         !isset($_POST['field']['purch']['currency']) ?: ($fields[] = 'purchase.currency');
         !isset($_POST['field']['purch']['raise']) ?: ($fields[] = 'purchase.raise');
         !isset($_POST['field']['purch']['discount_price']) ?: ($fields[] = 'purchase.discount_price');
         !isset($_POST['field']['purch']['discount_bulk']) ?: ($fields[] = 'purchase.discount_bulk');
         $purchases = $purchaseModel->getPurchaseFromExport($fields);
         if (count($purchases) > 0) {
             $res = array();
             $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU01 Id закупки');
             $res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU02 Id товара');
             !isset($_POST['field']['purch']['name']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Наименование'));
             !isset($_POST['field']['purch']['article']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Артикул'));
             !isset($_POST['field']['purch']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Прайс'));
             !isset($_POST['field']['purch']['price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Валюта прайса'));
             !isset($_POST['field']['purch']['ean']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Штрих-код'));
             !isset($_POST['field']['purch']['category']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Категория'));
             !isset($_POST['field']['purch']['brand']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Производитель'));
             !isset($_POST['field']['purch']['provider']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'Поставщик'));
             !isset($_POST['field']['purch']['provider']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU03 ID поставщика'));
             !isset($_POST['field']['purch']['base_price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU04 Базовая цена'));
             !isset($_POST['field']['purch']['currency']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU05 Валюта'));
             !isset($_POST['field']['purch']['raise']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU06 Поправка к ЦБ'));
             !isset($_POST['field']['purch']['discount_price']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU07 Скидка'));
             !isset($_POST['field']['purch']['discount_bulk']) ?: ($res[0][] = iconv('UTF-8', 'cp1251//TRANSLIT', 'PU08 Доп.скидка'));
             $i = 1;
             foreach ($purchases as $purchase) {
                 $res[$i][] = $purchase->purchase_id;
                 $res[$i][] = $purchase->product_id;
                 !isset($_POST['field']['purch']['name']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->product_name));
                 !isset($_POST['field']['purch']['article']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->article));
                 !isset($_POST['field']['purch']['price']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', str_replace('.', ',', $purchase->price)));
                 !isset($_POST['field']['purch']['price']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->price_currency));
                 !isset($_POST['field']['purch']['ean']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->ean));
                 !isset($_POST['field']['purch']['category']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->category));
                 !isset($_POST['field']['purch']['brand']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->brand));
                 !isset($_POST['field']['purch']['provider']) ?: ($res[$i][] = iconv('UTF-8', 'cp1251//TRANSLIT', $purchase->provider));
                 !isset($_POST['field']['purch']['provider']) ?: ($res[$i][] = $purchase->provider_id);
                 if (isset($_POST['field']['purch']['base_price'])) {
                     if (strpos($purchase->base_price, '.')) {
                         $purchase->base_price = str_replace('.', ',', $purchase->base_price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $purchase->base_price;
                 }
                 !isset($_POST['field']['purch']['currency']) ?: ($res[$i][] = $purchase->currency);
                 !isset($_POST['field']['purch']['raise']) ?: ($res[$i][] = $purchase->raise);
                 if (isset($_POST['field']['purch']['discount_price'])) {
                     if (strpos($purchase->discount_price, '.')) {
                         $purchase->discount_price = str_replace('.', ',', $purchase->discount_price);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $purchase->discount_price;
                 }
                 if (isset($_POST['field']['purch']['discount_bulk'])) {
                     if (strpos($purchase->discount_bulk, '.')) {
                         $purchase->discount_bulk = str_replace('.', ',', $purchase->discount_bulk);
                         //заменяем точку на запятую, ибо эксель ебанутый((
                     }
                     $res[$i][] = $purchase->discount_bulk;
                 }
                 $i++;
             }
             $this->saveToCSV($res);
             Session::flash('message', GetMessages("SUCCESS_EXPORT"));
             return redirect()->route('cloud.index');
         } else {
             return redirect()->route('cloud.index');
         }
     }
     if (isset($_POST['import_csv'])) {
         if (!right('Import')) {
             abort(404);
         }
         if (isset($request['file_csv'])) {
             $file = Input::file('file_csv');
             $extension = $file->getClientOriginalExtension();
             //получаем расширение
             if ($extension == 'csv') {
                 $filename = $file->getClientOriginalName();
                 //оригинальное название файла
                 $real_filename = date("Y_m_d_H_i_s") . '_' . RuslugFacade::make(mb_strtolower($file->getClientOriginalName()));
                 //преобразованное название файла
                 $file->move(base_path() . '/public/storage/import/', $real_filename);
                 //перемещаем файл
                 $header = NULL;
                 $data = array();
                 if (($handle = fopen(base_path() . cloud_path() . '/import/' . $real_filename, "r")) !== FALSE) {
                     while (($row = fgetcsv($handle, 1000, ';')) !== FALSE) {
                         if (!$header) {
                             $header = $row;
                         } else {
                             $data[] = array_combine($header, $row);
                         }
                     }
                     fclose($handle);
                     $res = [];
                     //pr($data);
                     $i = 0;
                     foreach ($data as $row) {
                         if (array_key_exists(to1251('VP01 Id товара'), $row)) {
                             //это товар
                             if (!empty($row[to1251('VP01 Id товара')])) {
                                 //товар уже существует, будем обновлять
                                 !array_key_exists(to1251('VP02 Статус'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.status'] = import_field($row[to1251('VP02 Статус')], 'bool', 1));
                                 !array_key_exists(to1251('VP03 Наименование'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.name'] = import_field(toUTF($row[to1251('VP03 Наименование')]), 'string', ''));
                                 !array_key_exists(to1251('VP04 ID категории'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.category_id'] = import_field($row[to1251('VP04 ID категории')], 'int', 0));
                                 !array_key_exists(to1251('VP05 ID производителя'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.brand_id'] = import_field($row[to1251('VP05 ID производителя')], 'int', 0));
                                 !array_key_exists(to1251('VP06 Артикул'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.article'] = import_field(toUTF($row[to1251('VP06 Артикул')]), 'string', ''));
                                 !array_key_exists(to1251('VP07 Штрих-код'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.ean'] = import_field($row[to1251('VP07 Штрих-код')], 'string', ''));
                                 !array_key_exists(to1251('VP08 МРЦ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.mrc'] = import_field($row[to1251('VP08 МРЦ')], 'float', 0));
                                 !array_key_exists(to1251('VP09 МРЦ валюта'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.mrc_currency'] = import_field($row[to1251('VP09 МРЦ валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('VP10 Прайс'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.price'] = import_field($row[to1251('VP10 Прайс')], 'float', 0));
                                 !array_key_exists(to1251('VP11 Прайс валюта'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.price_currency'] = import_field($row[to1251('VP11 Прайс валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('VP12 Маржинальность'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.target_margin'] = import_field($row[to1251('VP12 Маржинальность')], 'float', 0));
                                 !array_key_exists(to1251('VP13 Наличие'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.in_stock'] = import_field($row[to1251('VP13 Наличие')], 'bool', 0));
                                 if (isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.status']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.name']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.category_id']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.brand_id']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.article']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.ean']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.min_retail_price']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.rec_retail_price']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.target_margin']) or isset($res['update_prod'][$row[to1251('VP01 Id товара')]]['products.in_stock'])) {
                                     $res['update_prod'][$row[to1251('VP01 Id товара')]]['products.id'] = $row[to1251('VP01 Id товара')];
                                     $res['update_prod'][$row[to1251('VP01 Id товара')]]['products.updated_at'] = date('Y-m-d H:i:s');
                                     $res['update_prod'][$row[to1251('VP01 Id товара')]]['products.user_id'] = Auth::User()->id;
                                 }
                                 if (array_key_exists(to1251('GK01 ID на ГК'), $row)) {
                                     //есть поле Гаранта
                                     if (stristr($row[to1251('GK01 ID на ГК')], 'add')) {
                                         $row[to1251('GK01 ID на ГК')] = str_replace('add', '', $row[to1251('GK01 ID на ГК')]);
                                         //добавляем новый
                                         $productModel->deleteWithSite('GK', $row[to1251('VP01 Id товара')]);
                                         //сперва удаяем все, что связано с этим товаром (если есть)
                                         $res['add_to_GK'][$i]['product_id'] = $row[to1251('VP01 Id товара')];
                                         !array_key_exists(to1251('GK01 ID на ГК'), $row) ? $res['add_to_GK'][$i]['site_id'] = 1 : ($res['add_to_GK'][$i]['site_id'] = import_field($row[to1251('GK01 ID на ГК')], 'int', 1));
                                         !array_key_exists(to1251('GK02 Статус ГК'), $row) ? $res['add_to_GK'][$i]['enabled'] = 1 : ($res['add_to_GK'][$i]['enabled'] = import_field($row[to1251('GK02 Статус ГК')], 'bool', 1));
                                         !array_key_exists(to1251('GK03 Маркет ГК'), $row) ? $res['add_to_GK'][$i]['yandex_enabled'] = 0 : ($res['add_to_GK'][$i]['yandex_enabled'] = import_field($row[to1251('GK03 Маркет ГК')], 'bool', 0));
                                         !array_key_exists(to1251('GK04 Валюта ГК'), $row) ? $res['add_to_GK'][$i]['currency'] = 'RUB' : ($res['add_to_GK'][$i]['currency'] = import_field($row[to1251('GK04 Валюта ГК')], 'string', 'RUB'));
                                         !array_key_exists(to1251('GK05 Цена ГК'), $row) ? $res['add_to_GK'][$i]['price'] = 0 : ($res['add_to_GK'][$i]['price'] = import_field($row[to1251('GK05 Цена ГК')], 'float', 0));
                                         $res['add_to_GK'][$i]['created_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_GK'][$i]['updated_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_GK'][$i]['user_id'] = Auth::User()->id;
                                     } else {
                                         if (count($productModel->checkProductOnSiteId('GK', $row[to1251('VP01 Id товара')])) > 0) {
                                             //убеждаемся, что на этот товар уже привязан
                                             //если товар есть на сайте, будем обновлять
                                             !array_key_exists(to1251('GK01 ID на ГК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.site_id'] = import_field($row[to1251('GK01 ID на ГК')], 'int', 0));
                                             !array_key_exists(to1251('GK02 Статус ГК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.enabled'] = import_field($row[to1251('GK02 Статус ГК')], 'bool', 1));
                                             !array_key_exists(to1251('GK03 Маркет ГК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.yandex_enabled'] = import_field($row[to1251('GK03 Маркет ГК')], 'bool', 0));
                                             !array_key_exists(to1251('GK04 Валюта ГК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.currency'] = import_field($row[to1251('GK04 Валюта ГК')], 'string', 'RUB'));
                                             !array_key_exists(to1251('GK05 Цена ГК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.price'] = import_field($row[to1251('GK05 Цена ГК')], 'float', 0));
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.updated_at'] = date('Y-m-d H:i:s');
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['GK.user_id'] = Auth::User()->id;
                                         }
                                     }
                                 }
                                 if (array_key_exists(to1251('TV01 ID на ТВ'), $row)) {
                                     //есть поле Таваго
                                     if (stristr($row[to1251('TV01 ID на ТВ')], 'add')) {
                                         $row[to1251('TV01 ID на ТВ')] = str_replace('add', '', $row[to1251('TV01 ID на ТВ')]);
                                         //добавляем новый
                                         $productModel->deleteWithSite('TV', $row[to1251('VP01 Id товара')]);
                                         //сперва удаяем все, что связано с этим товаром (если есть)
                                         $res['add_to_TV'][$i]['product_id'] = $row[to1251('VP01 Id товара')];
                                         !array_key_exists(to1251('TV01 ID на ТВ'), $row) ? $res['add_to_TV'][$i]['site_id'] = 1 : ($res['add_to_TV'][$i]['site_id'] = import_field($row[to1251('TV01 ID на ТВ')], 'int', 1));
                                         !array_key_exists(to1251('TV02 Статус ТВ'), $row) ? $res['add_to_TV'][$i]['enabled'] = 1 : ($res['add_to_TV'][$i]['enabled'] = import_field($row[to1251('TV02 Статус ТВ')], 'bool', 1));
                                         !array_key_exists(to1251('TV03 Маркет ТВ'), $row) ? $res['add_to_TV'][$i]['yandex_enabled'] = 0 : ($res['add_to_TV'][$i]['yandex_enabled'] = import_field($row[to1251('TV03 Маркет ТВ')], 'bool', 0));
                                         !array_key_exists(to1251('TV04 Валюта ТВ'), $row) ? $res['add_to_TV'][$i]['currency'] = 'RUB' : ($res['add_to_TV'][$i]['currency'] = import_field($row[to1251('TV04 Валюта ТВ')], 'string', 'RUB'));
                                         !array_key_exists(to1251('TV05 Цена ТВ'), $row) ? $res['add_to_TV'][$i]['price'] = 0 : ($res['add_to_TV'][$i]['price'] = import_field($row[to1251('TV05 Цена ТВ')], 'float', 0));
                                         $res['add_to_TV'][$i]['created_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_TV'][$i]['updated_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_TV'][$i]['user_id'] = Auth::User()->id;
                                     } else {
                                         if (count($productModel->checkProductOnSiteId('TV', $row[to1251('VP01 Id товара')])) > 0) {
                                             //убеждаемся, что на этот товар уже привязан
                                             //если товар есть на сайте, будем обновлять
                                             !array_key_exists(to1251('TV01 ID на ТВ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.site_id'] = import_field($row[to1251('TV01 ID на ТВ')], 'int', 0));
                                             !array_key_exists(to1251('TV02 Статус ТВ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.enabled'] = import_field($row[to1251('TV02 Статус ТВ')], 'bool', 1));
                                             !array_key_exists(to1251('TV03 Маркет ТВ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.yandex_enabled'] = import_field($row[to1251('TV03 Маркет ТВ')], 'bool', 0));
                                             !array_key_exists(to1251('TV04 Валюта ТВ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.currency'] = import_field($row[to1251('TV04 Валюта ТВ')], 'string', 'RUB'));
                                             !array_key_exists(to1251('TV05 Цена ТВ'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.price'] = import_field($row[to1251('TV05 Цена ТВ')], 'float', 0));
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.updated_at'] = date('Y-m-d H:i:s');
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['TV.user_id'] = Auth::User()->id;
                                         }
                                     }
                                 }
                                 if (array_key_exists(to1251('MK01 ID на МК'), $row)) {
                                     //есть поле МаксКлимат
                                     if (stristr($row[to1251('MK01 ID на МК')], 'add')) {
                                         $row[to1251('MK01 ID на МК')] = str_replace('add', '', $row[to1251('MK01 ID на МК')]);
                                         //добавляем новый
                                         $productModel->deleteWithSite('MK', $row[to1251('VP01 Id товара')]);
                                         //сперва удаяем все, что связано с этим товаром (если есть)
                                         $res['add_to_MK'][$i]['product_id'] = $row[to1251('VP01 Id товара')];
                                         !array_key_exists(to1251('MK01 ID на МК'), $row) ? $res['add_to_MK'][$i]['site_id'] = 1 : ($res['add_to_MK'][$i]['site_id'] = import_field($row[to1251('MK01 ID на МК')], 'int', 1));
                                         !array_key_exists(to1251('MK02 Статус МК'), $row) ? $res['add_to_MK'][$i]['enabled'] = 1 : ($res['add_to_MK'][$i]['enabled'] = import_field($row[to1251('MK02 Статус МК')], 'bool', 1));
                                         !array_key_exists(to1251('MK03 Маркет МК'), $row) ? $res['add_to_MK'][$i]['yandex_enabled'] = 0 : ($res['add_to_MK'][$i]['yandex_enabled'] = import_field($row[to1251('MK03 Маркет МК')], 'bool', 0));
                                         !array_key_exists(to1251('MK04 Валюта МК'), $row) ? $res['add_to_MK'][$i]['currency'] = 'RUB' : ($res['add_to_MK'][$i]['currency'] = import_field($row[to1251('MK04 Валюта МК')], 'string', 'RUB'));
                                         !array_key_exists(to1251('MK05 Цена МК'), $row) ? $res['add_to_MK'][$i]['price'] = 0 : ($res['add_to_MK'][$i]['price'] = import_field($row[to1251('MK05 Цена МК')], 'float', 0));
                                         $res['add_to_MK'][$i]['created_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_MK'][$i]['updated_at'] = date('Y-m-d H:i:s');
                                         $res['add_to_MK'][$i]['user_id'] = Auth::User()->id;
                                     } else {
                                         if (count($productModel->checkProductOnSiteId('MK', $row[to1251('VP01 Id товара')])) > 0) {
                                             //убеждаемся, что на этот товар уже привязан
                                             //если товар есть на сайте, будем обновлять
                                             !array_key_exists(to1251('MK01 ID на МК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.site_id'] = import_field($row[to1251('MK01 ID на МК')], 'int', 0));
                                             !array_key_exists(to1251('MK02 Статус МК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.enabled'] = import_field($row[to1251('MK02 Статус МК')], 'bool', 1));
                                             !array_key_exists(to1251('MK03 Маркет МК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.yandex_enabled'] = import_field($row[to1251('MK03 Маркет МК')], 'bool', 0));
                                             !array_key_exists(to1251('MK04 Валюта МК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.currency'] = import_field($row[to1251('MK04 Валюта МК')], 'string', 'RUB'));
                                             !array_key_exists(to1251('MK05 Цена МК'), $row) ?: ($res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.price'] = import_field($row[to1251('MK05 Цена МК')], 'float', 0));
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.updated_at'] = date('Y-m-d H:i:s');
                                             $res['update_prod'][$row[to1251('VP01 Id товара')]]['MK.user_id'] = Auth::User()->id;
                                         }
                                     }
                                 }
                             } else {
                                 //такого товара нет, будем добавлять
                                 !array_key_exists(to1251('VP02 Статус'), $row) ? $res['add_prod'][$i]['products.status'] = 1 : ($res['add_prod'][$i]['products.status'] = import_field($row[to1251('VP02 Статус')], 'bool', 1));
                                 !array_key_exists(to1251('VP03 Наименование'), $row) ? $res['add_prod'][$i]['products.name'] = '' : ($res['add_prod'][$i]['products.name'] = import_field(toUTF($row[to1251('VP03 Наименование')]), 'string', ''));
                                 !array_key_exists(to1251('VP04 ID категории'), $row) ? $res['add_prod'][$i]['products.category_id'] = 1 : ($res['add_prod'][$i]['products.category_id'] = import_field($row[to1251('VP04 ID категории')], 'int', 1));
                                 !array_key_exists(to1251('VP05 ID производителя'), $row) ? $res['add_prod'][$i]['products.brand_id'] = 1 : ($res['add_prod'][$i]['products.brand_id'] = import_field($row[to1251('VP05 ID производителя')], 'int', 1));
                                 !array_key_exists(to1251('VP06 Артикул'), $row) ? $res['add_prod'][$i]['products.article'] = '' : ($res['add_prod'][$i]['products.article'] = import_field(toUTF($row[to1251('VP06 Артикул')]), 'string', ''));
                                 !array_key_exists(to1251('VP07 Штрих-код'), $row) ? $res['add_prod'][$i]['products.ean'] = '' : ($res['add_prod'][$i]['products.ean'] = import_field($row[to1251('VP07 Штрих-код')], 'string', ''));
                                 !array_key_exists(to1251('VP08 МРЦ'), $row) ? $res['add_prod'][$i]['products.mrc'] = 0 : ($res['add_prod'][$i]['products.mrc'] = import_field($row[to1251('VP08 МРЦ')], 'float', 0));
                                 !array_key_exists(to1251('VP09 МРЦ валюта'), $row) ? $res['add_prod'][$i]['products.mrc_currency'] = 'RUB' : ($res['add_prod'][$i]['products.mrc_currency'] = import_field($row[to1251('VP09 МРЦ валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('VP10 Прайс'), $row) ? $res['add_prod'][$i]['products.price'] = 0 : ($res['add_prod'][$i]['products.price'] = import_field($row[to1251('VP10 Прайс')], 'float', 0));
                                 !array_key_exists(to1251('VP11 Прайс валюта'), $row) ? $res['add_prod'][$i]['products.price_currency'] = 'RUB' : ($res['add_prod'][$i]['products.price_currency'] = import_field($row[to1251('VP11 Прайс валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('VP12 Маржинальность'), $row) ? $res['add_prod'][$i]['products.target_margin'] = 0 : ($res['add_prod'][$i]['products.target_margin'] = import_field($row[to1251('VP12 Маржинальность')], 'float', 0));
                                 !array_key_exists(to1251('VP13 Наличие'), $row) ? $res['add_prod'][$i]['products.in_stock'] = 0 : ($res['add_prod'][$i]['products.in_stock'] = import_field($row[to1251('VP13 Наличие')], 'bool', 0));
                                 $res['add_prod'][$i]['products.created_at'] = date('Y-m-d H:i:s');
                                 $res['add_prod'][$i]['products.updated_at'] = date('Y-m-d H:i:s');
                                 $res['add_prod'][$i]['products.user_id'] = Auth::User()->id;
                             }
                         } elseif (array_key_exists(to1251('PU01 Id закупки'), $row)) {
                             //это условия
                             if (!array_key_exists(to1251('PU02 Id товара'), $row) or empty($row[to1251('PU02 Id товара')])) {
                                 //нет обязательного поля с ID товара
                                 Session::flash('message', GetMessages("ERROR_NO_REQUIRED_FIELD"));
                                 return redirect()->route('cloud.index');
                             }
                             if (!empty($row[to1251('PU01 Id закупки')])) {
                                 //такое уcловие существует - будем обновлять
                                 !array_key_exists(to1251('PU03 ID поставщика'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.vendor_id'] = import_field($row[to1251('PU03 ID поставщика')], 'int', 1));
                                 !array_key_exists(to1251('PU04 Базовая цена'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.base_price'] = import_field($row[to1251('PU04 Базовая цена')], 'float', 0));
                                 !array_key_exists(to1251('PU05 Валюта'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.currency'] = import_field($row[to1251('PU05 Валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('PU06 Поправка к ЦБ'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.raise'] = import_field($row[to1251('PU06 Поправка к ЦБ')], 'float', 0));
                                 !array_key_exists(to1251('PU07 Скидка'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.discount_price'] = import_field($row[to1251('PU07 Скидка')], 'float', 0));
                                 !array_key_exists(to1251('PU08 Доп.скидка'), $row) ?: ($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.discount_bulk'] = import_field($row[to1251('PU08 Доп.скидка')], 'float', 0));
                                 if (isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.vendor_id']) or isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.base_price']) or isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.currency_id']) or isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.raise']) or isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.discount_price']) or isset($res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.discount_bulk'])) {
                                     $res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.id'] = $row[to1251('PU01 Id закупки')];
                                     $res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.product_id'] = $row[to1251('PU02 Id товара')];
                                     $res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.updated_at'] = date('Y-m-d H:i:s');
                                     $res['update_purch'][$row[to1251('PU01 Id закупки')]]['purchase.user_id'] = Auth::User()->id;
                                 }
                             } else {
                                 //такого условия нет - будем добавлять
                                 !array_key_exists(to1251('PU03 ID поставщика'), $row) ? $res['add_purch'][$i]['purchase.vendor_id'] = 1 : ($res['add_purch'][$i]['purchase.vendor_id'] = import_field($row[to1251('PU03 ID поставщика')], 'int', 1));
                                 !array_key_exists(to1251('PU04 Базовая цена'), $row) ? $res['add_purch'][$i]['purchase.base_price'] = 0 : ($res['add_purch'][$i]['purchase.base_price'] = import_field($row[to1251('PU04 Базовая цена')], 'float', 0));
                                 !array_key_exists(to1251('PU05 Валюта'), $row) ? $res['add_purch'][$i]['purchase.currency'] = 'RUB' : ($res['add_purch'][$i]['purchase.currency'] = import_field($row[to1251('PU05 Валюта')], 'string', 'RUB'));
                                 !array_key_exists(to1251('PU06 Поправка к ЦБ'), $row) ? $res['add_purch'][$i]['purchase.raise'] = 0 : ($res['add_purch'][$i]['purchase.raise'] = import_field($row[to1251('PU06 Поправка к ЦБ')], 'float', 0));
                                 !array_key_exists(to1251('PU07 Скидка'), $row) ? $res['add_purch'][$i]['purchase.discount_price'] = 0 : ($res['add_purch'][$i]['purchase.discount_price'] = import_field($row[to1251('PU07 Скидка')], 'float', 0));
                                 !array_key_exists(to1251('PU08 Доп.скидка'), $row) ? $res['add_purch'][$i]['purchase.discount_bulk'] = 0 : ($res['add_purch'][$i]['purchase.discount_bulk'] = import_field($row[to1251('PU08 Доп.скидка')], 'float', 0));
                                 $res['add_purch'][$i]['purchase.product_id'] = $row[to1251('PU02 Id товара')];
                                 $res['add_purch'][$i]['purchase.created_at'] = date('Y-m-d H:i:s');
                                 $res['add_purch'][$i]['purchase.updated_at'] = date('Y-m-d H:i:s');
                                 $res['add_purch'][$i]['purchase.user_id'] = Auth::User()->id;
                             }
                         } else {
                             Session::flash('message', GetMessages("ERROR_NO_REQUIRED_FIELD"));
                             return redirect()->route('cloud.index');
                         }
                         //pr($res);
                         $i++;
                     }
                     //pr($res);
                     $count = [];
                     if (isset($res['update_prod'])) {
                         $count['update_prod'] = count($res['update_prod']);
                     }
                     if (isset($res['add_prod'])) {
                         $count['add_prod'] = count($res['add_prod']);
                     }
                     if (isset($res['add_to_GK'])) {
                         $count['add_to_GK'] = count($res['add_to_GK']);
                     }
                     if (isset($res['add_to_TV'])) {
                         $count['add_to_TV'] = count($res['add_to_TV']);
                     }
                     if (isset($res['add_to_MK'])) {
                         $count['add_to_MK'] = count($res['add_to_MK']);
                     }
                     if (isset($res['update_purch'])) {
                         $count['update_purch'] = count($res['update_purch']);
                     }
                     if (isset($res['add_purch'])) {
                         $count['add_purch'] = count($res['add_purch']);
                     }
                     Session::put('count', $count);
                     Session::put('res', $res);
                     //pr($res);
                     $cloudModel->addFile('import', $filename, $real_filename);
                     return redirect()->route('cloud.index');
                 }
             } else {
                 Session::flash('message', GetMessages("ERROR_NO_CSV_FILE"));
                 return redirect()->route('cloud.index');
             }
         } else {
             Session::flash('message', GetMessages("ERROR_NO_CSV_FILE"));
             return redirect()->route('cloud.index');
         }
     }
     if (isset($_POST['end_import'])) {
         if (!right('Import')) {
             abort(404);
         }
         $count = Session::pull('count', null);
         $res = Session::pull('res', null);
         //pr($res);
         //pr($count);
         if (isset($res['update_prod']) and count($res['update_prod']) > 0) {
             $productModel->updatingListProducts($res['update_prod']);
         }
         if (isset($res['add_prod']) and count($res['add_prod']) > 0) {
             $idsNewProducts = $productModel->createProducts($res['add_prod']);
             Session::put('idsNewProducts', $idsNewProducts);
         }
         if (isset($res['add_to_GK']) and count($res['add_to_GK']) > 0) {
             $productModel->addsToSite($res['add_to_GK'], 'GK');
         }
         if (isset($res['add_to_TV']) and count($res['add_to_TV']) > 0) {
             $productModel->addsToSite($res['add_to_TV'], 'TV');
         }
         if (isset($res['add_to_MK']) and count($res['add_to_MK']) > 0) {
             $productModel->addsToSite($res['add_to_MK'], 'MK');
         }
         if (isset($res['update_purch']) and count($res['update_purch']) > 0) {
             $purchaseModel->updatePurchase($res['update_purch']);
         }
         if (isset($res['add_purch']) and count($res['add_purch']) > 0) {
             $purchaseModel->addPurchases($res['add_purch']);
         }
         $historyModel->saveHistory('import', $count);
         Session::flash('message', GetMessages("SUCCESS_IMPORT_COMPLETED"));
         return redirect()->route('cloud.index');
     }
     if (isset($_POST['send_to_site'])) {
         if (!right('Import')) {
             abort(404);
         }
         //pr($_POST);
         if (isset($_POST['sent_to_'])) {
             $externalModel = new External();
             if (isset($_POST['sent_to_']['GK'])) {
                 $externalModel->send('GK');
             }
             if (isset($_POST['sent_to_']['TV'])) {
                 $externalModel->send('TV');
             }
             if (isset($_POST['sent_to_']['GK'])) {
                 $externalModel->send('MK');
             }
         }
         if (isset($_POST['clear_list'])) {
             $productModel->deleteAllExport();
         }
         Session::flash('message', GetMessages("SUCCESS_EXTERNAL_EXPORT"));
         return redirect()->route('cloud.index');
     }
 }
예제 #9
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(History $historyModel, Provider $providerModel, Request $request, $id)
 {
     if (isset($_POST['update_provider'])) {
         if (!right('EditProvider')) {
             abort(404);
         }
         if (strlen($request->input('name')) > 0) {
             $data = array('name' => $request->input('name'), 'note' => $request->input('note'), 'updated_at' => date('Y-m-d H:i:s'), 'user_id' => Auth::User()->id);
             $providerModel->updateProvider($id, $data);
             $historyModel->saveHistory('update_provider', $request->input('name'));
             Session::flash('message', GetMessages("SUCCESS_UPDATE_PROVIDER"));
             return redirect()->route('provider.index');
         } else {
             Session::flash('message', GetMessages("ERROR_EMPTY_NAME_PROVIDER"));
             return redirect($_SERVER['HTTP_REFERER']);
         }
     }
     if (isset($_POST['status_provider'])) {
         if (!right('EditProvider')) {
             abort(404);
         }
         $providerModel->changeStatus($id, $request->input('status'));
         $historyModel->saveHistory('status_provider', $id, $request->input('status'));
         Session::flash('message', GetMessages("SUCCESS_CHANGE_STATUS_PROVIDER"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
 }
예제 #10
0
 public function index()
 {
     $search = Input::get('q');
     $items = $search ? History::where('message', 'LIKE', '%' . $search . '%')->orWhere('username', 'LIKE', '%' . $search . '%')->orderBy('created_at', 'DESC')->get() : History::orderBy('created_at', 'DESC')->get();
     return view('History.index')->with(['title' => $this->title, 'items' => $items, 'search' => $search]);
 }
예제 #11
0
 public static function add($object_id, $message)
 {
     $user = User::findOrFail(Auth::user()->id);
     History::create(['user_id' => $user->id, 'username' => $user->name, 'url' => Route::getCurrentRoute()->getName(), 'action' => Route::getCurrentRoute()->getActionName(), 'message' => $message, 'object_id' => $object_id]);
 }
예제 #12
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id, User $userModel, History $historyModel)
 {
     if (isset($_POST['edit_user'])) {
         if (!right('EditUsers')) {
             abort(404);
         }
         $validator = Validator::make(array('name' => $request->input('name'), 'family' => $request->input('family'), 'password' => $request->input('password')), array('name' => 'required|min:3|max:55', 'family' => 'required|min:3|max:55', 'password' => 'min:4|max:4'), array('required' => 'Поле :attribute обязательно для заполнения', 'min' => 'Поле :attribute должно быть не меньше 4 символов', 'max' => 'Поле :attribute слишком длинное'));
         if ($validator->fails()) {
             Session::flash('message', GetMessages("ERROR_FIELD_ADD_NEW_USER"));
             return redirect()->route('user.create');
         } else {
             if (isset($_POST['right'])) {
                 $serialize_rights = serialize($_POST['right']);
             } else {
                 $serialize_rights = null;
             }
             if (strlen($request->input('password')) == 4) {
                 $password = Hash::make($request->input('password'));
             } else {
                 $password = $userModel->getPasswordFromUser($id);
             }
             $showName = $request->input('family') . ' ' . $request->input('name');
             $dataUser = array('name' => $request->input('name'), 'family' => $request->input('family'), 'patronymic' => $request->input('patronymic'), 'showname' => $showName, 'position' => $request->input('position'), 'login' => $request->input('login'), 'password' => $password, 'rights' => $serialize_rights, 'updated_at' => date('Y-m-d H:i:s'), 'user_id' => Auth::User()->id);
             $userModel->updateUser($id, $dataUser);
             $historyModel->saveHistory('update_user', $showName);
             Session::flash('message', GetMessages("SUCCESS_USER_UPDATING"));
             return redirect()->route('user.edit', ['id' => $id]);
         }
     }
     if (isset($_POST['status_user'])) {
         if (!right('EditUsers')) {
             abort(404);
         }
         $status = $request->input('status');
         $userModel->updateUser($id, array('status' => $status, 'updated_at' => date('Y-m-d H:i:s'), 'user_id' => Auth::User()->id));
         $historyModel->saveHistory('status_user', $id, $status);
         Session::flash('message', GetMessages("SUCCESS_CHANGE_STATUS_USER"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
 }
예제 #13
0
파일: Card.php 프로젝트: pyvil/test-task-sb
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getHistories()
 {
     return $this->hasMany(History::className(), ['number' => 'number']);
 }
예제 #14
0
 public function show($id)
 {
     $item = Items::with('recipes')->with('purchases')->findOrFail($id);
     $history = History::where('message', 'LIKE', '%(ID ' . $id . ')%')->where('action', '=', 'App\\Http\\Controllers\\StockCheckController@store ')->get();
     echo '<pre>';
     echo $history->count();
     echo 'id: ' . $id;
     echo '</pre>';
     return view('Items.show')->with(array('title' => $this->title, 'item' => $item, 'history' => $history));
 }
예제 #15
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id, Category $categoryModel, History $historyModel, Label $labelModel)
 {
     if (isset($_POST['rename_category'])) {
         if (!right('EditCategory')) {
             abort(404);
         }
         if (strlen($request->input('name')) > 0) {
             $categoryModel->renameCategory($id, $request->input('name'));
             $historyModel->saveHistory('rename_category', $request->input('name'));
             Session::flash('message', GetMessages("SUCCESS_RENAME_CATEGORY"));
             return redirect($_SERVER['HTTP_REFERER']);
         } else {
             Session::flash('message', GetMessages("ERROR_EMPTY_NAME_CATEGORY"));
             return redirect($_SERVER['HTTP_REFERER']);
         }
     }
     if (isset($_POST['move_category'])) {
         if (!right('EditCategory')) {
             abort(404);
         }
         $categoryModel->moveCategory($id, $request->input('new_parent_id'));
         $historyModel->saveHistory('move_category', $id);
         Session::flash('message', GetMessages("SUCCESS_MOVE_CATEGORY"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
     if (isset($_POST['create_category'])) {
         if (!right('EditCategory')) {
             abort(404);
         }
         if (strlen($request->input('name')) > 0) {
             $categoryModel->createCategory($id, $request->input('name'));
             $historyModel->saveHistory('create_category', $request->input('name'));
             Session::flash('message', GetMessages("SUCCESS_CREATE_NEW_CATEGORY"));
             return redirect()->route('category.show', ['id' => $id]);
         } else {
             Session::flash('message', GetMessages("ERROR_EMPTY_NAME_CATEGORY"));
             return redirect($_SERVER['HTTP_REFERER']);
         }
     }
     if (isset($_POST['status_category'])) {
         if (!right('EditCategory')) {
             abort(404);
         }
         $categoryModel->changeStatus($id, $request->input('status'));
         $historyModel->saveHistory('status_category', $id, $request->input('status'));
         Session::flash('message', GetMessages("SUCCESS_CHANGE_STATUS_CATEGORY"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
     if (isset($_POST['set_sort_provider'])) {
         if (!right('EditPurchase')) {
             abort(404);
         }
         $purchaseModel = new Purchase();
         $ids = $categoryModel->getChild($id);
         foreach ($_POST['sort_provider'] as $key => $provider_id) {
             if ($provider_id != 0) {
                 $purchaseModel->setSortByCategoryId($ids, $provider_id, $key);
             }
         }
         Session::flash('message', GetMessages("SUCCESS_UPDATE"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
     if (isset($_POST['labels'])) {
         if (!right('EditCategory')) {
             abort(404);
         }
         $products = $categoryModel->getProducts($id);
         foreach ($products as $product) {
             //$labelModel->joinLabels($product, explode(',', $_POST['name']));
         }
         Session::flash('message', GetMessages("SUCCESS_DATA_PRODUCTS_UPDATE"));
         return redirect($_SERVER['HTTP_REFERER']);
     }
 }
예제 #16
0
 public function updatingcbr(Currency $currencyModel, History $historyModel)
 {
     $currency_bank = array();
     //$today = date("d/m/Y");
     $ch = curl_init();
     /*curl_setopt($ch, CURLOPT_URL,
       'http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$today);*/
     curl_setopt($ch, CURLOPT_URL, 'http://www.cbr.ru/scripts/XML_daily.asp');
     curl_setopt($ch, CURLOPT_HEADER, false);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     $xml = curl_exec($ch);
     curl_close($ch);
     if ($xml) {
         $sxml = simplexml_load_string($xml);
         foreach ($sxml->Valute as $item) {
             $charCode = (string) $item->CharCode;
             $rate = (string) $item->Value;
             $nominal = (string) $item->Nominal;
             if ($nominal > 1) {
                 $rate = $rate / $nominal;
             }
             $rate = (double) str_replace(',', '.', $rate);
             $currency_bank[$charCode] = array('rate' => $rate);
         }
         unset($sxml);
     }
     if (count($currency_bank) < 1) {
         Session::flash('message', GetMessages("ERROR"));
         return redirect()->route('currency.index');
     }
     $currenciesList = $currencyModel->getListCurrencies();
     if (isset($_REQUEST['user_id'])) {
         $user_id = $_REQUEST['user_id'];
     } else {
         $user_id = 1;
     }
     foreach ($currenciesList as $currency) {
         if (array_key_exists($currency->currency, $currency_bank)) {
             $arFields = array('currency_id' => $currency->id, 'rate' => $currency_bank[$currency->currency]['rate'], 'old_rate' => $currencyModel->getRateById($currency->id), 'user_id' => $user_id);
             $currencyModel->updateCurrency($arFields);
         }
     }
     $historyModel->saveHistory('auto_update_currency', $user_id);
     if (isset($_REQUEST['user_id'])) {
         Session::flash('message', GetMessages("SUCCESS_AUTO_UPDATING_CURR"));
         return redirect()->route('currency.index');
     } else {
         return "success updating";
     }
 }