core/rostermanager.lua
changeset 5429 25333de6e7c7
parent 5348 ca0d820e9318
child 5747 23076ee191d3
child 7780 65836cf2d057
equal deleted inserted replaced
5428:4cc7df30f521 5429:25333de6e7c7
    16 
    16 
    17 local hosts = hosts;
    17 local hosts = hosts;
    18 local bare_sessions = bare_sessions;
    18 local bare_sessions = bare_sessions;
    19 
    19 
    20 local datamanager = require "util.datamanager"
    20 local datamanager = require "util.datamanager"
       
    21 local um_user_exists = require "core.usermanager".user_exists;
    21 local st = require "util.stanza";
    22 local st = require "util.stanza";
    22 
    23 
    23 module "rostermanager"
    24 module "rostermanager"
    24 
    25 
    25 function add_to_roster(session, jid, item)
    26 function add_to_roster(session, jid, item)
   103 	end
   104 	end
   104 	return roster, err;
   105 	return roster, err;
   105 end
   106 end
   106 
   107 
   107 function save_roster(username, host, roster)
   108 function save_roster(username, host, roster)
       
   109 	if not um_user_exists(username, host) then
       
   110 		log("debug", "not saving roster for %s@%s: the user doesn't exist", username, host);
       
   111 		return nil;
       
   112 	end
       
   113 
   108 	log("debug", "save_roster: saving roster for %s@%s", username, host);
   114 	log("debug", "save_roster: saving roster for %s@%s", username, host);
   109 	if not roster then
   115 	if not roster then
   110 		roster = hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster;
   116 		roster = hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster;
   111 		--if not roster then
   117 		--if not roster then
   112 		--	--roster = load_roster(username, host);
   118 		--	--roster = load_roster(username, host);