/** * @param $view */ public function posts($view) { $viewData = $view->getData(); if (!isset($view['posts'])) { $params = []; if (isset($viewData['element']->element_options)) { $options = json_decode($viewData['element']->element_options); if (isset($options->show)) { $params['limit'] = $options->show; } if (isset($options->show_images) && !$options->show_images) { $view->with('hideImages', true); } if (isset($options->category)) { $params['category'] = $options->category; } } try { $params['token'] = CustomerHelper::checkLoggedinCustomer(); $request = VendirunApi::makeRequest('blog/search', $params); $posts = $request->getData(); } catch (FailResponseException $e) { $posts = []; } $view->with('posts', $posts); } }
/** * @param $staffId * @return \Illuminate\View\View */ public function staff($staffId) { $staff = VendirunApi::makeRequest('client/staff', ['id' => $staffId])->getData(); if (!$staff) { abort(404); } return View::make('vendirun::cms.staff', ['person' => $staff]); }
/** * Composer for the menu item, Checks if the menu is already set, if not does the API request * @param View $view */ public function menuItem($view) { $viewData = $view->getData(); if (!isset($viewData['menu'])) { $slug = isset($viewData['menuSlug']) ? $viewData['menuSlug'] : ''; $menu = VendirunApi::makeRequest('cms/menu', ['slug' => $slug])->getData(); $view->with('menu', $menu->sub_menu); } }
/** * @return mixed */ public function processReset() { try { VendirunApi::makeRequest('customer/passwordReset', ['email' => Request::get('email'), 'token' => Request::get('token'), 'password' => Request::get('password')]); return Redirect::route(LocaleHelper::localePrefix() . 'vendirun.passwordResetOk'); } catch (FailResponseException $e) { $data['pageTitle'] = trans('vendirun::customer.recoverPassword'); $data['alertMessage'] = trans('vendirun::customer.recoverPasswordFail2'); $data['token'] = Request::get('token'); return View::make('vendirun::customer.password.reset-form', $data); } }
/** * @param $productId * @return \Illuminate\Http\RedirectResponse */ public function removeFavourite($productId) { $response = VendirunApi::makeRequest('product/removeFavourite', ['token' => Session::get('token'), 'product_id' => $productId]); Cache::forget('favourites-' . Session::get('token')); if (!$response->getSuccess()) { Session::flash('vendirun-alert-error', $response->getError()); } else { if (Session::has('primaryPagePath')) { return Redirect::to(Session::get('primaryPagePath')); } } return Redirect::back(); }
/** * @return \Illuminate\View\View */ public function search() { $data = []; try { $searchVars = $_GET; $searchVars['language'] = App::getLocale(); $searchVars['token'] = CustomerHelper::checkLoggedinCustomer(); $posts = VendirunApi::makeRequest('blog/search', $searchVars); $data['posts'] = $posts->getData(); } catch (FailResponseException $e) { abort('404'); } return View::make('vendirun::blog.search', $data); }
/** * @param View $view */ public function customerDetails($view) { // check if token exists and confirm login if ($token = CustomerHelper::checkLoggedinCustomer()) { $loggedIn = VendirunApi::makeRequest('customer/tokenAuth', ['token' => $token]); if ($loggedIn->getSuccess()) { $data = $loggedIn->getData(); $view->with('loggedInName', $data->name); $view->with('loggedInEmail', $data->name); } else { Session::remove('token'); } } }
/** * @param string $gateway * @return object */ public static function getPaymentGatewayInfo($gateway = '') { $paymentGateways = VendirunApi::makeRequest('client/paymentGateways')->getData(); $data['stripe'] = false; $data['paypal'] = false; foreach ($paymentGateways as $key => $settings) { if ($gateway == $key) { return $settings; } $data[$key] = true; $data[$key . 'Settings'] = $settings; } return (object) $data; }
/** * @param View $view */ public function slider($view) { $viewData = $view->getData(); if (!isset($viewData['options'])) { $viewData['options'] = json_decode($viewData['element']->element_options, true); } $slider_id = $viewData['options']['id']; try { $slider = VendirunApi::makeRequest('cms/slider', ['id' => $slider_id])->getData(); $sliderStyles = $this->getSliderStyles($slider); $slideStyles = $this->getSlideStyles($slider); } catch (FailResponseException $e) { $slider = false; $sliderStyles = []; $slideStyles = []; } $view->with('slider', $slider)->with('sliderStyles', $sliderStyles)->with('slideStyles', $slideStyles); }
/** * @param View $view */ public function getFavourites(View $view) { $cacheKey = 'favourites-' . Session::get('token'); if (!($favouriteProducts = Cache::get($cacheKey))) { try { $favouriteProducts = VendirunApi::makeRequest('product/favourites', ['token' => Session::get('token')])->getData(); } catch (\Exception $e) { $favouriteProducts = NULL; } } Cache::forever($cacheKey, $favouriteProducts); $favouriteProductsArray = []; if ($favouriteProducts) { foreach ($favouriteProducts->result as $favourite) { $favouriteProductsArray[] = $favourite->id; } } $view->with('favouriteProducts', $favouriteProducts)->with('favouriteProductsArray', $favouriteProductsArray); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $segment = $request->segment(1); if (in_array($segment, LocaleHelper::validLocales())) { app()->setLocale($segment); } else { $clientInfo = VendirunApi::makeRequest('client/publicInfo')->getData(); app()->setLocale($clientInfo->primary_language->language_code); } // if it's a CMS page, we need to get rid of the locale part of the URL so we get the actual slug if ($request->route()->getName() == 'vendirun.cmsPage') { $path = $request->route()->parameter('catchall'); $pathArray = explode('/', $path); if (in_array($pathArray[0], LocaleHelper::validLocales())) { $request->route()->setParameter('catchall', str_replace($request->segment(1) . '/', '', $path)); } } return $next($request); }
/** * @param array $items * @return object */ public function getProducts($items) { return VendirunApi::makeRequest('product/search', ['variation_list_only' => implode(",", $items), 'limit' => 0])->getData(); }
/** * @param $id * @return \Illuminate\Http\RedirectResponse */ public function delete($id) { VendirunApi::makeRequest('customer/deleteAddress', ['id' => $id]); return Redirect::route('vendirun.customer.account'); }
/** * @return object */ public static function getRegions() { return VendirunApi::makeRequest('util/countries')->getData(); }
/** * @param string $slug * @return ProductCategory */ public function find($slug) { $factory = new ProductCategoryFactory(); return $factory->fromApi(VendirunApi::makeRequest('product/category', ['locale' => App::getLocale(), 'category' => $slug])->getData()); }
/** * Update only sends payment details as you cannot edit anything else on an * order from the front-end * @param Order $order * @return Order */ private function update(Order $order) { $params = ['id' => $order->getId(), 'payments' => $this->compose_payments($order)]; $result = VendirunApi::makeRequest('order/update', $params)->getData(); return $this->find($result->order_id, false); }
/** * @param $data * @param $id * @return Customer */ private function update($data, $id) { $data['id'] = $id; VendirunApi::makeRequest('customer/update', $data)->getData(); return $this->find(); }
/** * @param $id * @return \Illuminate\View\View */ public function recommend($id) { $data = []; try { $property = VendirunApi::makeRequest('property/property', ['id' => $id]); $data['property'] = $property->getData(); } catch (FailResponseException $e) { if (App::environment() == 'production') { abort(404); } } return View::make('vendirun::property.recommend', $data); }
/** * Displays favourite properties */ public function viewFavouriteProperties() { $properties = VendirunApi::makeRequest('property/getFavourite', ['token' => Session::get('token'), 'idsOnly' => false]); return View::make('vendirun::property.favourite-properties')->with('properties', $properties->getData()); }
/** * @param View $view */ public function getFavourites(View $view) { $favouritePropertiesArray = []; try { $favouriteProperties = VendirunApi::makeRequest('property/getFavourite', ['token' => Session::get('token')])->getData(); foreach ($favouriteProperties as $favourite) { $favouritePropertiesArray[] = $favourite->id; } } catch (\Exception $e) { $favouriteProperties = NULL; } $view->with('favouriteProperties')->with('favouritePropertiesArray', $favouritePropertiesArray); }
/** * @param $productVariationId * @return mixed */ public function findByVariationId($productVariationId) { $searchParams['product_variation_id'] = $productVariationId; $productFactory = new ProductFactory(); return $productFactory->fromApi(VendirunApi::makeRequest('product/product', $searchParams)->getData()); }
/** * @param $callbackData * @return $this|\Illuminate\Http\RedirectResponse */ private function doEmailVerification($callbackData) { try { $params = ['email' => $callbackData['email'], 'callback_url' => route(LocaleHelper::localePrefix() . 'vendirun.emailConfirmAction'), 'callback_data' => json_encode($callbackData)]; VendirunApi::makeRequest('customer/verifyEmail', $params); return Redirect::route(LocaleHelper::localePrefix() . 'vendirun.emailConfirm'); } catch (FailResponseException $e) { return Redirect::route(LocaleHelper::localePrefix() . 'vendirun.register')->withInput()->withErrors($e->getMessage()); } }