public function addProduct($id, $num)
 {
     if (Request::ajax()) {
         if (Session::has("cart")) {
             $cart = Session::get("cart");
             $check = array_key_exists($id, $cart);
             //kiem tra san pham da co trong gio chua
             if ($check) {
                 //roi thi tra ve
                 $result = "Sản phẩm đã có trong giỏ hàng";
                 return json_encode(["result" => $result]);
             } else {
                 //chua thi them san pham
                 $product = [$id => $num];
                 $cart = Session::pull("cart");
                 $cart += $product;
                 Session::put("cart", $cart);
                 $result = "Thêm giỏ hàng thành công";
                 $tsl = countProducts();
                 return json_encode(["result" => $result, "tsl" => $tsl]);
             }
         } else {
             //chua ton tai session gio hang
             $product = [$id => $num];
             Session::put("cart", $product);
             $tsl = $num;
             $result = "Thêm giỏ hàng thành công";
             return json_encode(["result" => $result, "tsl" => $tsl]);
         }
     } else {
         return redirect("/");
     }
 }
 /**
  * Handle the report append command.
  *
  * @param \Gitamin\Commands\Identity\AddIdentityCommand $command
  *
  * @return \Gitamin\Models\Identity
  */
 public function handle(AddIdentityCommand $command)
 {
     $data = ['user_id' => $command->userId, 'extern_uid' => $command->data['extern_uid'], 'provider_id' => $command->data['provider_id'], 'nickname' => $command->data['nickname'], 'created_at' => Carbon::now()->toDateTimeString()];
     // Create the identify
     $identify = Identity::create($data);
     Session::pull('connect_data');
     return $identify;
 }
