public static function get_popup_notifications($useridto = 0, $sort = 'DESC', $limit = 0, $offset = 0) {
        global $DB, $USER;

        $sort = strtoupper($sort);
        if ($sort != 'DESC' && $sort != 'ASC') {
            throw new \moodle_exception('invalid parameter: sort: must be "DESC" or "ASC"');
        }

        if (empty($useridto)) {
            $useridto = $USER->id;
        }

        // Is notification enabled ?
        if ($useridto == $USER->id) {
            $disabled = $USER->emailstop;
        } else {
            $user = \core_user::get_user($useridto, "emailstop", MUST_EXIST);
            $disabled = $user->emailstop;
        }
        if ($disabled) {
            // Notifications are disabled.
            return array();
        }

        $sql = "SELECT n.id, n.useridfrom, n.useridto,
                       n.subject, n.fullmessage, n.fullmessageformat,
                       n.fullmessagehtml, n.smallmessage, n.contexturl,
                       n.contexturlname, n.timecreated, n.component,
                       n.eventtype, n.timeread, n.customdata
                  FROM {notifications} n
                 WHERE n.id IN (SELECT notificationid FROM {message_popup_notifications})
                   AND n.useridto = ?
              ORDER BY timecreated $sort, timeread $sort, id $sort";

        $notifications = [];
        $records = $DB->get_recordset_sql($sql, [$useridto], $offset, $limit);
        foreach ($records as $record) {
            $notifications[] = (object) $record;
        }
        $records->close();

        return $notifications;
    }
public static function get_popup_notifications($useridto = 0, $sort = 'DESC', $limit = 0, $offset = 0) {
        global $DB, $USER;

        $sort = strtoupper($sort);
        if ($sort != 'DESC' && $sort != 'ASC') {
            throw new \moodle_exception('invalid parameter: sort: must be "DESC" or "ASC"');
        }

        if (empty($useridto)) {
            $useridto = $USER->id;
        }

        // Is notification enabled ?
        if ($useridto == $USER->id) {
            $disabled = $USER->emailstop;
        } else {
            $user = \core_user::get_user($useridto, "emailstop", MUST_EXIST);
            $disabled = $user->emailstop;
        }
        if ($disabled) {
            // Notifications are disabled.
            return array();
        }

        $sql = "SELECT n.id, n.useridfrom, n.useridto,
                       n.subject, n.fullmessage, n.fullmessageformat,
                       n.fullmessagehtml, n.smallmessage, n.contexturl,
                       n.contexturlname, n.timecreated, n.component,
                       n.eventtype, n.timeread, n.customdata
                  FROM {notifications} n
                 WHERE n.id IN (SELECT notificationid FROM {message_popup_notifications})
                   AND n.useridto = ?
              ORDER BY timecreated $sort, timeread $sort, id $sort";

        $notifications = [];
        $records = $DB->get_recordset_sql($sql, [$useridto], $offset, $limit);
        foreach ($records as $record) {
            $notifications[] = (object) $record;
        }
        $records->close();

        return $notifications;
    }
public static function get_popup_notifications ( $ useridto = 0 , $ sort = 'DESC' , $ limit = 0 , $ offset = 0 ) { global $ DB , $ USER ; $ sort = strtoupper ( $ sort ) ; if ( $ sort != 'DESC' && $ sort != 'ASC' ) { throw new \ moodle_exception ( 'invalid parameter: sort: must be "DESC" or "ASC"' ) ; } if ( empty ( $ useridto ) ) { $ useridto = $ USER -> id ; } // Is notification enabled ? if ( $ useridto == $ USER -> id ) { $ disabled = $ USER -> emailstop ; } else { $ user = \ core_user :: get_user ( $ useridto , "emailstop" , MUST_EXIST ) ; $ disabled = $ user -> emailstop ; } if ( $ disabled ) { // Notifications are disabled. return array ( ) ; } $ sql = "SELECT n.id, n.useridfrom, n.useridto,
                       n.subject, n.fullmessage, n.fullmessageformat,
                       n.fullmessagehtml, n.smallmessage, n.contexturl,
                       n.contexturlname, n.timecreated, n.component,
                       n.eventtype, n.timeread, n.customdata
                  FROM {notifications} n
                 WHERE n.id IN (SELECT notificationid FROM {message_popup_notifications})
                   AND n.useridto = ?
              ORDER BY timecreated $sort, timeread $sort, id $sort" ; $ notifications = [ ] ; $ records = $ DB -> get_recordset_sql ( $ sql , [ $ useridto ] , $ offset , $ limit ) ; foreach ( $ records as $ record ) { $ notifications [ ] = ( object ) $ record ; } $ records -> close ( ) ; return $ notifications ; }
Get popup notifications for the specified users. Nothing is returned if notifications are disabled.

@param int $useridto the user id who received the notification
@param string $sort the column name to order by including optionally direction
@param int $limit limit the number of result returned
@param int $offset offset the result set by this amount
@return array notification records
@throws \moodle_exception
@since 3.2
Get popup notifications for the specified users . Nothing is returned if notifications are disabled .