diff options
author | zotlabs <mike@macgirvin.com> | 2018-02-26 15:46:29 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-02-26 15:46:29 -0800 |
commit | f83b7c2d52ba122d9695c68fdbfaf0ed12e55ebc (patch) | |
tree | 2a2013cafdcb82d77f5c2a0c0af029d31aa97d64 | |
parent | cbcf389f500a7179422ed9a9736f46bbdcc5eca2 (diff) | |
download | volse-hubzilla-f83b7c2d52ba122d9695c68fdbfaf0ed12e55ebc.tar.gz volse-hubzilla-f83b7c2d52ba122d9695c68fdbfaf0ed12e55ebc.tar.bz2 volse-hubzilla-f83b7c2d52ba122d9695c68fdbfaf0ed12e55ebc.zip |
issues with delivery of edited posts to forums
-rwxr-xr-x | include/items.php | 12 | ||||
-rw-r--r-- | include/text.php | 12 |
2 files changed, 23 insertions, 1 deletions
diff --git a/include/items.php b/include/items.php index 5a98fbbd4..790b91c88 100755 --- a/include/items.php +++ b/include/items.php @@ -2464,7 +2464,7 @@ function tag_deliver($uid, $item_id) { // this is an update (edit) to a post which was already processed by us and has a second delivery chain // Just start the second delivery chain to deliver the updated post // after resetting ownership and permission bits - + logger('updating edited tag_deliver post for ' . $u[0]['channel_address']); start_delivery_chain($u[0], $item, $item_id, 0); return; } @@ -2767,6 +2767,16 @@ function tgroup_check($uid, $item) { return false; } + + // see if we already have this item. Maybe it is being updated. + + $r = q("select id from item where mid = '%s' and uid = %d limit 1", + dbesc($item['mid']), + intval($uid) + ); + if($r) + return true; + if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver')) return false; diff --git a/include/text.php b/include/text.php index 35a367d43..98d6947a4 100644 --- a/include/text.php +++ b/include/text.php @@ -2018,15 +2018,27 @@ function item_post_type($item) { return $post_type; } +// This needs to be fixed to use quoted tag strings function undo_post_tagging($s) { + $matches = null; + // undo tags and mentions $cnt = preg_match_all('/([@#])(\!*)\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$s,$matches,PREG_SET_ORDER); if($cnt) { foreach($matches as $mtch) { $s = str_replace($mtch[0], $mtch[1] . $mtch[2] . str_replace(' ','_',$mtch[4]),$s); } } + // undo forum tags + $cnt = preg_match_all('/\!\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$s,$matches,PREG_SET_ORDER); + if($cnt) { + foreach($matches as $mtch) { + $s = str_replace($mtch[0], '!' . str_replace(' ','_',$mtch[2]),$s); + } + } + + return $s; } |