/**
  * We save the chosen value for the products per page in the customer's
  * configuration object here and redirect to the last view.
  *
  * @param SS_HTTPRequest $data     contains the frameworks form data
  * @param Form           $form     not used
  * @param array          $formData contains the modules form data
  *
  * @return void
  *
  * @author Sebastian Diel <*****@*****.**>,
  *         Sascha Koehler <*****@*****.**>
  * @since 15.11.2014
  */
 public function submitSuccess($data, $form, $formData)
 {
     $backLink = $this->controller->Link();
     $member = SilvercartCustomer::currentUser();
     $product = singleton('SilvercartProduct');
     $sortableFrontendFields = $product->sortableFrontendFields();
     $sortableFrontendFieldValues = array_keys($sortableFrontendFields);
     $sortOrder = $sortableFrontendFieldValues[$data['SortOrder']];
     SilvercartProduct::setDefaultSort($sortOrder);
     if (!$member) {
         $member = SilvercartCustomer::createAnonymousCustomer();
     }
     if ($member) {
         $member->getSilvercartCustomerConfig()->productsPerPage = $data['productsPerPage'];
         $member->getSilvercartCustomerConfig()->write();
     }
     if (isset($formData['backLink'])) {
         $backLink = $formData['backLink'];
     }
     $this->controller->redirect($backLink, 302);
 }
 /**
  * Removes a product out of the cart.
  *
  * @param array $data Data to use to identify the position.
  *
  * @return bool
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 15.11.2014
  */
 public static function removeProduct($data)
 {
     $error = true;
     $member = SilvercartCustomer::currentUser();
     if (!$member) {
         $member = SilvercartCustomer::createAnonymousCustomer();
     }
     $overwriteRemoveProduct = SilvercartPlugin::call($member->getCart(), 'overwriteRemoveProduct', array($data), false, 'boolean');
     if ($overwriteRemoveProduct) {
         $error = false;
     } elseif ($member instanceof Member) {
         $cart = $member->getCart();
         $position = $cart->SilvercartShoppingCartPositions()->find('SilvercartProductID', $data['productID']);
         if ($position instanceof SilvercartShoppingCartPosition) {
             $position->delete();
             $error = false;
         }
     }
     return !$error;
 }