original_string: public static function get_non_contacts_with_unread_message_count($userid, $limitfrom = 0, $limitnum = 0) {
          global $DB;
  
          $userfields = \user_picture::fields('u', array('lastaccess'));
          $unreadcountssql = "SELECT $userfields, count(m.id) as messagecount
                                FROM {user} u
                          INNER JOIN {messages} m
                                  ON m.useridfrom = u.id
                          INNER JOIN {message_conversation_members} mcm
                                  ON mcm.conversationid = m.conversationid
                           LEFT JOIN {message_user_actions} mua
                                  ON (mua.messageid = m.id AND mua.userid = ? AND mua.action = ?)
                           LEFT JOIN {message_contacts} mc
                                  ON (mc.userid = ? AND mc.contactid = u.id)
                           LEFT JOIN {message_users_blocked} mub
                                  ON (mub.userid = ? AND mub.blockeduserid = u.id)
                               WHERE mcm.userid = ?
                                 AND mcm.userid != m.useridfrom
                                 AND mua.id is NULL
                                 AND mub.id is NULL
                                 AND mc.id is NULL
                                 AND u.deleted = 0
                            GROUP BY $userfields";
  
          return $DB->get_records_sql($unreadcountssql, [$userid, self::MESSAGE_ACTION_READ, $userid, $userid, $userid],
              $limitfrom, $limitnum);
      }
code: public static function get_non_contacts_with_unread_message_count($userid, $limitfrom = 0, $limitnum = 0) {
          global $DB;
  
          $userfields = \user_picture::fields('u', array('lastaccess'));
          $unreadcountssql = "SELECT $userfields, count(m.id) as messagecount
                                FROM {user} u
                          INNER JOIN {messages} m
                                  ON m.useridfrom = u.id
                          INNER JOIN {message_conversation_members} mcm
                                  ON mcm.conversationid = m.conversationid
                           LEFT JOIN {message_user_actions} mua
                                  ON (mua.messageid = m.id AND mua.userid = ? AND mua.action = ?)
                           LEFT JOIN {message_contacts} mc
                                  ON (mc.userid = ? AND mc.contactid = u.id)
                           LEFT JOIN {message_users_blocked} mub
                                  ON (mub.userid = ? AND mub.blockeduserid = u.id)
                               WHERE mcm.userid = ?
                                 AND mcm.userid != m.useridfrom
                                 AND mua.id is NULL
                                 AND mub.id is NULL
                                 AND mc.id is NULL
                                 AND u.deleted = 0
                            GROUP BY $userfields";
  
          return $DB->get_records_sql($unreadcountssql, [$userid, self::MESSAGE_ACTION_READ, $userid, $userid, $userid],
              $limitfrom, $limitnum);
      }
code_tokens: public static function get_non_contacts_with_unread_message_count ( $ userid , $ limitfrom = 0 , $ limitnum = 0 ) { global $ DB ; $ userfields = \ user_picture :: fields ( 'u' , array ( 'lastaccess' ) ) ; $ unreadcountssql = "SELECT $userfields, count(m.id) as messagecount
                                FROM {user} u
                          INNER JOIN {messages} m
                                  ON m.useridfrom = u.id
                          INNER JOIN {message_conversation_members} mcm
                                  ON mcm.conversationid = m.conversationid
                           LEFT JOIN {message_user_actions} mua
                                  ON (mua.messageid = m.id AND mua.userid = ? AND mua.action = ?)
                           LEFT JOIN {message_contacts} mc
                                  ON (mc.userid = ? AND mc.contactid = u.id)
                           LEFT JOIN {message_users_blocked} mub
                                  ON (mub.userid = ? AND mub.blockeduserid = u.id)
                               WHERE mcm.userid = ?
                                 AND mcm.userid != m.useridfrom
                                 AND mua.id is NULL
                                 AND mub.id is NULL
                                 AND mc.id is NULL
                                 AND u.deleted = 0
                            GROUP BY $userfields" ; return $ DB -> get_records_sql ( $ unreadcountssql , [ $ userid , self :: MESSAGE_ACTION_READ , $ userid , $ userid , $ userid ] , $ limitfrom , $ limitnum ) ; }
docstring: Returns the an array of the users the given user is in a conversation
  with who are not a contact and the number of unread messages.
  
  @param int $userid The user id
  @param int $limitfrom
  @param int $limitnum
  @return array
docstring_tokens: Returns the an array of the users the given user is in a conversation with who are not a contact and the number of unread messages .