Merge pull request #8239 from nupplaphil/task/move_enotify_parts
Move Notify "type" and "otype" into own enum classes
This commit is contained in:
commit
6347578978
17 changed files with 149 additions and 74 deletions
37
boot.php
37
boot.php
|
@ -22,6 +22,7 @@ use Friendica\Core\System;
|
|||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Notify;
|
||||
use Friendica\Model\Term;
|
||||
use Friendica\Util\BasePath;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
@ -140,19 +141,31 @@ define('MAX_LIKERS', 75);
|
|||
* Email notification options
|
||||
* @{
|
||||
*/
|
||||
define('NOTIFY_INTRO', 1);
|
||||
define('NOTIFY_CONFIRM', 2);
|
||||
define('NOTIFY_WALL', 4);
|
||||
define('NOTIFY_COMMENT', 8);
|
||||
define('NOTIFY_MAIL', 16);
|
||||
define('NOTIFY_SUGGEST', 32);
|
||||
define('NOTIFY_PROFILE', 64);
|
||||
define('NOTIFY_TAGSELF', 128);
|
||||
define('NOTIFY_TAGSHARE', 256);
|
||||
define('NOTIFY_POKE', 512);
|
||||
define('NOTIFY_SHARE', 1024);
|
||||
/** @deprecated since 2020.03, use Notify\Type::INTRO instead */
|
||||
define('NOTIFY_INTRO', Notify\Type::INTRO);
|
||||
/** @deprecated since 2020.03, use Notify\Type::CONFIRM instead */
|
||||
define('NOTIFY_CONFIRM', Notify\Type::CONFIRM);
|
||||
/** @deprecated since 2020.03, use Notify\Type::WALL instead */
|
||||
define('NOTIFY_WALL', Notify\Type::WALL);
|
||||
/** @deprecated since 2020.03, use Notify\Type::COMMENT instead */
|
||||
define('NOTIFY_COMMENT', Notify\Type::COMMENT);
|
||||
/** @deprecated since 2020.03, use Notify\Type::MAIL instead */
|
||||
define('NOTIFY_MAIL', Notify\Type::MAIL);
|
||||
/** @deprecated since 2020.03, use Notify\Type::SUGGEST instead */
|
||||
define('NOTIFY_SUGGEST', Notify\Type::SUGGEST);
|
||||
/** @deprecated since 2020.03, use Notify\Type::PROFILE instead */
|
||||
define('NOTIFY_PROFILE', Notify\Type::PROFILE);
|
||||
/** @deprecated since 2020.03, use Notify\Type::TAG_SELF instead */
|
||||
define('NOTIFY_TAGSELF', Notify\Type::TAG_SELF);
|
||||
/** @deprecated since 2020.03, use Notify\Type::TAG_SHARE instead */
|
||||
define('NOTIFY_TAGSHARE', Notify\Type::TAG_SHARE);
|
||||
/** @deprecated since 2020.03, use Notify\Type::POKE instead */
|
||||
define('NOTIFY_POKE', Notify\Type::POKE);
|
||||
/** @deprecated since 2020.03, use Notify\Type::SHARE instead */
|
||||
define('NOTIFY_SHARE', Notify\Type::SHARE);
|
||||
|
||||
define('NOTIFY_SYSTEM', 32768);
|
||||
/** @deprecated since 2020.12, use Notify\Type::SYSTEM instead */
|
||||
define('NOTIFY_SYSTEM', Notify\Type::SYSTEM);
|
||||
/* @}*/
|
||||
|
||||
|
||||
|
|
|
@ -5906,7 +5906,7 @@ function api_friendica_notification_seen($type)
|
|||
$notify = DI::notify()->getByID($id);
|
||||
DI::notify()->setSeen(true, $notify);
|
||||
|
||||
if ($notify->otype === Notify::OTYPE_ITEM) {
|
||||
if ($notify->otype === Notify\ObjectType::ITEM) {
|
||||
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notify->iid, 'uid' => api_user()]);
|
||||
if (DBA::isResult($item)) {
|
||||
// we found the item, return it to the user
|
||||
|
|
|
@ -30,6 +30,9 @@ use Friendica\Protocol\Activity;
|
|||
*/
|
||||
function notification($params)
|
||||
{
|
||||
/** @var string the common prefix of a notification subject */
|
||||
$subjectPrefix = DI::l10n()->t('[Friendica:Notify]');
|
||||
|
||||
// Temporary logging for finding the origin
|
||||
if (!isset($params['uid'])) {
|
||||
Logger::notice('Missing parameters "uid".', ['params' => $params, 'callstack' => System::callstack()]);
|
||||
|
@ -102,11 +105,11 @@ function notification($params)
|
|||
$hsitelink = '';
|
||||
$itemlink = '';
|
||||
|
||||
if ($params['type'] == NOTIFY_MAIL) {
|
||||
if ($params['type'] == Notify\Type::MAIL) {
|
||||
$itemlink = $siteurl.'/message/'.$params['item']['id'];
|
||||
$params["link"] = $itemlink;
|
||||
|
||||
$subject = $l10n->t('[Friendica:Notify] New mail received at %s', $sitename);
|
||||
$subject = $l10n->t( '%s New mail received at %s', $subjectPrefix, $sitename);
|
||||
|
||||
$preamble = $l10n->t('%1$s sent you a new private message at %2$s.', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s sent you %2$s.', '[url='.$params['source_link'].']'.$params['source_name'].'[/url]', '[url=' . $itemlink . ']' . $l10n->t('a private message').'[/url]');
|
||||
|
@ -116,7 +119,7 @@ function notification($params)
|
|||
$hsitelink = sprintf($sitelink, '<a href="'.$siteurl.'/message/'.$params['item']['id'].'">'.$sitename.'</a>');
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_COMMENT || $params['type'] == NOTIFY_TAGSELF) {
|
||||
if ($params['type'] == Notify\Type::COMMENT || $params['type'] == Notify\Type::TAG_SELF) {
|
||||
$thread = Item::selectFirstThreadForUser($params['uid'], ['ignored'], ['iid' => $parent_id, 'deleted' => false]);
|
||||
if (DBA::isResult($thread) && $thread['ignored']) {
|
||||
Logger::log('Thread ' . $parent_id . ' will be ignored', Logger::DEBUG);
|
||||
|
@ -126,7 +129,7 @@ function notification($params)
|
|||
// Check to see if there was already a tag notify or comment notify for this post.
|
||||
// If so don't create a second notification
|
||||
/// @todo In the future we should store the notification with the highest "value" and replace notifications
|
||||
$condition = ['type' => [NOTIFY_TAGSELF, NOTIFY_COMMENT, NOTIFY_SHARE],
|
||||
$condition = ['type' => [Notify\Type::TAG_SELF, Notify\Type::COMMENT, Notify\Type::SHARE],
|
||||
'link' => $params['link'], 'uid' => $params['uid']];
|
||||
if (DBA::exists('notify', $condition)) {
|
||||
return false;
|
||||
|
@ -134,7 +137,7 @@ function notification($params)
|
|||
|
||||
// if it's a post figure out who's post it is.
|
||||
$item = null;
|
||||
if ($params['otype'] === Notify::OTYPE_ITEM && $parent_id) {
|
||||
if ($params['otype'] === Notify\ObjectType::ITEM && $parent_id) {
|
||||
$item = Item::selectFirstForUser($params['uid'], Item::ITEM_FIELDLIST, ['id' => $parent_id, 'deleted' => false]);
|
||||
}
|
||||
|
||||
|
@ -195,11 +198,11 @@ function notification($params)
|
|||
// Before this we have the name of the replier on the subject rendering
|
||||
// different subjects for messages on the same thread.
|
||||
if ($params['activity']['explicit_tagged']) {
|
||||
$subject = $l10n->t('[Friendica:Notify] %s tagged you', $params['source_name']);
|
||||
$subject = $l10n->t('%s %s tagged you', $subjectPrefix, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%1$s tagged you at %2$s', $params['source_name'], $sitename);
|
||||
} else {
|
||||
$subject = $l10n->t('[Friendica:Notify] Comment to conversation #%1$d by %2$s', $parent_id, $params['source_name']);
|
||||
$subject = $l10n->t('%s Comment to conversation #%1$d by %2$s', $subjectPrefix, $parent_id, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%s commented on an item/conversation you have been following.', $params['source_name']);
|
||||
}
|
||||
|
@ -212,8 +215,8 @@ function notification($params)
|
|||
$itemlink = $params['link'];
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_WALL) {
|
||||
$subject = $l10n->t('[Friendica:Notify] %s posted to your profile wall', $params['source_name']);
|
||||
if ($params['type'] == Notify\Type::WALL) {
|
||||
$subject = $l10n->t('%s %s posted to your profile wall', $subjectPrefix, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%1$s posted to your profile wall at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s posted to [url=%2$s]your wall[/url]',
|
||||
|
@ -227,8 +230,8 @@ function notification($params)
|
|||
$itemlink = $params['link'];
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_SHARE) {
|
||||
$subject = $l10n->t('[Friendica:Notify] %s shared a new post', $params['source_name']);
|
||||
if ($params['type'] == Notify\Type::SHARE) {
|
||||
$subject = $l10n->t('%s %s shared a new post', $subjectPrefix, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%1$s shared a new post at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s [url=%2$s]shared a post[/url].',
|
||||
|
@ -242,8 +245,8 @@ function notification($params)
|
|||
$itemlink = $params['link'];
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_POKE) {
|
||||
$subject = $l10n->t('[Friendica:Notify] %1$s poked you', $params['source_name']);
|
||||
if ($params['type'] == Notify\Type::POKE) {
|
||||
$subject = $l10n->t('%s %1$s poked you', $subjectPrefix, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%1$s poked you at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s [url=%2$s]poked you[/url].',
|
||||
|
@ -261,9 +264,9 @@ function notification($params)
|
|||
$itemlink = $params['link'];
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_TAGSHARE) {
|
||||
if ($params['type'] == Notify\Type::TAG_SHARE) {
|
||||
$itemlink = $params['link'];
|
||||
$subject = $l10n->t('[Friendica:Notify] %s tagged your post', $params['source_name']);
|
||||
$subject = $l10n->t('%s %s tagged your post', $subjectPrefix, $params['source_name']);
|
||||
|
||||
$preamble = $l10n->t('%1$s tagged your post at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s tagged [url=%2$s]your post[/url]',
|
||||
|
@ -276,9 +279,9 @@ function notification($params)
|
|||
$hsitelink = sprintf($sitelink, '<a href="'.$siteurl.'">'.$sitename.'</a>');
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_INTRO) {
|
||||
if ($params['type'] == Notify\Type::INTRO) {
|
||||
$itemlink = $params['link'];
|
||||
$subject = $l10n->t('[Friendica:Notify] Introduction received');
|
||||
$subject = $l10n->t('%s Introduction received', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('You\'ve received an introduction from \'%1$s\' at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('You\'ve received [url=%1$s]an introduction[/url] from %2$s.',
|
||||
|
@ -295,7 +298,7 @@ function notification($params)
|
|||
switch ($params['verb']) {
|
||||
case Activity::FRIEND:
|
||||
// someone started to share with user (mostly OStatus)
|
||||
$subject = $l10n->t('[Friendica:Notify] A new person is sharing with you');
|
||||
$subject = $l10n->t('%s A new person is sharing with you', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('%1$s is sharing with you at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%1$s is sharing with you at %2$s',
|
||||
|
@ -305,7 +308,7 @@ function notification($params)
|
|||
break;
|
||||
case Activity::FOLLOW:
|
||||
// someone started to follow the user (mostly OStatus)
|
||||
$subject = $l10n->t('[Friendica:Notify] You have a new follower');
|
||||
$subject = $l10n->t('%s You have a new follower', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('You have a new follower at %2$s : %1$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('You have a new follower at %2$s : %1$s',
|
||||
|
@ -319,9 +322,9 @@ function notification($params)
|
|||
}
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_SUGGEST) {
|
||||
if ($params['type'] == Notify\Type::SUGGEST) {
|
||||
$itemlink = $params['link'];
|
||||
$subject = $l10n->t('[Friendica:Notify] Friend suggestion received');
|
||||
$subject = $l10n->t('%s Friend suggestion received', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('You\'ve received a friend suggestion from \'%1$s\' at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('You\'ve received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s.',
|
||||
|
@ -339,10 +342,10 @@ function notification($params)
|
|||
$hsitelink = sprintf($sitelink, '<a href="'.$siteurl.'">'.$sitename.'</a>');
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_CONFIRM) {
|
||||
if ($params['type'] == Notify\Type::CONFIRM) {
|
||||
if ($params['verb'] == Activity::FRIEND) { // mutual connection
|
||||
$itemlink = $params['link'];
|
||||
$subject = $l10n->t('[Friendica:Notify] Connection accepted');
|
||||
$subject = $l10n->t('%s Connection accepted', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('\'%1$s\' has accepted your connection request at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%2$s has accepted your [url=%1$s]connection request[/url].',
|
||||
|
@ -357,7 +360,7 @@ function notification($params)
|
|||
$hsitelink = sprintf($sitelink, '<a href="'.$siteurl.'">'.$sitename.'</a>');
|
||||
} else { // ACTIVITY_FOLLOW
|
||||
$itemlink = $params['link'];
|
||||
$subject = $l10n->t('[Friendica:Notify] Connection accepted');
|
||||
$subject = $l10n->t('%s Connection accepted', $subjectPrefix);
|
||||
|
||||
$preamble = $l10n->t('\'%1$s\' has accepted your connection request at %2$s', $params['source_name'], $sitename);
|
||||
$epreamble = $l10n->t('%2$s has accepted your [url=%1$s]connection request[/url].',
|
||||
|
@ -375,7 +378,7 @@ function notification($params)
|
|||
}
|
||||
}
|
||||
|
||||
if ($params['type'] == NOTIFY_SYSTEM) {
|
||||
if ($params['type'] == Notify\Type::SYSTEM) {
|
||||
switch($params['event']) {
|
||||
case "SYSTEM_REGISTER_REQUEST":
|
||||
$itemlink = $params['link'];
|
||||
|
@ -456,7 +459,7 @@ function notification($params)
|
|||
|
||||
// send email notification if notification preferences permit
|
||||
if ((intval($params['notify_flags']) & intval($params['type']))
|
||||
|| $params['type'] == NOTIFY_SYSTEM) {
|
||||
|| $params['type'] == Notify\Type::SYSTEM) {
|
||||
|
||||
Logger::log('sending notification email');
|
||||
|
||||
|
@ -589,25 +592,25 @@ function check_item_notification($itemid, $uid, $notification_type) {
|
|||
}
|
||||
|
||||
if ($notification_type & UserItem::NOTIF_SHARED) {
|
||||
$params['type'] = NOTIFY_SHARE;
|
||||
$params['type'] = Notify\Type::SHARE;
|
||||
$params['verb'] = Activity::POST;
|
||||
} elseif ($notification_type & UserItem::NOTIF_EXPLICIT_TAGGED) {
|
||||
$params['type'] = NOTIFY_TAGSELF;
|
||||
$params['type'] = Notify\Type::TAG_SELF;
|
||||
$params['verb'] = Activity::TAG;
|
||||
} elseif ($notification_type & UserItem::NOTIF_IMPLICIT_TAGGED) {
|
||||
$params['type'] = NOTIFY_COMMENT;
|
||||
$params['type'] = Notify\Type::COMMENT;
|
||||
$params['verb'] = Activity::POST;
|
||||
} elseif ($notification_type & UserItem::NOTIF_THREAD_COMMENT) {
|
||||
$params['type'] = NOTIFY_COMMENT;
|
||||
$params['type'] = Notify\Type::COMMENT;
|
||||
$params['verb'] = Activity::POST;
|
||||
} elseif ($notification_type & UserItem::NOTIF_DIRECT_COMMENT) {
|
||||
$params['type'] = NOTIFY_COMMENT;
|
||||
$params['type'] = Notify\Type::COMMENT;
|
||||
$params['verb'] = Activity::POST;
|
||||
} elseif ($notification_type & UserItem::NOTIF_COMMENT_PARTICIPATION) {
|
||||
$params['type'] = NOTIFY_COMMENT;
|
||||
$params['type'] = Notify\Type::COMMENT;
|
||||
$params['verb'] = Activity::POST;
|
||||
} elseif ($notification_type & UserItem::NOTIF_ACTIVITY_PARTICIPATION) {
|
||||
$params['type'] = NOTIFY_COMMENT;
|
||||
$params['type'] = Notify\Type::COMMENT;
|
||||
$params['verb'] = Activity::POST;
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
@ -26,6 +26,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\Crypto;
|
||||
|
@ -525,10 +526,10 @@ function dfrn_confirm_post(App $a, $handsfree = null)
|
|||
if (DBA::isResult($r)) {
|
||||
$combined = $r[0];
|
||||
|
||||
if ($combined['notify-flags'] & NOTIFY_CONFIRM) {
|
||||
if ($combined['notify-flags'] & Type::CONFIRM) {
|
||||
$mutual = ($new_relation == Contact::FRIEND);
|
||||
notification([
|
||||
'type' => NOTIFY_CONFIRM,
|
||||
'type' => Type::CONFIRM,
|
||||
'notify_flags' => $combined['notify-flags'],
|
||||
'language' => $combined['language'],
|
||||
'to_name' => $combined['username'],
|
||||
|
|
|
@ -23,6 +23,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Security\Login;
|
||||
|
@ -552,7 +553,7 @@ function dfrn_request_content(App $a)
|
|||
|
||||
if (!$auto_confirm) {
|
||||
notification([
|
||||
'type' => NOTIFY_INTRO,
|
||||
'type' => Type::INTRO,
|
||||
'notify_flags' => $r[0]['notify-flags'],
|
||||
'language' => $r[0]['language'],
|
||||
'to_name' => $r[0]['username'],
|
||||
|
|
|
@ -31,6 +31,7 @@ use Friendica\Model\Contact;
|
|||
use Friendica\Model\Conversation;
|
||||
use Friendica\Model\FileTag;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\Photo;
|
||||
use Friendica\Model\Term;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
@ -751,7 +752,7 @@ function item_post(App $a) {
|
|||
if ($toplevel_item_id) {
|
||||
if ($contact_record != $author) {
|
||||
notification([
|
||||
'type' => NOTIFY_COMMENT,
|
||||
'type' => Type::COMMENT,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
|
@ -771,7 +772,7 @@ function item_post(App $a) {
|
|||
} else {
|
||||
if (($contact_record != $author) && !count($forum_contact)) {
|
||||
notification([
|
||||
'type' => NOTIFY_WALL,
|
||||
'type' => Type::WALL,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
|
|
|
@ -13,6 +13,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Mail;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Proxy as ProxyUtils;
|
||||
|
@ -338,10 +339,10 @@ function message_content(App $a)
|
|||
|
||||
if ($message['convid']) {
|
||||
// Clear Diaspora private message notifications
|
||||
DBA::update('notify', ['seen' => 1], ['type' => NOTIFY_MAIL, 'parent' => $message['convid'], 'uid' => local_user()]);
|
||||
DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['convid'], 'uid' => local_user()]);
|
||||
}
|
||||
// Clear DFRN private message notifications
|
||||
DBA::update('notify', ['seen' => 1], ['type' => NOTIFY_MAIL, 'parent' => $message['parent-uri'], 'uid' => local_user()]);
|
||||
DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['parent-uri'], 'uid' => local_user()]);
|
||||
} else {
|
||||
$messages = false;
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Temporal;
|
||||
use Friendica\Util\Proxy as ProxyUtils;
|
||||
|
@ -403,8 +404,8 @@ function ping_get_notifications($uid)
|
|||
AND NOT (`notify`.`type` IN (%d, %d))
|
||||
AND $seensql `notify`.`seen` ORDER BY `notify`.`date` $order LIMIT %d, 50",
|
||||
intval($uid),
|
||||
intval(NOTIFY_INTRO),
|
||||
intval(NOTIFY_MAIL),
|
||||
intval(Type::INTRO),
|
||||
intval(Type::MAIL),
|
||||
intval($offset)
|
||||
);
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\GContact;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Protocol\Email;
|
||||
|
@ -1229,14 +1230,14 @@ function settings_content(App $a)
|
|||
|
||||
'$h_not' => DI::l10n()->t('Notification Settings'),
|
||||
'$lbl_not' => DI::l10n()->t('Send a notification email when:'),
|
||||
'$notify1' => ['notify1', DI::l10n()->t('You receive an introduction'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, ''],
|
||||
'$notify2' => ['notify2', DI::l10n()->t('Your introductions are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, ''],
|
||||
'$notify3' => ['notify3', DI::l10n()->t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''],
|
||||
'$notify4' => ['notify4', DI::l10n()->t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''],
|
||||
'$notify5' => ['notify5', DI::l10n()->t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''],
|
||||
'$notify6' => ['notify6', DI::l10n()->t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''],
|
||||
'$notify7' => ['notify7', DI::l10n()->t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''],
|
||||
'$notify8' => ['notify8', DI::l10n()->t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''],
|
||||
'$notify1' => ['notify1', DI::l10n()->t('You receive an introduction'), ($notify & Type::INTRO), Type::INTRO, ''],
|
||||
'$notify2' => ['notify2', DI::l10n()->t('Your introductions are confirmed'), ($notify & Type::CONFIRM), Type::CONFIRM, ''],
|
||||
'$notify3' => ['notify3', DI::l10n()->t('Someone writes on your profile wall'), ($notify & Type::WALL), Type::WALL, ''],
|
||||
'$notify4' => ['notify4', DI::l10n()->t('Someone writes a followup comment'), ($notify & Type::COMMENT), Type::COMMENT, ''],
|
||||
'$notify5' => ['notify5', DI::l10n()->t('You receive a private message'), ($notify & Type::MAIL), Type::MAIL, ''],
|
||||
'$notify6' => ['notify6', DI::l10n()->t('You receive a friend suggestion'), ($notify & Type::SUGGEST), Type::SUGGEST, ''],
|
||||
'$notify7' => ['notify7', DI::l10n()->t('You are tagged in a post'), ($notify & Type::TAG_SELF), Type::TAG_SELF, ''],
|
||||
'$notify8' => ['notify8', DI::l10n()->t('You are poked/prodded/etc. in a post'), ($notify & Type::POKE), Type::POKE, ''],
|
||||
|
||||
'$desktop_notifications' => ['desktop_notifications', DI::l10n()->t('Activate desktop notifications') , false, DI::l10n()->t('Show desktop popup on new notifications')],
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ use Friendica\Core\System;
|
|||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Network\Probe;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Protocol\ActivityPub;
|
||||
|
@ -2628,11 +2629,11 @@ class Contact
|
|||
|
||||
Group::addMember(User::getDefaultGroup($importer['uid'], $contact_record["network"]), $contact_record['id']);
|
||||
|
||||
if (($user['notify-flags'] & NOTIFY_INTRO) &&
|
||||
if (($user['notify-flags'] & Type::INTRO) &&
|
||||
in_array($user['page-flags'], [User::PAGE_FLAGS_NORMAL])) {
|
||||
|
||||
notification([
|
||||
'type' => NOTIFY_INTRO,
|
||||
'type' => Type::INTRO,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
|
|
|
@ -10,6 +10,7 @@ use Friendica\Core\System;
|
|||
use Friendica\Core\Worker;
|
||||
use Friendica\DI;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Network\Probe;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
@ -68,7 +69,7 @@ class Mail
|
|||
|
||||
// send notifications.
|
||||
$notif_params = [
|
||||
'type' => NOTIFY_MAIL,
|
||||
'type' => Type::MAIL,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
|
|
|
@ -31,10 +31,6 @@ use Psr\Log\LoggerInterface;
|
|||
*/
|
||||
class Notify extends BaseModel
|
||||
{
|
||||
const OTYPE_ITEM = 'item';
|
||||
const OTYPE_INTRO = 'intro';
|
||||
const OTYPE_MAIL = 'mail';
|
||||
const OTYPE_PERSON = 'person';
|
||||
|
||||
/** @var \Friendica\Repository\Notify */
|
||||
private $repo;
|
||||
|
|
14
src/Model/Notify/ObjectType.php
Normal file
14
src/Model/Notify/ObjectType.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Model\Notify;
|
||||
|
||||
/**
|
||||
* Enum for different otypes of the Notify
|
||||
*/
|
||||
class ObjectType
|
||||
{
|
||||
const PERSON = 'person';
|
||||
const MAIL = 'mail';
|
||||
const ITEM = 'item';
|
||||
const INTRO = 'intro';
|
||||
}
|
39
src/Model/Notify/Type.php
Normal file
39
src/Model/Notify/Type.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Model\Notify;
|
||||
|
||||
/**
|
||||
* Enum for different types of the Notify
|
||||
*/
|
||||
class Type
|
||||
{
|
||||
/** @var int Notification about a introduction */
|
||||
const INTRO = 1;
|
||||
/** @var int Notification about a confirmed introduction */
|
||||
const CONFIRM = 2;
|
||||
/** @var int Notification about a post on your wall */
|
||||
const WALL = 4;
|
||||
/** @var int Notification about a followup comment */
|
||||
const COMMENT = 8;
|
||||
/** @var int Notification about a private message */
|
||||
const MAIL = 16;
|
||||
/** @var int Notification about a friend suggestion */
|
||||
const SUGGEST = 32;
|
||||
/** @var int Unknown Notification
|
||||
* @deprecated
|
||||
*/
|
||||
const PROFILE = 64;
|
||||
/** @var int Notification about being tagged in a post */
|
||||
const TAG_SELF = 128;
|
||||
/** @var int Notification about being tagged
|
||||
* @deprecated
|
||||
*/
|
||||
const TAG_SHARE = 256;
|
||||
/** @var int Notification about getting poked/prodded/etc. */
|
||||
const POKE = 512;
|
||||
/** @var int Notification about either a contact had posted something directly or the contact is a mentioned forum */
|
||||
const SHARE = 1024;
|
||||
|
||||
/** @var int Global System notifications */
|
||||
const SYSTEM = 32768;
|
||||
}
|
|
@ -9,6 +9,7 @@ use Friendica\Core\Session;
|
|||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Network\HTTPException\ForbiddenException;
|
||||
|
||||
|
@ -111,7 +112,7 @@ class Delegation extends BaseModule
|
|||
|
||||
$identities[$key]['selected'] = ($identity['nickname'] === DI::app()->user['nickname']);
|
||||
|
||||
$condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], NOTIFY_INTRO, NOTIFY_MAIL];
|
||||
$condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Type::INTRO, Type::MAIL];
|
||||
$params = ['distinct' => true, 'expression' => 'parent'];
|
||||
$notifications = DBA::count('notify', $condition, $params);
|
||||
|
||||
|
|
|
@ -348,7 +348,7 @@ class Register extends BaseModule
|
|||
// send notification to admins
|
||||
while ($admin = DBA::fetch($admins_stmt)) {
|
||||
\notification([
|
||||
'type' => NOTIFY_SYSTEM,
|
||||
'type' => Model\Notify\Type::SYSTEM,
|
||||
'event' => 'SYSTEM_REGISTER_REQUEST',
|
||||
'source_name' => $user['username'],
|
||||
'source_mail' => $user['email'],
|
||||
|
|
|
@ -25,6 +25,7 @@ use Friendica\Model\Event;
|
|||
use Friendica\Model\GContact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Mail;
|
||||
use Friendica\Model\Notify\Type;
|
||||
use Friendica\Model\PermissionSet;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User;
|
||||
|
@ -1892,7 +1893,7 @@ class DFRN
|
|||
|
||||
notification(
|
||||
[
|
||||
'type' => NOTIFY_SUGGEST,
|
||||
'type' => Type::SUGGEST,
|
||||
'notify_flags' => $importer['notify-flags'],
|
||||
'language' => $importer['language'],
|
||||
'to_name' => $importer['username'],
|
||||
|
@ -2136,7 +2137,7 @@ class DFRN
|
|||
// send a notification
|
||||
notification(
|
||||
[
|
||||
"type" => NOTIFY_POKE,
|
||||
"type" => Type::POKE,
|
||||
"notify_flags" => $importer["notify-flags"],
|
||||
"language" => $importer["language"],
|
||||
"to_name" => $importer["username"],
|
||||
|
|
Loading…
Reference in a new issue