use Friendica\Database\DBM;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Emailer;
+use Friendica\Model\Item;
/**
* @brief Creates a notification entry and possibly sends a mail
$item = null;
if ($params['otype'] === 'item' && $parent_id) {
- $item = dba::selectFirst('item', [], ['id' => $parent_id]);
+ $item = Item::selectFirst($params['uid'], [], ['id' => $parent_id]);
}
$item_post_type = item_post_type($item);
}
// "your post"
- if (DBM::is_result($item) && $item['owner-name'] == $item['author-name'] && $item['wall']) {
+ if (DBM::is_result($item) && $item['owner-id'] == $item['author-id'] && $item['wall']) {
$dest_str = L10n::t('%1$s commented on [url=%2$s]your %3$s[/url]',
'[url='.$params['source_link'].']'.$params['source_name'].'[/url]',
$itemlink,
// Only act if it is a "real" post
// We need the additional check for the "local_profile" because of mixed situations on connector networks
- $item = q("SELECT `id`, `mention`, `tag`,`parent`, `title`, `body`, `author-name`, `author-link`, `author-avatar`, `guid`,
+ $item = q("SELECT `id`, `mention`, `tag`,`parent`, `title`, `body`, `author-id`, `guid`,
`parent-uri`, `uri`, `contact-id`
FROM `item` WHERE `id` = %d AND `verb` IN ('%s', '') AND `type` != 'activity' AND
NOT (`author-link` IN ($profile_list)) LIMIT 1",
if (!$item)
return false;
+ $author = dba::selectFirst('contact', ['name', 'thumb', 'url'], ['id' => $item[0]['author-id']]);
+
// Generate the notification array
$params = [];
$params["uid"] = $uid;
$params["parent"] = $item[0]["parent"];
$params["link"] = System::baseUrl().'/display/'.urlencode($item[0]["guid"]);
$params["otype"] = 'item';
- $params["source_name"] = $item[0]["author-name"];
- $params["source_link"] = $item[0]["author-link"];
- $params["source_photo"] = $item[0]["author-avatar"];
+ $params["source_name"] = $author["name"];
+ $params["source_link"] = $author["url"];
+ $params["source_photo"] = $author["thumb"];
if ($item[0]["parent-uri"] === $item[0]["uri"]) {
// Send a notification for every new post?