diff options
Diffstat (limited to 'include')
-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; } |