-require 'digest/md5'
-
class User < ActiveRecord::Base
- has_many :traces
+ require 'xml/libxml'
+ require 'digest/md5'
+ has_many :traces
+ has_many :diary_entries
+ has_many :messages, :foreign_key => :to_user_id
+
validates_confirmation_of :pass_crypt, :message => 'Password must match the confirmation password'
validates_uniqueness_of :display_name, :allow_nil => true
validates_uniqueness_of :email
return confirmstring
end
+ def to_xml
+ doc = OSM::API.new.get_xml_doc
+ doc.root << to_xml_node()
+ return doc
+ end
+
+ def to_xml_node
+ el1 = XML::Node.new 'user'
+ el1['display_name'] = self.display_name.to_s
+ el1['account_created'] = self.creation_time.xmlschema
+ return el1
+ end
+
+ def nearby(lat_range=1, lon_range=1)
+
+ nearby = User.find(:all, :conditions => "#{self.home_lon} > home_lon - #{lon_range} and #{self.home_lon} < home_lon + #{lon_range} and #{self.home_lon} > home_lon - #{lon_range} and #{self.home_lon} < home_lon + #{lon_range} and data_public = 1")
+ return nearby
+ end
+
+ def self.has_messages?
+ if Message.fdhjklsafind_by_to_user_id(self.id)
+ return true
+ else
+ return false
+ end
+ end
+
+ def get_new_messages
+ messages = Message.find(:all, :conditions => "message_read = 0")
+ return messages
+ end
+
+ def get_all_messages
+ messages = Message.find(:all, :conditions => "message_read = 0")
+ return messages
+ end
+
+
end