- $replaced = false;
-
- //is it a person tag?
- if (Tag::isType($tag, Tag::MENTION, Tag::IMPLICIT_MENTION, Tag::EXCLUSIVE_MENTION)) {
- $tag_type = substr($tag, 0, 1);
- //is it already replaced?
- if (strpos($tag, '[url=')) {
- // Checking for the alias that is used for OStatus
- $pattern = "/[@!]\[url\=(.*?)\](.*?)\[\/url\]/ism";
- if (preg_match($pattern, $tag, $matches)) {
- $data = Contact::getDetailsByURL($matches[1]);
-
- if ($data["alias"] != "") {
- $newtag = '@[url=' . $data["alias"] . ']' . $data["nick"] . '[/url]';
- }
- }
-
- return $replaced;
- }
-
- //get the person's name
- $name = substr($tag, 1);
-
- // Sometimes the tag detection doesn't seem to work right
- // This is some workaround
- $nameparts = explode(" ", $name);
- $name = $nameparts[0];
-
- // Try to detect the contact in various ways
- if (strpos($name, 'http://')) {
- // At first we have to ensure that the contact exists
- Contact::getIdForURL($name);
-
- // Now we should have something
- $contact = Contact::getDetailsByURL($name);
- } elseif (strpos($name, '@')) {
- // This function automatically probes when no entry was found
- $contact = Contact::getDetailsByAddr($name);
- } else {
- $contact = false;
- $fields = ['id', 'url', 'nick', 'name', 'alias', 'network', 'forum', 'prv'];
+ // locate item to be deleted
+ $fields = ['id', 'uid', 'guid', 'contact-id', 'deleted', 'gravity', 'parent'];
+ $item = Post::selectFirstForUser(local_user(), $fields, ['id' => $id]);