summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-07-16 11:25:11 -0400
committerEvan Prodromou <evan@prodromou.name>2008-07-16 11:25:11 -0400
commiteb9715992cee6d06e520cf8826b7fb0d70db5871 (patch)
tree9f877f915d447a76c42d5fae77ba6903b2c01917 /lib
parent9b0ae9dd8231357308ccf603907e4c6885a2c307 (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.php9
-rw-r--r--lib/util.php18
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