]> git.mxchange.org Git - friendica.git/blobdiff - include/enotify.php
Fix missing $prv and $nxt variables in mod/photos
[friendica.git] / include / enotify.php
index f678fa01ffd9c278c238214c2a4cb01ad159458f..6d27aa8897136fecf5f9e0ea76563d7a21ad2acf 100644 (file)
@@ -9,6 +9,7 @@ use Friendica\Core\Config;
 use Friendica\Core\L10n;
 use Friendica\Core\System;
 use Friendica\Database\DBA;
+use Friendica\Model\Contact;
 use Friendica\Model\Item;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Emailer;
@@ -26,6 +27,11 @@ function notification($params)
 {
        $a = get_app();
 
+       // Temporary logging for finding the origin
+       if (!isset($params['language']) || !isset($params['uid'])) {
+               logger('Missing parameters.' . System::callstack());
+       }
+
        // from here on everything is in the recipients language
        L10n::pushLang($params['language']);
 
@@ -53,11 +59,13 @@ function notification($params)
                        ['uid' => $params['uid']]);
 
                // There is no need to create notifications for forum accounts
-               if (!DBA::isResult($user) || in_array($user["page-flags"], [PAGE_COMMUNITY, PAGE_PRVGROUP])) {
+               if (!DBA::isResult($user) || in_array($user["page-flags"], [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP])) {
                        return;
                }
+               $nickname = $user["nickname"];
+       } else {
+               $nickname = '';
        }
-       $nickname = $user["nickname"];
 
        // with $params['show_in_notification_page'] == false, the notification isn't inserted into
        // the database, and an email is sent if applicable.
@@ -92,8 +100,11 @@ function notification($params)
                $parent_id = 0;
        }
 
+       $epreamble = '';
+
        if ($params['type'] == NOTIFY_MAIL) {
                $itemlink = $siteurl.'/message/'.$params['item']['id'];
+               $params["link"] = $itemlink;
 
                $subject = L10n::t('[Friendica:Notify] New mail received at %s', $sitename);
 
@@ -527,7 +538,7 @@ function notification($params)
        }
 
        // send email notification if notification preferences permit
-       if ((intval($params['notify_flags']) & intval($params['type']))
+       if ((!empty($params['notify_flags']) & intval($params['type']))
                || $params['type'] == NOTIFY_SYSTEM
                || $params['type'] == SYSTEM_EMAIL) {
 
@@ -575,11 +586,11 @@ function notification($params)
                $datarray['siteurl'] = $siteurl;
                $datarray['type'] = $params['type'];
                $datarray['parent'] = $parent_id;
-               $datarray['source_name'] = $params['source_name'];
-               $datarray['source_link'] = $params['source_link'];
-               $datarray['source_photo'] = $params['source_photo'];
+               $datarray['source_name'] = defaults($params, 'source_name', '');
+               $datarray['source_link'] = defaults($params, 'source_link', '');
+               $datarray['source_photo'] = defaults($params, 'source_photo', '');
                $datarray['uid'] = $params['uid'];
-               $datarray['username'] = $params['to_name'];
+               $datarray['username'] = defaults($params, 'to_name', '');
                $datarray['hsitelink'] = $hsitelink;
                $datarray['tsitelink'] = $tsitelink;
                $datarray['hitemlink'] = '<a href="'.$itemlink.'">'.$itemlink.'</a>';