/**
  * Increases the SilverCart version if necessary.
  * 
  * @return void
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 08.04.2013
  */
 public function increaseSilvercartVersion()
 {
     $defaults = Config::inst()->get('SilvercartSiteConfig', 'defaults');
     $minorVersion = $defaults['SilvercartMinorVersion'];
     $config = SilvercartConfig::getConfig();
     if ($config->SilvercartMinorVersion != $minorVersion) {
         $config->SilvercartMinorVersion = $minorVersion;
         $config->write();
     }
 }
 /**
  * Requires the color scheme CSS.
  * 
  * @return bool
  * 
  * @author Sebastian Diel <*****@*****.**>
  * @since 05.06.2014
  */
 public function RequireColorSchemeCSS()
 {
     Requirements::themedCSS('color_' . SilvercartConfig::getConfig()->ColorScheme, 'silvercart');
 }
 /**
  * executed if there are no valdation errors on submit
  * Form data is saved in session
  *
  * @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 <*****@*****.**>
  * @since 16.06.2014
  */
 protected function submitSuccess($data, $form, $formData)
 {
     $formData['RevocationOrderData'] = str_replace('\\r\\n', "\n", $formData['RevocationOrderData']);
     $config = SilvercartConfig::getConfig();
     $country = DataObject::get_by_id('SilvercartCountry', $formData['Country']);
     $variables = array('Email' => $formData['Email'], 'Salutation' => $formData['Salutation'], 'FirstName' => $formData['FirstName'], 'Surname' => $formData['Surname'], 'Street' => $formData['Street'], 'StreetNumber' => $formData['StreetNumber'], 'Addition' => $formData['Addition'], 'Postcode' => $formData['Postcode'], 'City' => $formData['City'], 'Country' => $country, 'OrderDate' => $formData['OrderDate'], 'OrderNumber' => $formData['OrderNumber'], 'RevocationOrderData' => str_replace('\\r\\n', '<br/>', nl2br($formData['RevocationOrderData'])), 'CurrentDate' => $this->getCurrentDate(), 'ShopName' => $config->ShopName, 'ShopStreet' => $config->ShopStreet, 'ShopStreetNumber' => $config->ShopStreetNumber, 'ShopPostcode' => $config->ShopPostcode, 'ShopCity' => $config->ShopCity, 'ShopCountry' => $config->ShopCountry());
     SilvercartShopEmail::send('RevocationNotification', SilvercartConfig::DefaultMailOrderNotificationRecipient(), $variables);
     SilvercartShopEmail::send('RevocationConfirmation', $formData['Email'], $variables);
     $revocationPage = SilvercartRevocationFormPage::get()->first();
     $this->Controller()->redirect($revocationPage->Link('success'));
 }
 /**
  * Restores the config parameters out of the old SilvercartConfig object.
  * 
  * @return void
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 21.12.2015
  */
 public function requireDefaultRecords()
 {
     $result = DB::query('SHOW TABLES LIKE \'SilvercartConfig\'');
     if ($result->numRecords() > 0) {
         $config = SilvercartConfig::getConfig();
         $skipFields = array('ID', 'ClassName', 'Created', 'LastEdited');
         $silvercartConfig = DB::query('SELECT * FROM SilvercartConfig;');
         foreach ($silvercartConfig as $row) {
             foreach ($row as $fieldName => $fieldValue) {
                 if (in_array($fieldName, $skipFields)) {
                     continue;
                 } elseif ($fieldName == 'Locale') {
                     $config->DefaultLocale = $fieldValue;
                 } else {
                     $config->{$fieldName} = $fieldValue;
                 }
             }
             $config->write();
         }
         DB::query('DROP TABLE SilvercartConfig');
     }
 }