summaryrefslogtreecommitdiff
path: root/classes/Profile.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-08-03 16:05:03 -0700
committerEvan Prodromou <evan@status.net>2010-08-03 16:05:03 -0700
commit9f0715a9935966f3ec483bccc476d5baf3324b3c (patch)
tree9874247927e5e24044c75a48a9c04e427b0ba477 /classes/Profile.php
parent004e42e3e0606f0f9e5c8b6cd4512e5d870cd56e (diff)
parentb17fc0ca5b90d2cdc957ebc4870fbd2791b9e1b9 (diff)
Merge branch '0.9.x' into 1.0.x
Diffstat (limited to 'classes/Profile.php')
-rw-r--r--classes/Profile.php37
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;
+ }
}