26 lines
855 B
Ruby
26 lines
855 B
Ruby
module EjabberdManager
|
|
class ExchangeContacts < EjabberdManagerService
|
|
def initialize(inviter:, invitee:)
|
|
@inviter = inviter
|
|
@invitee = invitee
|
|
end
|
|
|
|
def call
|
|
return unless @inviter.service_enabled?(:ejabberd) &&
|
|
@invitee.service_enabled?(:ejabberd) &&
|
|
@inviter.preferences[:xmpp_exchange_contacts_with_invitees]
|
|
|
|
add_rosteritem({
|
|
"localuser": @invitee.cn, "localhost": @invitee.ou,
|
|
"user": @inviter.cn, "host": @inviter.ou,
|
|
"nick": @inviter.cn, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
|
})
|
|
add_rosteritem({
|
|
"localuser": @inviter.cn, "localhost": @inviter.ou,
|
|
"user": @invitee.cn, "host": @invitee.ou,
|
|
"nick": @invitee.cn, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
|
})
|
|
end
|
|
end
|
|
end
|