/** * @param PhotoThumb $photoThumb * @return void */ public function delete(PhotoThumb $photoThumb) { foreach ($this->thumbs as $key => $thumb) { if ($thumb->id() === $photoThumb->id()) { unset($this->thumbs[$key]); return; } } }
/** * @test */ public function photoThumbWorks() { $thumbId = new ThumbId(); $photoId = new PhotoId(); $photoFile = new PhotoFile(__DIR__ . '/pixel.png'); $photoThumb = new PhotoThumb($thumbId, $photoId, new HttpUrl('http://works'), new PhotoThumbSize(10, 10), $photoFile); $this->assertEquals($thumbId->id(), $photoThumb->id()); $this->assertEquals($photoId->id(), $photoThumb->photoId()); $this->assertEquals('http://works', $photoThumb->photoThumbHttpUrl()); $this->assertEquals(10, $photoThumb->height()); $this->assertEquals(10, $photoThumb->width()); $this->assertEquals($photoFile->filePath(), __DIR__ . '/pixel.png'); $photoThumb->updatePhotoThumbFile(null); $this->assertNull($photoThumb->photoThumbFile()); }
/** * @param PhotoThumb $thumb * @param Photo $photo * @return null|PhotoFile */ public function uploadThumb(PhotoThumb $thumb, Photo $photo) { $this->s3->putObject(['Bucket' => $this->config->bucket(), 'Key' => $this->getThumbUri($photo->id(), $photo->slug(), $thumb->width(), $thumb->height(), $thumb->photoThumbFile()->format()), 'Body' => fopen($thumb->photoThumbFile()->filePath(), 'r'), 'ContentType' => $thumb->photoThumbFile()->mimeType(), 'ACL' => 'public-read']); }
/** * @param PhotoThumb $thumb * @return void */ public function delete(PhotoThumb $thumb) { $sentence = $this->pdo->prepare("DELETE FROM photo_thumb WHERE uuid=:uuid LIMIT 1"); $sentence->bindValue(':uuid', $thumb->id()); $sentence->execute(); }
/** * @param PhotoThumb $thumb * @return boolean */ public function removeThumb(PhotoThumb $thumb) { return unlink($thumb->photoThumbFile()->filePath()); }