Esempio n. 3
0
 /**
  * Validates the Two Factor token.
  *
  * This feels very hacky, but we have to juggle authentication and codes.
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function postTwoFactor()
 {
     // Check that we have a session.
     if ($userId = Session::pull('2fa_id')) {
         $code = Binput::get('code');
         // Maybe a temp login here.
         Auth::loginUsingId($userId);
         $valid = Google2FA::verifyKey(Auth::user()->google_2fa_secret, $code);
         if ($valid) {
             return Redirect::intended('dashboard');
         } else {
             // Failed login, log back out.
             Auth::logout();
             return Redirect::route('auth.login')->withError(trans('forms.login.invalid-token'));
         }
     }
     return Redirect::route('auth.login')->withError(trans('forms.login.invalid-token'));
 }
Esempio n. 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     if (Session::has('user_instagram_info')) {
         $rules = array('firstname' => 'required', 'surname' => 'required', 'shopname' => 'required', 'shopemail' => 'required|email', 'pass' => 'required', 'repass' => 'required|same:pass');
         // do the validation ----------------------------------
         // validate against the inputs from our form
         $validator = Validator::make($request->all(), $rules);
         // check if the validator failed -----------------------
         if ($validator->fails()) {
             // get the error messages from the validator
             $messages = $validator->messages();
             // redirect our user back to the form with the errors from the validator
             return back()->withInput()->withErrors($messages);
         } else {
             $instagramInfo = Session::pull('user_instagram_info');
             $user = new User();
             $user->name = $request->input('firstname');
             $user->surname = $request->input('surname');
             $user->setAsSupplier();
             $user->is_active = false;
             $user->email = $request->input('shopemail');
             $user->password = bcrypt($request->input('pass'));
             $user->save();
             $supplier = new Supplier();
             $supplier->id = $user->id;
             $supplier->shop_name = $request->input('shopname');
             $supplier->profile_image = $instagramInfo->user->profile_picture;
             $supplier->save();
             $instagramAccount = new InstagramAccount();
             $instagramAccount->instagram_id = $instagramInfo->user->id;
             $instagramAccount->username = $instagramInfo->user->username;
             $instagramAccount->access_token = $instagramInfo->access_token;
             $instagramAccount->full_name = $instagramInfo->user->full_name;
             $instagramAccount->bio = $instagramInfo->user->bio;
             $instagramAccount->website = $instagramInfo->user->website;
             $instagramAccount->profile_picture = $instagramInfo->user->profile_picture;
             $supplier->instagramAccount()->save($instagramAccount);
             Storage::makeDirectory($user->id);
             return redirect()->action('AuthenticationController@showRegister')->with('success', ['Successful']);
         }
     } else {
         return redirect()->action('AuthenticationController@showRegister');
     }
 }
Esempio n. 5
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $rules = array('firstname' => 'required', 'surname' => 'required', 'customeremail' => 'required|email', 'pass' => 'required', 'phone' => 'required', 'rpass' => 'required|same:pass');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         // get the error messages from the validator
         $messages = $validator->messages();
         // redirect our user back to the form with the errors from the validator
         return back()->withInput()->withErrors($messages);
     } else {
         if (User::where('email', $request->input('customeremail'))->first()) {
             return redirect()->action('AuthenticationController@showRegister')->withErrors(['messages' => "Sistemde mail adresi kayıtlı"]);
         }
         $user = new User();
         $user->name = trim($request->input('firstname'));
         $user->surname = trim($request->input('surname'));
         $user->setAsCustomer();
         $user->is_active = false;
         $user->email = $request->input('customeremail');
         $user->password = bcrypt($request->input('pass'));
         $user->save();
         $customer = new Customer();
         $customer->phone = $request->input('phone');
         $customer->id = $user->id;
         $customer->save();
         if (Session::has('user_instagram_info')) {
             $instagramInfo = Session::pull('user_instagram_info');
             $instagramAccount = new InstagramAccount();
             $instagramAccount->instagram_id = $instagramInfo->user->id;
             $instagramAccount->username = $instagramInfo->user->username;
             $instagramAccount->access_token = $instagramInfo->access_token;
             $instagramAccount->full_name = $instagramInfo->user->full_name;
             $instagramAccount->bio = $instagramInfo->user->bio;
             $instagramAccount->website = $instagramInfo->user->website;
             $instagramAccount->profile_picture = $instagramInfo->user->profile_picture;
             $customer->instagramAccount()->save($instagramAccount);
         }
         Storage::makeDirectory($user->id);
         return redirect()->action('AuthenticationController@showRegister')->with('success', ['Successful']);
     }
 }
 /**
  * Show the form for creating a single new user.
  * @return Response
  */
 public function create()
 {
     // Check to see if we have been given a summary from the bulk add process.
     // If this is the case then render the results view instead of the form.
     $results = Session::pull('bulkResults');
     if ($results) {
         return View::make('users.bulk_summary')->with('results', $results);
     } else {
         return View::make('users.create');
     }
 }
 public function removeFromComparison($property)
 {
     $modified = array_diff(Session::pull('properties_in_comparison', []), [$property->id]);
     Session::put('properties_in_comparison', $modified);
 }
Esempio n. 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');
     }
 }
 /**
  * Renders index page for the settings
  * 
  * @return Response
  */
 public function getIndex()
 {
     $settings = Settings::getAll();
     $locales = Settings::getLocales();
     return view('admin.settings.index', ['settings' => $settings, 'locales' => $locales, 'settings_tab' => Session::pull('settings_tab')]);
 }
