"required|length[1,32]", "full_name" => "length[0,255]", "email" => "valid_email|length[1,255]", "password" => "required|length[1,40]", "locale" => "length[2,10]"); public function __set($column, $value) { switch ($column) { case "password": $value = user::hash_password($value); break; } parent::__set($column, $value); } /** * @see ORM::delete() */ public function delete($id=null) { module::event("user_before_delete", $this); parent::delete($id); } /** * Return a url to the user's avatar image. * @param integer $size the target size of the image (default 80px) * @return string a url */ public function avatar_url($size=80, $default=null) { return sprintf("http://www.gravatar.com/avatar/%s.jpg?s=%d&r=pg%s", md5($this->email), $size, $default ? "&d=" . urlencode($default) : ""); } }