aboutsummaryrefslogtreecommitdiffstats
path: root/include/items.php
diff options
context:
space:
mode:
authorSimon L'nu <simon.lnu@gmail.com>2012-05-05 20:08:19 -0400
committerSimon L'nu <simon.lnu@gmail.com>2012-05-05 20:08:19 -0400
commit0c4099966a5ac1f1ff5dc568a600aa57776fb752 (patch)
treef6c8a337eeae8ecc1848e319c9e5beb8c338d973 /include/items.php
parent250bf57e1e69670b956c1365dcb9ffa90800c05c (diff)
parente1ab3a93cc450ca52c7651ecca8cad8334e5f1ce (diff)
downloadvolse-hubzilla-0c4099966a5ac1f1ff5dc568a600aa57776fb752.tar.gz
volse-hubzilla-0c4099966a5ac1f1ff5dc568a600aa57776fb752.tar.bz2
volse-hubzilla-0c4099966a5ac1f1ff5dc568a600aa57776fb752.zip
Merge branch 'master', remote-tracking branch 'remotes/upstream/master'
* remotes/upstream/master: diabook-theme: small fix diabook-theme: twitter-box-update at right_aside diabook-theme: can now set the twitter search term in theme-settings & small fixes consolidate item deletion so we can fix orphaned categories and file_as tags. DE: new email templates translated workaround to clean up orphaned filetags only show remove category to item owner Option to set theme width added. Minor layout changes * master:
Diffstat (limited to 'include/items.php')
-rw-r--r--include/items.php59
1 files changed, 32 insertions, 27 deletions
diff --git a/include/items.php b/include/items.php
index a1dcdb6d8..e9df9b00c 100644
--- a/include/items.php
+++ b/include/items.php
@@ -3029,32 +3029,7 @@ function item_expire($uid,$days) {
if($expire_items==0 && $item['type']!='note')
continue;
-
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `id` = %d LIMIT 1",
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($item['id'])
- );
-
- $r = q("DELETE FROM item_id where iid in (select id from item where parent = %d) and uid = %d",
- intval($item['id']),
- intval($uid)
- );
-
- $r = q("DELETE FROM sign where iid in (select id from item where parent = %d) and uid = %d",
- intval($item['id']),
- intval($uid)
- );
-
- // kill the kids
-
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc($item['parent-uri']),
- intval($item['uid'])
- );
-
+ drop_item($item['id'],false);
}
proc_run('php',"include/notifier.php","expire","$uid");
@@ -3116,6 +3091,25 @@ function drop_item($id,$interactive = true) {
intval($item['id'])
);
+ // clean up categories and tags so they don't end up as orphans
+
+ $matches = false;
+ $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ file_tag_unsave_file($item['uid'],$item['id'],$mtch[1],true);
+ }
+ }
+
+ $matches = false;
+
+ $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ file_tag_unsave_file($item['uid'],$item['id'],$mtch[1],false);
+ }
+ }
+
// If item is a link to a photo resource, nuke all the associated photos
// (visitors will not have photo resources)
// This only applies to photos uploaded from the photos page. Photos inserted into a post do not
@@ -3139,6 +3133,17 @@ function drop_item($id,$interactive = true) {
// ignore the result
}
+ // clean up item_id and sign meta-data tables
+
+ $r = q("DELETE FROM item_id where iid in (select id from item where parent = %d and uid = %d)",
+ intval($item['id']),
+ intval($item['uid'])
+ );
+
+ $r = q("DELETE FROM sign where iid in (select id from item where parent = %d and uid = %d)",
+ intval($item['id']),
+ intval($item['uid'])
+ );
// If it's the parent of a comment thread, kill all the kids
@@ -3171,7 +3176,7 @@ function drop_item($id,$interactive = true) {
}
}
$drop_id = intval($item['id']);
-
+
// send the notification upstream/downstream as the case may be
if(! $interactive)