Esempio n. 10
0
 public function callback(Request $request)
 {
     if (Session::get('instagram_operation')) {
         $instagramOperation = Session::pull('instagram_operation');
         if ($instagramOperation['operation'] == 'login') {
             if ($request->get('code')) {
                 $code = $request->get('code');
                 $instagram = new InstagramAPI();
                 $data = $instagram->getOAuthToken($code);
                 $instagramAccount = InstagramAccount::where(['username' => $data->user->username, 'access_token' => $data->access_token])->first();
                 if ($instagramAccount) {
                     if (Auth::loginUsingId($instagramAccount->instagramable->user->id)) {
                         if ($instagramAccount->instagramable->user->isSupplier()) {
                             return redirect()->action('Dashboard\\SupplierController@show');
                         }
                         if ($instagramAccount->instagramable->user->isCustomer()) {
                             return redirect()->action('Dashboard\\CustomerController@show');
                         }
                     }
                 } else {
                     return redirect()->action('AuthenticationController@showRegister')->withErrors(['messages' => "Kayıtlı Kullanıcı Bulunamadı"]);
                 }
             }
         }
         if ($instagramOperation['operation'] == 'register') {
             if ($instagramOperation['user_type'] == 'supplier') {
                 if (Session::has('user_instagram_info')) {
                     Session::forget('user_instagram_info');
                 }
                 if ($request->get('code')) {
                     $code = $request->get('code');
                     $instagram = new InstagramAPI();
                     $data = $instagram->getOAuthToken($code);
                     Session::put('user_instagram_info', $data);
                     return Redirect::action('Dashboard\\SupplierController@create');
                 }
             }
             if ($instagramOperation['user_type'] == 'customer') {
                 if (Session::has('user_instagram_info')) {
                     Session::forget('user_instagram_info');
                 }
                 if ($request->get('code')) {
                     $code = $request->get('code');
                     $instagram = new InstagramAPI();
                     $data = $instagram->getOAuthToken($code);
                     Session::put('user_instagram_info', $data);
                     return Redirect::action('Dashboard\\CustomerController@create');
                 }
             }
         }
     }
 }
Esempio n. 11
0
 /**
  * Process the response from a provider connect attempt.
  *
  * @param string                                $provider
  * @param \OAuth\Common\Service\AbstractService $service
  * @param array                                 $access_token
  * 
  * @return Redirect
  */
 protected function processConnect($provider, $service, $access_token)
 {
     $user_info_callback = Config::get('laravel-social::providers.' . strtolower($provider) . '.fetch_user_info');
     if (empty($user_info_callback) || !$user_info_callback instanceof Closure) {
         return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem connecting your account (6).');
     }
     try {
         $user_info = $user_info_callback($service);
     } catch (Exception $e) {
     }
     if (empty($user_info) || !is_array($user_info)) {
         return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem connecting your account (7).');
     }
     if (empty($user_info['id'])) {
         return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem connecting your account (8).');
     }
     $provider_id = array_get($user_info, 'id');
     $user_provider = Provider::where('provider', strtolower($provider))->where('provider_id', $provider_id)->first();
     if ($user_provider) {
         if ($user_provider->user_id != Auth::id()) {
             return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem connecting your account (9).');
         }
         $user_provider->access_token = $access_token;
         $user_provider->save();
     } else {
         $this->linkProvider(Auth::id(), $provider, $provider_id, $access_token);
     }
     return Redirect::to(Session::pull('mmanos.social.onsuccess', '/'))->with(Config::get('laravel-social::success_flash_var'), 'You have successfully connected your account.');
 }
 public function logout()
 {
     $post_data = array();
     $post_data['ComToken'] = Session::pull('ComToken');
     $post_data['Logout'] = Session::pull('AuthToken');
     $response = $this->curlRequest($post_data);
     Session::flush();
     $this->loggedOut = true;
 }
 public function profile($user_name = null)
 {
     if (trim($user_name) == "") {
         if (Session::has('user')) {
             $aUser = Session::pull('user');
             $aCharacters = Character::where('user_id', $aUser['id'])->get()->toArray();
             /*if(count($aCharacters) == 0){
                   return view('users.users.show')->with('characters', $aCharacters);
               }*/
             return view('users.users.show')->with('characters', $aCharacters);
         } else {
             return redirect('user');
         }
     } else {
     }
 }
