Source of file EcommerceMailchimpSignupDecoratorFormFixes.php
Size: 1,914 Bytes - Last Modified: 2021-12-23T10:40:51+00:00
/var/www/docs.ssmods.com/process/src/code/model/forms/EcommerceMailchimpSignupDecoratorFormFixes.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?php class EcommerceMailchimpSignupDecoratorFormFixes extends Extension { /** * * @var string */ private static $mailchimp_api_key = ''; /** * * @var string */ private static $mailchimp_list_id = ''; /** * @param FieldList */ public function updateFields(FieldList $fields) { $order = ShoppingCart::current_order(); $member = $order->Member(); if ($member) { if (! $member->existsOnMailchimp()) { $config = EcommerceDBConfig::current_ecommerce_db_config(); if ($config->MailchimpSignupHeader) { $fields->push(new HeaderField("MailchimpNewsletterSignupHeader", $config->MailchimpSignupHeader, 3)); } if ($config->MailchimpSignupIntro) { $fields->push(new LiteralField("MailchimpNewsletterSignupContent", "<p class=\"ecommerceMailchimpSignupContent\">".$config->MailchimpSignupIntro."</p>")); } $label = $config->MailchimpSignupLabel; if (!$label) { $label = _t("EcommerceMailchimpSignupDecoratorFormFixes.JOIN", "Join"); } $fields->push(new CheckboxField("MailchimpNewsletterSubscribeCheckBox", $label)); } } } /** * Process the form * * @param type $data * @param type $form * @return type */ public function onRawSubmit($data, $form, $order) { if (! empty($data['MailchimpNewsletterSubscribeCheckBox'])) { if ($data['MailchimpNewsletterSubscribeCheckBox'] == 1) { $member = $order->Member(); if (! $member->existsOnMailchimp()) { $member->subscribeToMailchimp(); } $member->updateOnMailchimp(); } } } } |