public function show($id, Request $request)
 {
     $category = Category::find($id);
     if (strtoupper($request->sort) == 'NEWEST') {
         $products = $category->products()->orderBy('created_at', 'desc')->paginate(40);
     } elseif (strtoupper($request->sort) == 'HIGHEST') {
         $products = $category->products()->orderBy('price', 'desc')->paginate(40);
     } elseif (strtoupper($request->sort) == 'LOWEST') {
         $products = $category->products()->orderBy('price', 'asc')->paginate(40);
     } else {
         $products = $category->products()->paginate(40);
     }
     helperFunctions::getPageInfo($sections, $cart, $total);
     return view('site.category', compact('sections', 'cart', 'total', 'category', 'products'));
 }
 public function search(Request $request)
 {
     if (strtoupper($request->sort) == 'NEWEST') {
         $products = Product::where('name', 'like', '%' . $request->q . '%')->orderBy('created_at', 'desc')->paginate(40);
     } elseif (strtoupper($request->sort) == 'HIGHEST') {
         $products = Product::where('name', 'like', '%' . $request->q . '%')->orderBy('price', 'desc')->paginate(40);
     } elseif (strtoupper($request->sort) == 'LOWEST') {
         $products = Product::where('name', 'like', '%' . $request->q . '%')->orderBy('price', 'asc')->paginate(40);
     } else {
         $products = Product::where('name', 'like', '%' . $request->q . '%')->paginate(40);
     }
     helperFunctions::getPageInfo($sections, $cart, $total);
     $query = $request->q;
     return view('site.search', compact('sections', 'cart', 'total', 'products', 'query'));
 }
 public function storeShippingInformation(Request $request)
 {
     $this->validate($request, ['firstname' => 'required', 'lastname' => 'required', 'phone' => 'required', 'address' => 'required', 'city' => 'required', 'country' => 'required']);
     Session::put('shipping', $request->except('_token'));
     $userInfo = userInfo::where('user_id', Auth::user()->id);
     $userInfo->update(['firstname' => $request->firstname, 'lastname' => $request->lastname, 'address' => $request->address, 'city' => $request->city, 'country' => $request->country, 'zipcode' => $request->zipcode]);
     helperFunctions::getPageInfo($sections, $cart, $total);
     $publishable_key = Payment::first()->stripe_publishable_key;
     return view('site.payment', compact('sections', 'total', 'cart', 'publishable_key'));
 }
 public function show($page_name)
 {
     $page = Page::where('page_name', $page_name)->first();
     helperFunctions::getPageInfo($sections, $cart, $total);
     return view('site.page', compact('page', 'total', 'cart', 'sections'));
 }
 public function dashboard()
 {
     $user = Auth::user();
     helperFunctions::getPageInfo($sections, $cart, $total);
     return view('site.dashboard', compact('sections', 'total', 'cart', 'user'));
 }
 public function show()
 {
     helperFunctions::getPageInfo($sections, $cart, $total);
     return view('site.contact', compact('sections', 'total', 'cart'));
 }