Esempio n. 14
0
 public function check($captcha = null, $sessionName = '_captcha')
 {
     return Session::pull($sessionName) === strtoupper($captcha);
 }
 public function DeleteProductFromBasket($id, $model)
 {
     $ids = array();
     foreach (Session::pull("basketProducts") as $product) {
         if ($product[0] == $id && $product[1] == $model) {
             continue;
         }
         array_push($ids, array($product[0], $product[1]));
     }
     Session::put("basketProducts", $ids);
     return "success";
 }
Esempio n. 16
0
 public function postRedirect(Request $request)
 {
     $trx = array();
     $transidmerchant = explode('_', $request->input('TRANSIDMERCHANT'));
     $trx['amount'] = $request->input('AMOUNT');
     $trx['transaction_id'] = $transidmerchant[1];
     $trx['msc_transaction_id'] = $request->input('TRANSIDMERCHANT');
     $trx['status_code'] = $request->input('STATUSCODE');
     $existingTransactions = MyShortCart::getExistingTransactions($trx['transaction_id'], 'REQUEST', $trx['amount']);
     if (count($existingTransactions) < 1) {
         return 'Stop : Transaction Not Found';
     } else {
         if ($request->has('PAYMENTCODE')) {
             $trx['payment_code'] = $request->input('PAYMENTCODE');
         }
         $trx['result_message'] = $request->input('RESULT');
         $trx['payment_datetime'] = $request->input('TRANSDATE');
         $trx['payment_channel'] = $request->input('PTYPE');
         $trx['extra_info'] = $request->input('EXTRAINFO');
         $trx['ip_address'] = $request->ip();
         $trx['process_datetime'] = Carbon::now()->toDateTimeString();
         $trx['process_type'] = 'REDIRECT';
         if ($trx['status_code'] == "00" || strtolower($trx['result_message']) == 'success') {
             $trx['message'] = "Redirect process message come from MyShortCart. Transaction is Success";
             if (config('myshortcart.completed_event') !== false) {
                 $transactionData = ['method' => MyShortCart::getMachineName(), 'transaction_id' => $trx['transaction_id'], 'amount' => $trx['amount'], 'status' => 'success'];
                 $completedEvent = config('myshortcart.completed_event');
                 Event::fire(new $completedEvent($transactionData));
             }
         } else {
             if (strtolower($trx['payment_channel']) == "bank transfer" || strtolower($trx['payment_channel']) == "alfamart") {
                 $trx['message'] = "Redirect process message come from MyShortCart. Transaction is waiting for payment from ATM / ALFA Mart";
                 if (config('myshortcart.completed_event') !== false) {
                     $transactionData = ['method' => MyShortCart::getMachineName(), 'transaction_id' => $trx['transaction_id'], 'amount' => $trx['amount'], 'status' => 'success', 'payment_channel' => strtolower($trx['payment_channel'])];
                     $completedEvent = config('myshortcart.completed_event');
                     Event::fire(new $completedEvent($transactionData));
                 }
             } else {
                 $trx['message'] = "Redirect process message come from MyShortCart. Transaction is Failed";
                 if (config('myshortcart.failed_event') !== false) {
                     $transactionData = ['method' => MyShortCart::getMachineName(), 'transaction_id' => $trx['transaction_id'], 'amount' => $trx['amount'], 'status' => 'failed'];
                     $completedEvent = config('myshortcart.failed_event');
                     Event::fire(new $completedEvent($transactionData));
                 }
             }
         }
         MyShortCart::saveTransaction($trx);
         $redirect_url = Session::pull('payment_redirect_to');
         return redirect($redirect_url);
     }
     return 'Stop : Request Not Valid';
 }
