/** * (non-PHPdoc) * @see de\RaumZeitLabor\PartKeepr\Service.RestfulService::create() */ public function create () { $this->requireParameter("tmp_id"); $this->requireParameter("footprint_id"); $tmpImage = TempUploadedFile::loadById($this->getParameter("tmp_id")); $file = new FootprintAttachment(); $footprint = Footprint::loadById($this->getParameter("footprint_id")); $file->setFootprint($footprint); $file->replace($tmpImage->getFilename()); $file->setOriginalFilename($tmpImage->getOriginalFilename()); $file->setDescription($this->getParameter("description")); PartKeepr::getEM()->persist($file); PartKeepr::getEM()->flush(); return $file->serialize(); }
switch ($type) { case "PartAttachment": $file = PartAttachment::loadById($id); break; case "FootprintAttachment": $file = FootprintAttachment::loadById($id); break; default: $file = null; // Add default image? } } catch (\Exception $e) { $file = null; // Something bad happened } if ($file == null) { // Could not find the image, but maybe we want a temporary image? if (array_key_exists("tmpId", $_REQUEST)) { $file = TempUploadedFile::loadById($_REQUEST["tmpId"]); } } header("Content-Type: ".$file->getMimeType()); $fp = fopen($file->getFilename(), "rb"); fpassthru($fp); fclose($fp); PartKeepr::getEM()->flush(); exit();
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); } } }