1 single obj mapping. Change? Or make // a getForeignUsers() that returns more than one? --Zach static function getByUserID($user_id, $service) { $flink = new Foreign_link(); $flink->service = $service; $flink->user_id = $user_id; $flink->limit(1); if ($flink->find(true)) { return $flink; } return null; } static function getByForeignID($foreign_id, $service) { $flink = new Foreign_link(); $flink->service = $service; $flink->foreign_id = $foreign_id; $flink->limit(1); if ($flink->find(true)) { return $flink; } return null; } function set_flags($noticesend, $noticerecv, $replysync, $friendsync) { if ($noticesend) { $this->noticesync |= FOREIGN_NOTICE_SEND; } else { $this->noticesync &= ~FOREIGN_NOTICE_SEND; } if ($noticerecv) { $this->noticesync |= FOREIGN_NOTICE_RECV; } else { $this->noticesync &= ~FOREIGN_NOTICE_RECV; } if ($replysync) { $this->noticesync |= FOREIGN_NOTICE_SEND_REPLY; } else { $this->noticesync &= ~FOREIGN_NOTICE_SEND_REPLY; } if ($friendsync) { $this->friendsync |= FOREIGN_FRIEND_RECV; } else { $this->friendsync &= ~FOREIGN_FRIEND_RECV; } $this->profilesync = 0; } # Convenience methods function getForeignUser() { $fuser = new Foreign_user(); $fuser->service = $this->service; $fuser->id = $this->foreign_id; $fuser->limit(1); if ($fuser->find(true)) { return $fuser; } return null; } function getUser() { return User::staticGet($this->user_id); } }