Esempio n. 17
0
 /**
  * Validates the 2FA code.
  *
  * @param  Request  $request
  * @return Response
  */
 public function postTwoFactorAuthentication(Request $request)
 {
     $user_id = Session::pull('2fa_user_id');
     $remember = Session::pull('2fa_login_remember');
     if ($user_id) {
         $auth = Auth::guard($this->getGuard());
         $auth->loginUsingId($user_id, $remember);
         if (Google2FA::verifyKey($auth->user()->google2fa_secret, $request->get('2fa_code'))) {
             return $this->handleUserWasAuthenticated($request, true);
         }
         $auth->logout();
         return redirect()->route('login')->withError(Lang::get('auth.invalid_code'));
     }
     return redirect()->route('login')->withError(Lang::get('auth.invalid_code'));
 }
 /**
  * Handle logout
  *
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function getLogout()
 {
     Auth::user()->last_seen = Cache::get('last_seen_' . Auth::user()->id);
     Cache::forget('last_seen_' . Auth::user()->id);
     Session::pull('locale');
     Auth::user()->save();
     Auth::logout();
     flash()->info(trans('users.logout_success'));
     return redirect('/');
 }
 public function import(Request $request)
 {
     $filePath = Session::pull('dataTransferResult.FilesPath');
     $createdProductCategories = [];
     $createdProductLines = [];
     Excel::selectSheets('Категории')->load($filePath . '/products.xlsx', function ($reader) use($filePath, $createdProductCategories, $createdProductLines) {
         foreach ($reader->toArray() as $row) {
             if ($row['nomer'] == null) {
                 continue;
             }
             $productCategory = ProductCategory::findOrNew($row['nomer']);
             if ($row['nomer'] > ProductCategory::max('id')) {
                 $imagePattern = '/img/product-category-' . $row['nomer'];
                 $findResults = File::glob($filePath . $imagePattern . '*');
                 $imageOriginalPath = $findResults[0];
                 $imageExt = File::extension($imageOriginalPath);
                 $imagePath = $filePath . $imagePattern . '.' . $imageExt;
                 $newImagePath = 'img/uploads/' . str_random(32) . '.' . $imageExt;
                 File::move($imagePath, public_path() . '/' . $newImagePath);
                 $productCategory->id = $row['nomer'];
                 $productCategory->title = $row['nazvanie'];
                 $productCategory->image = $newImagePath;
                 $createdProductCategories[$row['nomer']] = $productCategory;
                 $productCategory->save();
             }
         }
         Excel::selectSheets('Линейки продукции')->load($filePath . '/products.xlsx', function ($reader) use($filePath, $createdProductCategories, $createdProductLines) {
             foreach ($reader->toArray() as $row) {
                 if ($row['nomer'] == null) {
                     continue;
                 }
                 if ($row['nomer'] > ProductLine::max('id')) {
                     $imagePattern = '/img/product-line-' . $row['nomer'];
                     $findResults = File::glob($filePath . $imagePattern . '*');
                     $imageOriginalPath = $findResults[0];
                     $imageExt = File::extension($imageOriginalPath);
                     $imagePath = $filePath . $imagePattern . '.' . $imageExt;
                     $newImagePath = 'img/uploads/' . str_random(32) . '.' . $imageExt;
                     File::move($imagePath, public_path() . '/' . $newImagePath);
                     $createdProductLines[$row['nomer']] = ProductLine::create(['id' => $row['nomer'], 'product_category_id' => $row['kategoriya'], 'title' => $row['nazvanie'], 'image' => $newImagePath]);
                 }
             }
             Excel::selectSheets('Продукция')->load($filePath . '/products.xlsx', function ($reader) use($filePath, $createdProductCategories, $createdProductLines) {
                 foreach ($reader->toArray() as $row) {
                     if ($row['nomer'] == null) {
                         continue;
                     }
                     $imagePattern = '/img/product-' . $row['nomer'];
                     $findResults = File::glob($filePath . $imagePattern . '*');
                     $imageOriginalPath = $findResults[0];
                     $imageExt = File::extension($imageOriginalPath);
                     $imagePath = $filePath . $imagePattern . '.' . $imageExt;
                     $newImagePath = 'img/uploads/' . str_random(32) . '.' . $imageExt;
                     File::move($imagePath, public_path() . '/' . $newImagePath);
                     $productCategoryId = $row['kategoriya'] == null ? null : $row['kategoriya'];
                     $productLineId = $row['lineyka_produktsii'] == null ? null : $row['lineyka_produktsii'];
                     $product = new Product(['title' => $row['nazvanie'], 'image' => $newImagePath, 'rating' => $row['reyting']]);
                     if ($productCategoryId != null) {
                         if (array_key_exists(intval($row['kategoriya']), $createdProductCategories)) {
                             $product->productCategory()->associate($createdProductCategories[$row['kategoriya']]);
                         } else {
                             $product->productCategory()->associate(ProductCategory::find($productCategoryId));
                         }
                     }
                     if ($productLineId != null) {
                         if (array_key_exists(intval($row['lineyka_produktsii']), $createdProductLines)) {
                             $product->productLine()->associate($createdProductLines[$row['lineyka_produktsii']]);
                         } else {
                             $product->productLine()->associate(ProductLine::find([$row['lineyka_produktsii']]));
                         }
                     }
                     $product->save();
                     $imagePattern = '/img/product-' . $row['nomer'] . '-color-';
                     $findResults = File::glob($filePath . $imagePattern . '*');
                     foreach ($findResults as $findResult) {
                         $newImagePath = 'img/uploads/' . str_random(32) . '.' . $imageExt;
                         $colorCode = substr($findResult, strpos($findResult, 'color') + 6, strpos($findResult, '.') - strpos($findResult, 'color') - 6);
                         File::move($findResult, public_path() . '/' . $newImagePath);
                         $productColor = new ProductColor(['image' => $newImagePath]);
                         $colorNumber = substr($findResult, strpos($findResult, 'color') + 6, strpos($findResult, '.') - strpos($findResult, 'color') - 6);
                         $imagePattern = '/img/product-' . $row['nomer'] . '-image-' . $colorNumber;
                         $findProductColorImageResults = File::glob($filePath . $imagePattern . '*');
                         $productImagePath = '';
                         if (count($findProductColorImageResults) != 0) {
                             $imageOriginalPath = $findProductColorImageResults[0];
                             $productImagePath = 'img/uploads/' . str_random(32) . '.' . $imageExt;
                             File::move($imageOriginalPath, public_path() . '/' . $productImagePath);
                         }
                         $productColor->product_image = $productImagePath;
                         $productColor->product_id = $product->id;
                         $productColor->code = $colorCode;
                         $product->productColors()->save($productColor);
                     }
                 }
                 File::cleanDirectory(public_path() . '/resources/uploads/');
             });
         });
     });
     return redirect()->route('admin.dataTransfer.index');
 }
 /**
  * Updates the CV of a Talent for corresponding sports.
  *
  * @param $id
  */
 public function updateCV(Request $request)
 {
     //--------- Need to work over this function afterwards -------//
     $this->validateCVData($request);
     //--------- Need to work over this function afterwards -------//
     $userProfile = UserProfile::find(Session::get(SiteSessions::USER_ID));
     $userParamsData = "";
     if (count($request->positions) > 0) {
         $userProfile->positions = $request->positions;
         $userProfile->preferred_position = $request->preferred_position;
     }
     $userProfile->params = $this->getParamsDataForProfile($request);
     $userProfile->save();
     //Storing Club and School information and their respective sport statistics
     $this->storeClubSchoolInformation($userProfile, $request);
     if (Session::has(SiteSessions::USER_COMPLETING_PROFILE_FIRST_TIME)) {
         Session::pull(SiteSessions::USER_COMPLETING_PROFILE_FIRST_TIME);
         return redirect('profile/completed');
     }
     return redirect('profile/editCV')->with(["cv_update_status" => "successfull"]);
 }