def send(params)
user_status = user_online?(@recipient)
is_room = is_chatroom?(@recipient)
return 'not_online' unless user_status > 0 || is_room == true
return 'too_long' if @message.strip.size > 1500
return nil if @message.strip.size == 0
message = "<span style=\"font-family:\#{params['font']},sans-serif;font-size:\#{params['font_size']}px;color:\#{params['font_color']};\">\n\#{params['font_bold'] == true ? '<b>' : ''} \#{params['font_underline'] == true ? '<u>' : ''} \#{params['font_italic'] == true ? '<i>' : ''} \#{@message} \#{params['font_bold'] == true ? '</b>' : ''} \#{params['font_underline'] == true ? '</u>' : ''} \#{params['font_italic'] == true ? '</i>' : ''} </span>\n"
message = @db.escape_string(message)
sql_to_insert = Array.new
if is_room
@@logger.room_message(@user['name'], @recipient, @message) if @logging == true
get_chatlist(@recipient).each do |user_in_room|
next if user_in_room['uid'] == @user['uid']
id = @db.next_id("{ajaxim_messages}")
sql_to_insert.push("(#{id}, '#{message}', 'msg', #{@user['uid']}, #{user_in_room['uid']}, '#{@recipient}')")
end
else
recipient_user = User.new(@recipient, @db)
if user_status == 100
return 'not_online' unless buddy_get_buddies(recipient_user['uid']).has_key?(@user['uid'])
end
@@logger.private_message(@user['name'], recipient_user['name'], @message) if @logging == true
id = @db.next_id("{ajaxim_messages}")
sql_to_insert.push("(#{id}, '#{message}', 'msg', #{@user['uid']}, #{recipient_user['uid']}, '')")
end
if !sql_to_insert.empty?
@db.query("INSERT INTO {ajaxim_messages}
(id, message, type, sender, recipient, room)
VALUES #{sql_to_insert.join(",")}")
end
'sent'
end