/** * Loads the configuration from the Database * @return ConfigurationModel */ public function loadConfiguration() { $config_model = new ConfigurationModel(); $config = Configuration::getMultiple(array('PIGMBH_PAYMILL_PUBLICKEY', 'PIGMBH_PAYMILL_PRIVATEKEY', 'PIGMBH_PAYMILL_DEBIT_DAYS', 'PIGMBH_PAYMILL_DEBUG', 'PIGMBH_PAYMILL_LOGGING', 'PIGMBH_PAYMILL_DEBIT', 'PIGMBH_PAYMILL_CREDITCARD', 'PIGMBH_PAYMILL_FASTCHECKOUT', 'PIGMBH_PAYMILL_ACCEPTED_BRANDS', 'PIGMBH_PAYMILL_CAPTURE')); $config_model->setPublicKey(isset($config['PIGMBH_PAYMILL_PUBLICKEY']) ? $config['PIGMBH_PAYMILL_PUBLICKEY'] : ''); $config_model->setPrivateKey(isset($config['PIGMBH_PAYMILL_PRIVATEKEY']) ? $config['PIGMBH_PAYMILL_PRIVATEKEY'] : ''); $config_model->setDebitDays(isset($config['PIGMBH_PAYMILL_DEBIT_DAYS']) ? $config['PIGMBH_PAYMILL_DEBIT_DAYS'] : ''); $config_model->setDebug(isset($config['PIGMBH_PAYMILL_DEBUG']) ? $config['PIGMBH_PAYMILL_DEBUG'] : false); $config_model->setLogging(isset($config['PIGMBH_PAYMILL_LOGGING']) ? $config['PIGMBH_PAYMILL_LOGGING'] : false); $config_model->setDirectdebit(isset($config['PIGMBH_PAYMILL_DEBIT']) ? $config['PIGMBH_PAYMILL_DEBIT'] : false); $config_model->setCreditcard(isset($config['PIGMBH_PAYMILL_CREDITCARD']) ? $config['PIGMBH_PAYMILL_CREDITCARD'] : false); $config_model->setFastcheckout(isset($config['PIGMBH_PAYMILL_FASTCHECKOUT']) ? $config['PIGMBH_PAYMILL_FASTCHECKOUT'] : false); $config_model->setCapture(isset($config['PIGMBH_PAYMILL_CAPTURE']) ? $config['PIGMBH_PAYMILL_CAPTURE'] : false); $accepted_brands = false; if (isset($config['PIGMBH_PAYMILL_ACCEPTED_BRANDS'])) { $accepted_brands = Tools::jsonDecode($config['PIGMBH_PAYMILL_ACCEPTED_BRANDS'], true); } $config_model->setAccpetedCreditCards($accepted_brands); return $config_model; }
private function onConfigurationSave() { $old_config = $this->configuration_handler->loadConfiguration(); $new_config = new ConfigurationModel(); $accepted_brands = array(); if (Tools::getValue('accepted_brands')) { foreach (Tools::getValue('accepted_brands') as $accepted_brand) { $accepted_brands[$accepted_brand] = true; } } $accepted_brands_result = array(); foreach (array_keys($old_config->getAccpetedCreditCards()) as $key) { if (array_key_exists($key, $accepted_brands)) { $accepted_brands_result[$key] = true; } else { $accepted_brands_result[$key] = false; } } $new_config->setCreditcard(Tools::getValue('creditcard', 'OFF')); $new_config->setDirectdebit(Tools::getValue('debit', 'OFF')); $new_config->setDebug(Tools::getValue('debug', 'OFF')); $new_config->setFastcheckout(Tools::getValue('fastcheckout', 'OFF')); $new_config->setLogging(Tools::getValue('logging', 'OFF')); $new_config->setPrivateKey(trim(Tools::getValue('privatekey', $old_config->getPrivateKey()))); $new_config->setPublicKey(trim(Tools::getValue('publickey', $old_config->getPublicKey()))); $new_config->setAccpetedCreditCards($accepted_brands_result); $new_config->setDebitDays(Tools::getValue('debit_days', '7')); $new_config->setCapture(Tools::getValue('capture_option', 'OFF')); $this->configuration_handler->updateConfiguration($new_config); $this->registerPaymillWebhook($new_config->getPrivateKey()); }