]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/showstream.php
Publish MicroIDs for email and mpp on profile and notice pages.
[quix0rs-gnu-social.git] / actions / showstream.php
index 8980b4de159692c37130da710069d84dfd03c76d..fba68d129d646e9bbf3f2fc2556fad236393903c 100644 (file)
@@ -89,6 +89,21 @@ class ShowstreamAction extends StreamAction {
                common_element('meta', array('http-equiv' => 'X-XRDS-Location',
                                                                         'content' => common_local_url('xrds', array('nickname' =>
                                                                                                                                                           $user->nickname))));
+               $profile = $user->getProfile();
+               if ($profile->bio) {
+                       common_element('meta', array('name' => 'description',
+                                                                                'content' => $profile->bio));
+               }
+
+               if ($user->emailmicroid && $user->email && $profile->profileurl) {
+                       common_element('meta', array('name' => 'microid',
+                                                                                'content' => "mailto+http:sha1:" . sha1(sha1('mailto:' . $user->email) . sha1($profile->profileurl))));
+               }
+               if ($user->jabbermicroid && $user->jabber && $profile->profileurl) {
+                       common_element('meta', array('name' => 'microid',
+                                                                                'content' => "xmpp+http:sha1:" . sha1(sha1('xmpp:' . $user->jabber) . sha1($profile->profileurl))));
+               }
+
        }
 
        function no_such_user() {
@@ -150,7 +165,8 @@ class ShowstreamAction extends StreamAction {
                }
                if ($profile->homepage) {
                        common_element_start('p', 'website');
-                       common_element('a', array('href' => $profile->homepage),
+                       common_element('a', array('href' => $profile->homepage,
+                                                                         'rel' => 'me'),
                                                   $profile->homepage);
                        common_element_end('p');
                }
@@ -199,6 +215,8 @@ class ShowstreamAction extends StreamAction {
 
                $subs = DB_DataObject::factory('subscription');
                $subs->subscriber = $profile->id;
+               $subs->whereAdd('subscribed != ' . $profile->id);
+               
                $subs->orderBy('created DESC');
 
                # We ask for an extra one to know if we need to do another page
@@ -229,6 +247,7 @@ class ShowstreamAction extends StreamAction {
                                                                                                $other->fullname :
                                                                                                $other->nickname,
                                                                                                'href' => $other->profileurl,
+                                                                                               'rel' => 'contact',
                                                                                                'class' => 'subscription'));
                                $avatar = $other->getAvatar(AVATAR_MINI_SIZE);
                                common_element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) :  common_default_avatar(AVATAR_MINI_SIZE)),
@@ -263,11 +282,11 @@ class ShowstreamAction extends StreamAction {
                // XXX: WORM cache this
                $subs = DB_DataObject::factory('subscription');
                $subs->subscriber = $profile->id;
-               $subs_count = (int) $subs->count();
+               $subs_count = (int) $subs->count() - 1;
 
                $subbed = DB_DataObject::factory('subscription');
                $subbed->subscribed = $profile->id;
-               $subbed_count = (int) $subbed->count();
+               $subbed_count = (int) $subbed->count() - 1;
 
                $notices = DB_DataObject::factory('notice');
                $notices->profile_id = $profile->id;
@@ -355,6 +374,12 @@ class ShowstreamAction extends StreamAction {
 
        function show_notice($notice) {
                $profile = $notice->getProfile();
+               if (common_logged_in()) {
+                       $user = common_current_user();
+                       $user_profile = $user->getProfile();
+               } else {
+                       $user_profile = false;
+               }
                # XXX: RDFa
                common_element_start('li', array('class' => 'notice_single',
                                                                                 'id' => 'notice-' . $notice->id));
@@ -392,6 +417,12 @@ class ShowstreamAction extends StreamAction {
                common_raw('→');
                common_element_end('a');
                common_element_end('p');
+               if ($user_profile && $notice->profile_id == $user_profile->id) {
+                       $deleteurl = common_local_url('deletenotice', array('notice' => $notice->id));
+                       common_element('a', array('class' => 'deletenotice',
+                                                                        'href' => $deleteurl),
+                                                                         _('delete'));
+               }
                common_element_end('li');
        }
 }
\ No newline at end of file