]> git.mxchange.org Git - friendica.git/blobdiff - mod/ping.php
The item notifications now are based upon the "user-item" field
[friendica.git] / mod / ping.php
index 872e9f935b1d7dfdec7182ecb5acbb352dc8f2cf..c76780f69744c7cf11c0f0eaff2ea7a65fe0ed05 100644 (file)
@@ -11,8 +11,8 @@ use Friendica\Core\Config;
 use Friendica\Core\Hook;
 use Friendica\Core\L10n;
 use Friendica\Core\PConfig;
-use Friendica\Core\System;
 use Friendica\Database\DBA;
+use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Group;
 use Friendica\Model\Item;
@@ -30,30 +30,31 @@ use Friendica\Util\XML;
  *
  * Expected JSON structure:
  * {
- *             "result": {
- *                     "intro": 0,
- *                     "mail": 0,
- *                     "net": 0,
- *                     "home": 0,
- *                     "register": 0,
- *                     "all-events": 0,
- *                     "all-events-today": 0,
- *                     "events": 0,
- *                     "events-today": 0,
- *                     "birthdays": 0,
- *                     "birthdays-today": 0,
- *                     "groups": [ ],
- *                     "forums": [ ],
- *                     "notify": 0,
- *                     "notifications": [ ],
- *                     "sysmsgs": {
- *                             "notice": [ ],
- *                             "info": [ ]
- *                     }
- *             }
- *     }
+ *        "result": {
+ *            "intro": 0,
+ *            "mail": 0,
+ *            "net": 0,
+ *            "home": 0,
+ *            "register": 0,
+ *            "all-events": 0,
+ *            "all-events-today": 0,
+ *            "events": 0,
+ *            "events-today": 0,
+ *            "birthdays": 0,
+ *            "birthdays-today": 0,
+ *            "groups": [ ],
+ *            "forums": [ ],
+ *            "notify": 0,
+ *            "notifications": [ ],
+ *            "sysmsgs": {
+ *                "notice": [ ],
+ *                "info": [ ]
+ *            }
+ *        }
+ *    }
  *
  * @param App $a The Friendica App instance
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
  */
 function ping_init(App $a)
 {
@@ -122,7 +123,7 @@ function ping_init(App $a)
                $condition = ["`unseen` AND `uid` = ? AND `contact-id` != ?", local_user(), local_user()];
                $fields = ['id', 'parent', 'verb', 'author-name', 'unseen', 'author-link', 'author-avatar', 'contact-avatar',
                        'network', 'created', 'object', 'parent-author-name', 'parent-author-link', 'parent-guid', 'wall'];
-               $params = ['order' => ['created' => true]];
+               $params = ['order' => ['received' => true]];
                $items = Item::selectForUser(local_user(), $fields, $condition, $params);
 
                if (DBA::isResult($items)) {
@@ -178,7 +179,7 @@ function ping_init(App $a)
                $intro_count = count($intros1) + count($intros2);
                $intros = $intros1 + $intros2;
 
-               $myurl = System::baseUrl() . '/profile/' . $a->user['nickname'];
+               $myurl = DI::baseUrl() . '/profile/' . $a->user['nickname'];
                $mails = q(
                        "SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail`
                        WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ",
@@ -187,7 +188,7 @@ function ping_init(App $a)
                );
                $mail_count = count($mails);
 
-               if (intval(Config::get('config', 'register_policy')) === REGISTER_APPROVE && is_site_admin()) {
+               if (intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::APPROVE && is_site_admin()) {
                        $regs = Friendica\Model\Register::getPending();
 
                        if (DBA::isResult($regs)) {
@@ -262,7 +263,7 @@ function ping_init(App $a)
                        foreach ($intros as $intro) {
                                $notif = [
                                        'id'      => 0,
-                                       'href'    => System::baseUrl() . '/notifications/intros/' . $intro['id'],
+                                       'href'    => DI::baseUrl() . '/notifications/intros/' . $intro['id'],
                                        'name'    => $intro['name'],
                                        'url'     => $intro['url'],
                                        'photo'   => $intro['photo'],
@@ -278,7 +279,7 @@ function ping_init(App $a)
                        foreach ($regs as $reg) {
                                $notif = [
                                        'id'      => 0,
-                                       'href'    => System::baseUrl() . '/admin/users/',
+                                       'href'    => DI::baseUrl() . '/admin/users/',
                                        'name'    => $reg['name'],
                                        'url'     => $reg['url'],
                                        'photo'   => $reg['micro'],
@@ -312,14 +313,7 @@ function ping_init(App $a)
                usort($notifs, $sort_function);
 
                if (DBA::isResult($notifs)) {
-                       // Are the nofications called from the regular process or via the friendica app?
-                       $regularnotifications = (!empty($_GET['uid']) && !empty($_GET['_']));
-
                        foreach ($notifs as $notif) {
-                               if ($a->isFriendicaApp() || !$regularnotifications) {
-                                       $notif['message'] = str_replace("{0}", $notif['name'], $notif['message']);
-                               }
-
                                $contact = Contact::getDetailsByURL($notif['url']);
                                if (isset($contact['micro'])) {
                                        $notif['photo'] = ProxyUtils::proxifyUrl($contact['micro'], false, ProxyUtils::SIZE_MICRO);
@@ -393,6 +387,7 @@ function ping_init(App $a)
  *
  * @param int $uid User id
  * @return array Associative array of notifications
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
  */
 function ping_get_notifications($uid)
 {
@@ -451,7 +446,7 @@ function ping_get_notifications($uid)
                                );
                        }
 
-                       $notification["href"] = System::baseUrl() . "/notify/view/" . $notification["id"];
+                       $notification["href"] = DI::baseUrl() . "/notify/view/" . $notification["id"];
 
                        if ($notification["visible"]
                                && !$notification["deleted"]
@@ -479,8 +474,8 @@ function ping_get_notifications($uid)
  * @param array $notifs          Complete list of notification
  * @param array $sysmsgs         List of system notice messages
  * @param array $sysmsgs_info    List of system info messages
- * @param array $groups_unseen   List of unseen group messages
- * @param array $forums_unseen   List of unseen forum messages
+ * @param array $groups_unseen   List of unseen group items
+ * @param array $forums_unseen   List of unseen forum items
  *
  * @return array XML-transform ready data array
  */