/** * 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'); } }