def login
sql = "SELECT status, last_status FROM {ajaxim_status}
WHERE uid = '" + @db.escape_string(@user['uid']) + "'"
res = @db.query(sql)
if res.num_rows == 0
sql = "INSERT INTO {ajaxim_status} (status, uid, last_ping, last_status, last_stmsg)
VALUES
('1', '" + @user['uid'] + "', '" + Time.now.to_i.to_s + "', '1', 'I\\'m available')"
res = @db.query(sql)
status = 1
else
row = res.fetch_hash
if row['last_status'].to_i == 0
set = 'status=1, last_status=1'
status = 1
else
set = "status=#{row['last_status']}"
status = row['last_status']
end
sql = "UPDATE {ajaxim_status}
SET #{set}
WHERE uid = '" + @user['uid'] +"'"
res = @db.query(sql)
end
buddylist_array = get_buddies(@user['uid'])
users_chats_array = Hash.new
user_chats = Array.new
sql = "SELECT room FROM {ajaxim_chats} WHERE uid = '" + @user['uid'] + "'"
res = @db.query(sql)
while uchat = res.fetch_hash do
user_chats.push(uchat["room"])
users_chats_array[uchat["room"]] = Hash.new
end
chats_array = Array.new
sql = "SELECT room, COUNT(*) as num FROM {ajaxim_chats} GROUP BY room"
res = @db.query(sql)
while chat = res.fetch_hash do
if chat["num"].to_i > 0 && !user_chats.include?(chat["room"])
chats_array.push(chat['room'])
end
end
buddylist = user_event(buddylist_array, "status,#{status}");
output = Hash.new
output["buddy"] = buddylist.merge(users_chats_array).to_json
output["rooms"] = chats_array.sort.to_json
output.to_json
end