Item model, fix deletion of all attachments
Item model delete all attachments on item deletion, but it should check if same attachment isn't used somewhere else.
This commit is contained in:
parent
906b7841d4
commit
b640024b51
|
@ -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
|
* 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.
|
* 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'])) {
|
if (strlen($item['resource-id'])) {
|
||||||
Photo::delete(['resource-id' => $item['resource-id'], 'uid' => $item['uid']]);
|
Photo::delete(['resource-id' => $item['resource-id'], 'uid' => $item['uid']]);
|
||||||
}
|
}
|
||||||
|
@ -1038,7 +1039,8 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// If item has attachments, drop them
|
// 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);
|
preg_match("|attach/(\d+)|", $attach, $matches);
|
||||||
if (is_array($matches) && count($matches) > 1) {
|
if (is_array($matches) && count($matches) > 1) {
|
||||||
Attach::delete(['id' => $matches[1], 'uid' => $item['uid']]);
|
Attach::delete(['id' => $matches[1], 'uid' => $item['uid']]);
|
||||||
|
|
2
vagrant.local.yaml
Normal file
2
vagrant.local.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
server:
|
||||||
|
memory: "1024" # MB
|
Loading…
Reference in a new issue