]> git.mxchange.org Git - friendica.git/commitdiff
Item model, fix deletion of all attachments
authorfabrixxm <fabrix.xm@gmail.com>
Wed, 2 Jan 2019 15:37:55 +0000 (16:37 +0100)
committerHypolite Petovan <hypolite@mrpetovan.com>
Mon, 21 Jan 2019 15:00:45 +0000 (10:00 -0500)
Item model delete all attachments on item deletion, but it should check
if same attachment isn't used somewhere else.

src/Model/Item.php
vagrant.local.yaml [new file with mode: 0644]

index a6e378034b09cf508442d601c7e9a5078655e80d..b71db999d037d5f4c7f4a22bedf16a99840a5edd 100644 (file)
@@ -1028,6 +1028,7 @@ class Item extends BaseObject
                 * This only applies to photos uploaded from the photos page. Photos inserted into a post do not
                 * generate a resource-id and therefore aren't intimately linked to the item.
                 */
+               /// @TODO: this should first check if photo is used elsewhere
                if (strlen($item['resource-id'])) {
                        Photo::delete(['resource-id' => $item['resource-id'], 'uid' => $item['uid']]);
                }
@@ -1038,7 +1039,8 @@ class Item extends BaseObject
                }
 
                // If item has attachments, drop them
-               foreach (explode(", ", $item['attach']) as $attach) {
+               /// @TODO: this should first check if attachment is used elsewhere
+               foreach (explode(",", $item['attach']) as $attach) {
                        preg_match("|attach/(\d+)|", $attach, $matches);
                        if (is_array($matches) && count($matches) > 1) {
                                Attach::delete(['id' => $matches[1], 'uid' => $item['uid']]);
diff --git a/vagrant.local.yaml b/vagrant.local.yaml
new file mode 100644 (file)
index 0000000..7347cc7
--- /dev/null
@@ -0,0 +1,2 @@
+server:
+  memory: "1024" # MB