Fork me on GitHub
Please upgrade to 2.1.x here. The 2.0 branch is no longer being updated.
Critical: Update to 2.1.8, released 15 Jan.

[GitHub Bug #1343] Event issue in class.activitymodel.php - BeforeSendNotification

The event BeforeSendNotification is only raised when the user has enabled the email option in preferences.

function: SendNotification

if ($Force)
    $Preference = $Force;
else {
    $Preferences = $User->Preferences;
    $Preference = ArrayValue('Email.'.$Activity->ActivityType, $Preferences, Gdn::Config('Preferences.Email.'.$Activity->ActivityType));
}

....

$this->FireEvent('BeforeSendNotification');
            try {
               $Email->Send();
               $Emailed = 2; // similar to http 200 OK
            }

function: SendNotificationQueue

if (is_object($Email)) {
               $this->EventArguments = $Notification;
               $this->FireEvent('BeforeSendNotification');
....

This means any custom addons that rely on this event will not work.

A suggested fix would be to check all non-standard preferences for the $Activity->ActivityType and in the event of a custom activity being enabled call

$this->FireEvent('BeforeSendNotification');

Tagged:

Best Answer

Sign In or Register to comment.