def joinroom(room)
return 'invalid_chars' if (room != room.sanitize_alphanum() || room.nil? || room.empty?)
sql = "SELECT id FROM {ajaxim_chats} WHERE uid = '" + @user["uid"]+ "' AND room = '" + room + "'"
res = @db.query(sql)
return 'already_joined' if res.num_rows > 0
return 'room_is_user' if !User.new(room, @db).nil?
@@logger.room_event(@user['name'], room, 'Joined room') if @logging == true
id = @db.next_id("{ajaxim_chats}")
sql = "INSERT INTO {ajaxim_chats} (id, room, uid)
VALUES
('" + id.to_s + "', '" + room + "', '" + @user["uid"].to_s+ "')"
res = @db.query(sql)
sql = "SELECT a.uid, u.name FROM {ajaxim_chats} a
LEFT JOIN {users} u ON u.uid = a.uid
WHERE a.room = '" + room + "' AND u.uid!='" + @user["uid"] + "'"
res = @db.query(sql)
output = {'users' => Array.new}
res.each_hash do |user|
output["users"].push(user["name"])
end
notify_buddies = user_event(output, "chat,join,#{room}");
output['users'].clear
output.to_json
end