Example #1
0
 private function processAttachmentChanges(Part $part, array $data)
 {
     if (array_key_exists("updates", $data)) {
         foreach ($data["updates"] as $record) {
             foreach ($part->getAttachments() as $partAttachment) {
                 if ($partAttachment->getId() == $record["id"]) {
                     $partAttachment->setDescription($record["description"]);
                     break;
                 }
             }
         }
     }
     if (array_key_exists("removals", $data)) {
         foreach ($data["removals"] as $record) {
             foreach ($part->getAttachments() as $partAttachment) {
                 if ($partAttachment->getId() == $record["id"]) {
                     PartKeepr::getEM()->remove($partAttachment);
                     $part->getAttachments()->removeElement($partAttachment);
                     break;
                 }
             }
         }
     }
     if (array_key_exists("inserts", $data)) {
         foreach ($data["inserts"] as $record) {
             $attachment = new PartAttachment();
             $attachment->setPart($part);
             $attachment->setDescription($record["description"]);
             $file = TempUploadedFile::loadById($record["tmp_id"]);
             $attachment->replace($file->getFilename());
             $attachment->setOriginalFilename($file->getOriginalFilename());
             $part->getAttachments()->add($attachment);
         }
     }
 }