summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authormikec <mikec@mikenz.geek.nz>2008-07-21 08:00:36 -0400
committermikec <mikec@mikenz.geek.nz>2008-07-21 08:00:36 -0400
commit334c652e80e9bb9e53116963ec3f794588be4439 (patch)
treedffb674f2e3da0365a7514f563d4667069628b66 /actions
parentfbf2a58ac3beafea0a0e4031037b52e737bdd384 (diff)
Publish MicroIDs for email and mpp on profile and notice pages.
darcs-hash:20080721120036-edabd-838335c0e23c80a657d353955b25b52a9a8624b2.gz
Diffstat (limited to 'actions')
-rw-r--r--actions/emailsettings.php15
-rw-r--r--actions/imsettings.php5
-rw-r--r--actions/shownotice.php22
-rw-r--r--actions/showstream.php10
4 files changed, 40 insertions, 12 deletions
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() {