From e4e990df06ef64dd08bdd6e6a78bf461dc97cc19 Mon Sep 17 00:00:00 2001 From: marijus Date: Sat, 24 Jan 2015 12:22:04 +0100 Subject: the old item must be removed before the new is created --- include/attach.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/attach.php b/include/attach.php index 9c71beb23..850f71f20 100644 --- a/include/attach.php +++ b/include/attach.php @@ -987,11 +987,18 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, dbesc($jsonobject) ); - if($y) { $update = true; $object['d_mid'] = $y[0]['mid']; //attach mid of the old object $u_jsonobject = json_encode($object); + + //we have got the relevant info - delete the old item before we create the new one + $z = q("DELETE FROM item WHERE obj_type = '%s' AND verb = '%s' AND mid = '%s'", + dbesc(ACTIVITY_OBJ_FILE), + dbesc(ACTIVITY_POST), + dbesc($y[0]['mid']) + ); + } if($update && $verb == 'post' ) { -- cgit v1.2.3 From 63f1ae5e204cdb615a0edb0d16c4c471c2f3264e Mon Sep 17 00:00:00 2001 From: marijus Date: Sat, 24 Jan 2015 14:35:21 +0100 Subject: optimize check query --- include/attach.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/attach.php b/include/attach.php index 850f71f20..c7216df7a 100644 --- a/include/attach.php +++ b/include/attach.php @@ -981,10 +981,11 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $jsonobject = json_encode($object); //check if item for this object exists - $y = q("SELECT * FROM item WHERE verb = '%s' AND obj_type = '%s' AND object = '%s' LIMIT 1", + $y = q("SELECT * FROM item WHERE verb = '%s' AND obj_type = '%s' AND resource_id = '%s' AND uid = %d LIMIT 1", dbesc(ACTIVITY_POST), dbesc($objtype), - dbesc($jsonobject) + dbesc($object['hash']), + intval(local_user()) ); if($y) { @@ -1026,6 +1027,8 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $arr['verb'] = ACTIVITY_UPDATE; $arr['obj_type'] = $objtype; $arr['object'] = $u_jsonobject; + $arr['resource_id'] = $object['hash']; + $arr['resource_type'] = 'attach'; $arr['body'] = ''; $post = item_store($arr); @@ -1064,6 +1067,8 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $arr['item_private'] = $private; $arr['verb'] = (($update) ? ACTIVITY_UPDATE : ACTIVITY_POST); $arr['obj_type'] = $objtype; + $arr['resource_id'] = $object['hash']; + $arr['resource_type'] = 'attach'; $arr['object'] = (($update) ? $u_jsonobject : $jsonobject); $arr['body'] = ''; -- cgit v1.2.3