*/ class Mailchimp extends BaseModule { const MESSAGE_DOMAIN = "mailchimp"; const CONFIG_NEWSLETTER_LIST_ID = "mailchimp.newsletter_list_id"; const CONFIG_API_KEY = "mailchimp.api.key"; const CONFIG_API_URL = "mailchimp.api.url"; public function postActivation(ConnectionInterface $con = null) { $con->beginTransaction(); try { if (null === ConfigQuery::read(static::CONFIG_NEWSLETTER_LIST_ID)) { $this->createConfigValue(static::CONFIG_NEWSLETTER_LIST_ID, [ "fr_FR" => "ID de votre liste de diffusion Mailchimp", "en_US" => "Mailchimp diffusion list ID", ]); } if (null === ConfigQuery::read(static::CONFIG_API_KEY)) { $this->createConfigValue(static::CONFIG_API_KEY, [ "fr_FR" => "Clé d'API pour Mailchimp", "en_US" => "Api key for Mailchimp", ]); } if (null === ConfigQuery::read(static::CONFIG_API_URL)) { $this->createConfigValue(static::CONFIG_API_URL, [ "fr_FR" => "URL de l'API Mailchimp", "en_US" => "Mailchimp API URL", ]); } $con->commit(); } catch (\Exception $e) { $con->rollBack(); throw $e; } } protected function createConfigValue($name, array $translation, $value = '') { $config = new Config(); $config ->setName($name) ->setValue($value) ; foreach ($translation as $locale => $title) { $config->getTranslation($locale) ->setTitle($title) ; } $config->save(); } }