/** * Change the currency. * * @return Redirect */ public function show(Request $request, string $currency) { $request->session()->put('currency', $currency); $currency = Currency::where('currency', $currency)->first()->toArray(); $request->session()->put('currency_rate', $currency['rate']); // we need to update the basket $basket = $request->session()->get('basket'); foreach ($basket['items'] as $id => $item) { if (isset($item['parent_sku'])) { // its an option $product = Product::where('sku', $item['parent_sku'])->first(); $price = isset($product->salePrice) && !empty($product->salePrice) ? $product->salePrice : $product->price; foreach ($product->option_values as $option) { if ($option['sku'] == $id) { $price = number_format($option['price'] * $request->session()->get('currency_rate'), 2, '.', ''); } } } else { $product = Product::find($id); $price = isset($product->salePrice) && !empty($product->salePrice) ? $product->salePrice : $product->price; } $basket['items'][$id]['price'] = $price; } $request->session()->put('basket', $basket); return redirect()->back(); }
public function postSetActive() { $id = Input::get('id'); Currency::where('active', 1)->update(['active' => 0]); $currency = Currency::find($id); if ($currency) { $currency->active = 1; $currency->save(); return Redirect::back()->with('message', "Курс валюты '{$currency->title}' обновлён"); } return Redirect::back()->with('message', 'Ошибка обновления'); }
/** * * Helper Currency Class * * @package ecommerce-cms * @category Helper Class * @author Tihomir Blazhev <*****@*****.**> * @link https://raylight75@bitbucket.org/raylight75/ecommerce-cms.git */ public static function currency($input) { $var = session('currency'); if (isset($var)) { $currency = Currency::where('name', '=', $var)->first(); $rate = $currency->rate; } else { $rate = 1; } $total = (double) $input * (double) $rate; return number_format((double) $total, 2); }
public function __construct(Route $route) { $this->middleware(function ($request, $next) { // if session is not set get it from .env SHOP_CODE if (!$request->session()->has('shop')) { $shop = Shop::where('code', config('app.shop_code'))->first(); $request->session()->put('shop', $shop->id); } // if limit is not set default pagination limit if (!$request->session()->has('limit')) { $request->session()->put('limit', 102); } // if session is not set reset the session for the language if (!$request->session()->has('language')) { $request->session()->put('language', config('app.locale')); } // if session is not set reset the session for the currency if (!$request->session()->has('currency')) { $request->session()->put('currency', config('app.currency')); } if (!$request->session()->has('currency_rate')) { $currency = Currency::where('currency', config('app.currency'))->first(); $request->session()->put('currency_rate', $currency->rate); } // if session is not set reset the session for the basket if (!$request->session()->has('basket')) { $request->session()->put('basket', ['subtotal' => 0, 'count' => 0, 'items' => []]); } // global list of categories if (!$request->session()->has('categories')) { $categories = Category::where('shop_id', $request->session()->get('shop'))->orderBy('order', 'asc')->get()->toArray(); $request->session()->put('categories', $categories); } // global list of product filters if (!$request->session()->has('filters')) { $options = Option::all()->toArray(); // Serialization of 'MongoDB\BSON\ObjectID' is not allowed $request->session()->put('filters', $options); } // share globals view()->share('language', $request->session()->get('language')); return $next($request); }); // add controller & action to the body class $currentAction = $route->getActionName(); list($controller, $method) = explode('@', $currentAction); $controller = preg_replace('/.*\\\\/', '', $controller); $action = preg_replace('/.*\\\\/', '', $method); view()->share('body_class', $controller . '-' . $action); }
public function listing($page, $limit) { $response = array('data' => array(), 'paginator' => ''); if (!empty($limit)) { $currencies = Currency::paginate($limit); } else { $currencies = Currency::where('id', '>', '0')->get(); } if (!empty($currencies)) { foreach ($currencies as $key => $currency) { $response['data'][] = $this->get($currency->id, false); } } if (!empty($limit)) { $response = Utility::paginator($response, $currencies, $limit); } return $response; }
/** * @param Course $course * @return \Illuminate\Http\RedirectResponse * @throws \Exception */ public function destroy(Course $course) { $currency = Currency::where('id', $course->currency_id)->first(); $currency->delete(); $course->delete(); return back(); }