public static function enqueueByListener(ilNotificationConfig $notification, $ref_id) { global $ilDB; $notification_id = ilNotificationDatabaseHandler::storeNotification($notification); $valid_until = $notification->getValidForSeconds() ? time() + $notification->getValidForSeconds() : 0; $query = 'INSERT INTO ' . ilNotificationSetupHelper::$tbl_notification_queue . ' (notification_id, usr_id, valid_until) ' . ' (SELECT %s, usr_id, %s FROM ' . ilNotificationSetupHelper::$tbl_userlistener . ' WHERE disabled = 0 AND module = %s AND sender_id = %s)'; $types = array('integer', 'integer', 'text', 'integer'); $values = array($notification_id, $valid_until, $notification->getType(), $ref_id); $ilDB->manipulateF($query, $types, $values); }