X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FModel%2FPhoto.php;h=8ad7f3145f3d8c30d593c3b1b34c24999774171a;hb=4b9820031542d83a0273ac79f833831e8ed93b73;hp=67ab217cd4782fac9262f96444ccc432beed9686;hpb=4a95ca280d665eda09529f91eb28b517a471e683;p=friendica.git diff --git a/src/Model/Photo.php b/src/Model/Photo.php index 67ab217cd4..8ad7f3145f 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -10,10 +10,11 @@ use Friendica\BaseObject; use Friendica\Core\Cache; use Friendica\Core\Config; use Friendica\Core\L10n; -use Friendica\Core\System; use Friendica\Core\StorageManager; +use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\Database\DBStructure; +use Friendica\Model\Storage\IStorage; use Friendica\Object\Image; use Friendica\Util\DateTimeFormat; use Friendica\Util\Network; @@ -41,7 +42,7 @@ class Photo extends BaseObject public static function select(array $fields = [], array $conditions = [], array $params = []) { if (empty($fields)) { - $selected = self::getFields(); + $fields = self::getFields(); } $r = DBA::select("photo", $fields, $conditions, $params); @@ -172,6 +173,8 @@ class Photo extends BaseObject */ public static function getImageForPhoto(array $photo) { + $data = ""; + if ($photo["backend-class"] == "") { // legacy data storage in "data" column $i = self::selectFirst(["data"], ["id" => $photo["id"]]); @@ -188,6 +191,7 @@ class Photo extends BaseObject if ($data === "") { return null; } + return new Image($data, $photo["type"]); } @@ -199,7 +203,7 @@ class Photo extends BaseObject */ private static function getFields() { - $allfields = DBStructure::definition(false); + $allfields = DBStructure::definition(self::getApp()->getBasePath(), false); $fields = array_keys($allfields["photo"]["fields"]); array_splice($fields, array_search("data", $fields), 1); return $fields; @@ -218,11 +222,13 @@ class Photo extends BaseObject { $fields = self::getFields(); $values = array_fill(0, count($fields), ""); + $photo = array_combine($fields, $values); $photo["backend-class"] = Storage\SystemResource::class; $photo["backend-ref"] = $filename; $photo["type"] = $mimetype; $photo["cacheable"] = false; + return $photo; } @@ -268,6 +274,7 @@ class Photo extends BaseObject $data = ""; $backend_ref = ""; + /** @var IStorage $backend_class */ if (DBA::isResult($existing_photo)) { $backend_ref = (string)$existing_photo["backend-ref"]; $backend_class = (string)$existing_photo["backend-class"]; @@ -334,6 +341,7 @@ class Photo extends BaseObject $photos = self::select(["backend-class","backend-ref"], $conditions); foreach($photos as $photo) { + /** @var IStorage $backend_class */ $backend_class = (string)$photo["backend-class"]; if ($backend_class !== "") { $backend_class::delete($photo["backend-ref"]); @@ -363,6 +371,7 @@ class Photo extends BaseObject $photos = self::select(["backend-class","backend-ref"], $conditions); foreach($photos as $photo) { + /** @var IStorage $backend_class */ $backend_class = (string)$photo["backend-class"]; if ($backend_class !== "") { $fields["backend-ref"] = $backend_class::put($img->asString(), $photo["backend-ref"]); @@ -479,7 +488,7 @@ class Photo extends BaseObject } /** - * @param string $exifCoord coordinate + * @param array $exifCoord coordinate * @param string $hemi hemi * @return float */