#38: Made a few tweaks to the analysis function that doesn't delete the photo if it was previously analysed (i.e. it has a metadata version). Also if the original image contained Exif data (e.g. camera make), we no longer remove it if the re-analysed image doesn't (see #39)
This commit is contained in:
@@ -108,10 +108,10 @@ class PhotoService
|
||||
if ($isExifDataFound)
|
||||
{
|
||||
$this->photo->metadata_version = self::METADATA_VERSION;
|
||||
$this->photo->taken_at = $this->metadataDateTime($exifData);
|
||||
$this->photo->camera_make = $this->metadataCameraMake($exifData);
|
||||
$this->photo->camera_model = $this->metadataCameraModel($exifData);
|
||||
$this->photo->camera_software = $this->metadataCameraSoftware($exifData);
|
||||
$this->photo->taken_at = $this->metadataDateTime($exifData, $this->photo->taken_at);
|
||||
$this->photo->camera_make = $this->metadataCameraMake($exifData, $this->photo->camera_make);
|
||||
$this->photo->camera_model = $this->metadataCameraModel($exifData, $this->photo->camera_model);
|
||||
$this->photo->camera_software = $this->metadataCameraSoftware($exifData, $this->photo->camera_software);
|
||||
}
|
||||
|
||||
$this->photo->is_analysed = true;
|
||||
@@ -301,37 +301,37 @@ class PhotoService
|
||||
return $photoPath;
|
||||
}
|
||||
|
||||
private function metadataCameraMake(array $exifData)
|
||||
private function metadataCameraMake(array $exifData, $originalValue = null)
|
||||
{
|
||||
if (isset($exifData['Make']))
|
||||
{
|
||||
return $exifData['Make'];
|
||||
}
|
||||
|
||||
return null;
|
||||
return $originalValue;
|
||||
}
|
||||
|
||||
private function metadataCameraModel(array $exifData)
|
||||
private function metadataCameraModel(array $exifData, $originalValue = null)
|
||||
{
|
||||
if (isset($exifData['Model']))
|
||||
{
|
||||
return $exifData['Model'];
|
||||
}
|
||||
|
||||
return null;
|
||||
return $originalValue;
|
||||
}
|
||||
|
||||
private function metadataCameraSoftware(array $exifData)
|
||||
private function metadataCameraSoftware(array $exifData, $originalValue = null)
|
||||
{
|
||||
if (isset($exifData['Software']))
|
||||
{
|
||||
return $exifData['Software'];
|
||||
}
|
||||
|
||||
return null;
|
||||
return $originalValue;
|
||||
}
|
||||
|
||||
private function metadataDateTime(array $exifData)
|
||||
private function metadataDateTime(array $exifData, $originalValue = null)
|
||||
{
|
||||
$dateTime = null;
|
||||
if (isset($exifData['DateTimeOriginal']))
|
||||
@@ -343,11 +343,11 @@ class PhotoService
|
||||
$dateTime = $exifData['DateTime'];
|
||||
}
|
||||
|
||||
if (!is_null($dateTime))
|
||||
if (is_null($dateTime))
|
||||
{
|
||||
$dateTime = preg_replace('/^([\d]{4}):([\d]{2}):([\d]{2})/', '$1-$2-$3', $dateTime);
|
||||
return $originalValue;
|
||||
}
|
||||
|
||||
return $dateTime;
|
||||
return preg_replace('/^([\d]{4}):([\d]{2}):([\d]{2})/', '$1-$2-$3', $dateTime);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user