diff options
author | Simon L'nu <simon.lnu@gmail.com> | 2012-05-05 20:08:19 -0400 |
---|---|---|
committer | Simon L'nu <simon.lnu@gmail.com> | 2012-05-05 20:08:19 -0400 |
commit | 0c4099966a5ac1f1ff5dc568a600aa57776fb752 (patch) | |
tree | f6c8a337eeae8ecc1848e319c9e5beb8c338d973 /include/items.php | |
parent | 250bf57e1e69670b956c1365dcb9ffa90800c05c (diff) | |
parent | e1ab3a93cc450ca52c7651ecca8cad8334e5f1ce (diff) | |
download | volse-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.php | 59 |
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) |