Merge pull request #8239 from nupplaphil/task/move_enotify_parts

Move Notify "type" and "otype" into own enum classes
This commit is contained in:
Hypolite Petovan 2020-02-05 16:56:54 -05:00 committed by GitHub
commit 6347578978
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 149 additions and 74 deletions

View File

@ -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);
/* @}*/

View File

@ -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

View File

@ -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;

View File

@ -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'],

View File

@ -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'],

View File

@ -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'],

View File

@ -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;
}

View File

@ -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)
);

View File

@ -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')],

View File

@ -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'],

View File

@ -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'],

View File

@ -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;

View 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
View 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;
}

View File

@ -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);

View File

@ -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'],

View File

@ -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"],