Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Images uploaded from MultipleImageUploadField as e-mail attatchment


Reply


510 Views

Avatar
Xazen

Community Member, 18 Posts

21 February 2012 at 9:43am

Hello,

I've got a simple form with MultipleImageUploadField for the frontend.

function Form(){
      $fields = new FieldSet(
         new TextareaField('About', htmlentities('Über dich')."<span class=\"require\">*</span>", 8),
         $images = new MultipleImageUploadField('Pics', 'Bilder (Bitte Name in der Datei angeben)', array (
            'sizeLimit' => '2097152',
            'buttonText' => 'Durchsuchen..',
            'queueSizeLimit' => '5',
            'auto' => false,
            'upload_on_submit' => true
            )
         )
      );
      
      $images->imagesOnly();
      $images->uploadOnSubmit();
      $images->setUploadFolder("application");
      
      $actions = new FieldSet(
         new FormAction('doSubmitApplication','Bewerben')
      );
      $validator = new RequiredFields(
         'About'
      );
      $form = new Form(
         $this,
         'Form',
         $fields,
         $actions,
         $validator
      );
      return $form;
   }

   function doSubmitApplication($data, $form){
      $application = new Application();
      $form->saveInto($application);
      $application->write();
      Director::redirectBack();
      return;
   }

The uploaded images should be attatched to a mail. I send the mail in the Application class in the function onBeforeWrite(). In the function I use this function.

protected function sendEmail(){
      $body = "
         <p>{$this->About}</p>
      ";
      
      $from = Email::getAdminEmail();
      $email = new Email(
         $from,
         'test@gmx.de',
         "Application",
         $body
      );
      $email->send();
   }

How can I get attatch the images from the Application class?