Source of file MailchimpBlogPostExtension.php
Size: 1,902 Bytes - Last Modified: 2022-01-13T10:01:47+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/MailchimpBlogPostExtension.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?php namespace BiffBangPow\SilverStripeMailchimpSubscribe\Extensions; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FormAction; use SilverStripe\Forms\ReadonlyField; use SilverStripe\ORM\DataExtension; use SilverStripe\ORM\FieldType\DBBoolean; class MailchimpBlogPostExtension extends DataExtension { /** * @var array */ private static $db = [ 'MailchimpMailoutSent' => DBBoolean::class, ]; /** * @param FieldList $fields * @return void */ public function updateCMSFields(FieldList $fields) { if ($this->owner->MailchimpMailoutSent === '1') { $mailchimpMailoutSent = 'Yes'; } else { $mailchimpMailoutSent = 'No'; } $fields->removeByName('MailchimpMailoutSent'); $fields->addFieldsToTab('Root.Mailchimp', [ ReadonlyField::create('MailchimpMailout', 'Mailchimp Mailout Sent')->setValue($mailchimpMailoutSent), ]); } /** * @param FieldList $actions */ public function updateCMSActions(FieldList $actions) { parent::updateCMSActions($actions); // Don't want to have the option of doing this for Blog Posts that aren't published yet if ($this->owner->PublishDate !== null) { if ($this->owner->MailchimpMailoutSent === '1') { $buttonClasses = 'btn-outline-primary font-icon-tick'; $buttonText = 'Mailout sent'; } else { $buttonClasses = 'btn-primary font-icon-share'; $buttonText = 'Send mailout'; } $actions->fieldByName('MajorActions') ->push( FormAction::create('doMailout', $buttonText) ->addExtraClass('btn action ' . $buttonClasses) ->setUseButtonTag(true) ); } } } |