From 334c652e80e9bb9e53116963ec3f794588be4439 Mon Sep 17 00:00:00 2001 From: mikec Date: Mon, 21 Jul 2008 08:00:36 -0400 Subject: Publish MicroIDs for email and mpp on profile and notice pages. darcs-hash:20080721120036-edabd-838335c0e23c80a657d353955b25b52a9a8624b2.gz --- actions/emailsettings.php | 15 +++++---------- actions/imsettings.php | 5 +++++ actions/shownotice.php | 22 ++++++++++++++++++++-- actions/showstream.php | 10 ++++++++++ 4 files changed, 40 insertions(+), 12 deletions(-) (limited to 'actions') diff --git a/actions/emailsettings.php b/actions/emailsettings.php index 2173645f7..72bad8519 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -83,14 +83,11 @@ class EmailsettingsAction extends SettingsAction { } common_element('h2', NULL, _('Preferences')); - + common_checkbox('emailnotifysub', - _('Send me notices of new subscriptions through email.'), - $user->emailnotifysub); - common_checkbox('emailpost', - _('I want to post notices by email.'), - $user->emailpost); - + _('Send me notices of new subscriptions through email.'), + $user->emailnotifysub); + common_submit('save', _('Save')); common_element_end('form'); @@ -131,8 +128,7 @@ class EmailsettingsAction extends SettingsAction { function save_preferences() { $emailnotifysub = $this->boolean('emailnotifysub'); - $emailpost = $this->boolean('emailpost'); - + $user = common_current_user(); assert(!is_null($user)); # should already be checked @@ -142,7 +138,6 @@ class EmailsettingsAction extends SettingsAction { $original = clone($user); $user->emailnotifysub = $emailnotifysub; - $user->emailpost = $emailpost; $result = $user->update($original); diff --git a/actions/imsettings.php b/actions/imsettings.php index d1ed48efb..034f6dc2b 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -75,6 +75,9 @@ class ImsettingsAction extends SettingsAction { common_checkbox('jabberreplies', _('Send me replies through Jabber/GTalk from people I\'m not subscribed to.'), $user->jabberreplies); + common_checkbox('jabbermicroid', + _('Publish a MicroID for my Jabber/GTalk address.'), + $user->jabbermicroid); common_submit('save', _('Save')); common_element_end('form'); @@ -113,6 +116,7 @@ class ImsettingsAction extends SettingsAction { $jabbernotify = $this->boolean('jabbernotify'); $updatefrompresence = $this->boolean('updatefrompresence'); $jabberreplies = $this->boolean('jabberreplies'); + $jabbermicroid = $this->boolean('jabbermicroid'); $user = common_current_user(); @@ -125,6 +129,7 @@ class ImsettingsAction extends SettingsAction { $user->jabbernotify = $jabbernotify; $user->updatefrompresence = $updatefrompresence; $user->jabberreplies = $jabberreplies; + $user->jabbermicroid = $jabbermicroid; $result = $user->update($original); diff --git a/actions/shownotice.php b/actions/shownotice.php index c05537c38..f9531b3c4 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -43,7 +43,7 @@ class ShownoticeAction extends StreamAction { # Looks like we're good; show the header common_show_header(sprintf(_('%1$s\'s status on %2$s'), $profile->nickname, common_exact_date($notice->created)), - NULL, $profile, + array($this, 'show_header'), $notice, array($this, 'show_top')); common_element_start('ul', array('id' => 'notices')); @@ -53,7 +53,25 @@ class ShownoticeAction extends StreamAction { common_show_footer(); } - function show_top($user) { + function show_header($notice) + { + $profile = $notice->getProfile(); + $user = User::staticGet($profile->id); + if (!$user) { + return; + } + if ($user->emailmicroid && $user->email && $notice->uri) { + common_element('meta', array('name' => 'microid', + 'content' => "mailto+http:sha1:" . sha1(sha1('mailto:' . $user->email) . sha1($notice->uri)))); + } + if ($user->jabbermicroid && $user->jabber && $notice->uri) { + common_element('meta', array('name' => 'microid', + 'content' => "xmpp+http:sha1:" . sha1(sha1('xmpp:' . $user->jabber) . sha1($notice->uri)))); + } + } + + function show_top($notice) { + $user = $notice->getProfile(); $cur = common_current_user(); if ($cur && $cur->id == $user->id) { diff --git a/actions/showstream.php b/actions/showstream.php index 8b473f76a..fba68d129 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -94,6 +94,16 @@ class ShowstreamAction extends StreamAction { 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() { -- cgit v1.2.3-54-g00ecf