diff options
author | Evan Prodromou <evan@status.net> | 2010-08-03 16:05:03 -0700 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-08-03 16:05:03 -0700 |
commit | 9f0715a9935966f3ec483bccc476d5baf3324b3c (patch) | |
tree | 9874247927e5e24044c75a48a9c04e427b0ba477 /classes/Profile.php | |
parent | 004e42e3e0606f0f9e5c8b6cd4512e5d870cd56e (diff) | |
parent | b17fc0ca5b90d2cdc957ebc4870fbd2791b9e1b9 (diff) |
Merge branch '0.9.x' into 1.0.x
Diffstat (limited to 'classes/Profile.php')
-rw-r--r-- | classes/Profile.php | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/classes/Profile.php b/classes/Profile.php index a303469e9..0d0463b73 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -152,17 +152,16 @@ class Profile extends Memcached_DataObject * * @return mixed Notice or null */ + function getCurrentNotice() { - $notice = new Notice(); - $notice->profile_id = $this->id; - // @fixme change this to sort on notice.id only when indexes are updated - $notice->orderBy('created DESC, notice.id DESC'); - $notice->limit(1); - if ($notice->find(true)) { + $notice = $this->getNotices(0, 1); + + if ($notice->fetch()) { return $notice; + } else { + return null; } - return null; } function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0) @@ -735,14 +734,18 @@ class Profile extends Memcached_DataObject 'role' => $name)); if (empty($role)) { - throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; does not exist.'); + // TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. + // TRANS: %1$s is the role name, %2$s is the user ID (number). + throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$d; does not exist.'),$name, $this->id)); } $result = $role->delete(); if (!$result) { common_log_db_error($role, 'DELETE', __FILE__); - throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; database error.'); + // TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. + // TRANS: %1$s is the role name, %2$s is the user ID (number). + throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$d; database error.'),$name, $this->id)); } return true; @@ -943,4 +946,20 @@ class Profile extends Memcached_DataObject return $result; } + + function getAtomFeed() + { + $feed = null; + + if (Event::handle('StartProfileGetAtomFeed', array($this, &$feed))) { + $user = User::staticGet('id', $this->id); + if (!empty($user)) { + $feed = common_local_url('ApiTimelineUser', array('id' => $user->id, + 'format' => 'atom')); + } + Event::handle('EndProfileGetAtomFeed', array($this, $feed)); + } + + return $feed; + } } |