Merge pull request #5086 from annando/issue-2880
Issue 2880: Editing post doesn't destroy mentions or hashtags anymore
This commit is contained in:
commit
d4ebf7ae52
3 changed files with 11 additions and 1 deletions
|
@ -14,6 +14,7 @@ use Friendica\Core\L10n;
|
|||
use Friendica\Core\PConfig;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\DBM;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Event;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Profile;
|
||||
|
@ -1965,6 +1966,10 @@ function undo_post_tagging($s) {
|
|||
$cnt = preg_match_all('/([!#@])\[url=(.*?)\](.*?)\[\/url\]/ism', $s, $matches, PREG_SET_ORDER);
|
||||
if ($cnt) {
|
||||
foreach ($matches as $mtch) {
|
||||
if (in_array($mtch[1], ['!', '@'])) {
|
||||
$contact = Contact::getDetailsByURL($mtch[2]);
|
||||
$mtch[3] = empty($contact['addr']) ? $mtch[2] : $contact['addr'];
|
||||
}
|
||||
$s = str_replace($mtch[0], $mtch[1] . $mtch[3],$s);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -661,6 +661,11 @@ function item_post(App $a) {
|
|||
$datarray['edit'] = true;
|
||||
}
|
||||
|
||||
// Check for hashtags in the body and repair or add hashtag links
|
||||
if ($preview || $orig_post) {
|
||||
Item::setHashtags($datarray);
|
||||
}
|
||||
|
||||
// preview mode - prepare the body for display and send it via json
|
||||
if ($preview) {
|
||||
require_once 'include/conversation.php';
|
||||
|
|
|
@ -1250,7 +1250,7 @@ class Item extends BaseObject
|
|||
}
|
||||
}
|
||||
|
||||
private static function setHashtags(&$item)
|
||||
public static function setHashtags(&$item)
|
||||
{
|
||||
|
||||
$tags = get_tags($item["body"]);
|
||||
|
|
Loading…
Reference in a new issue