diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-07-16 11:25:11 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-07-16 11:25:11 -0400 |
commit | eb9715992cee6d06e520cf8826b7fb0d70db5871 (patch) | |
tree | 9f877f915d447a76c42d5fae77ba6903b2c01917 /lib | |
parent | 9b0ae9dd8231357308ccf603907e4c6885a2c307 (diff) |
utility function for getting a profile URI
I added a utility function for getting a profile URI. At some point we
need to push commonalities between Remote_profile and User into the
Profile class; single-table inheritance. We do a lot of switching
around for no good reason on users and profiles.
darcs-hash:20080716152511-84dde-6f73d947d11083e7235756fde635e145f02e2483.gz
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rssaction.php | 9 | ||||
-rw-r--r-- | lib/util.php | 18 |
2 files changed, 19 insertions, 8 deletions
diff --git a/lib/rssaction.php b/lib/rssaction.php index ee37f3aa7..5a6a8313d 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -117,12 +117,7 @@ class Rss10Action extends Action { function show_item($notice) { $profile = Profile::staticGet($notice->profile_id); $nurl = common_local_url('shownotice', array('notice' => $notice->id)); - $user = User::staticGet($profile->id); - if ($user) { - $creator_url = $user->uri; - } else { - $creator_url = $profile->profile_url; - } + $creator_uri = common_profile_uri($profile); common_element_start('item', array('rdf:about' => $notice->uri)); $title = $profile->nickname . ': ' . $notice->content; common_element('title', NULL, $title); @@ -133,7 +128,7 @@ class Rss10Action extends Action { common_element('sioc:has_creator', array('rdf:resource' => $creator_url)); common_element('cc:licence', array('rdf:resource' => common_config('license', 'url'))); common_element_end('item'); - $this->creators[$creator_url] = $profile; + $this->creators[$creator_uri] = $profile; } function show_creators() { diff --git a/lib/util.php b/lib/util.php index 1b672561f..997f32430 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1292,4 +1292,20 @@ function common_profile_avatar_url($profile, $size=AVATAR_PROFILE_SIZE) { return common_default_avatar($size); } } -
\ No newline at end of file + +function common_profile_uri($profile) { + if (!$profile) { + return NULL; + } + $user = User::staticGet($profile->id); + if ($user) { + return $user->uri; + } + + $remote = Remote_profile::staticGet($profile->id); + if ($remote) { + return $remote->uri; + } + # XXX: this is a very bad profile! + return NULL; +}
\ No newline at end of file |