summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-05-27 14:52:35 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-05-27 14:52:35 -0400
commitb3bb8943f592de9f6936f35be49a88c641bf6da1 (patch)
treebefbe8ff6d3c7d1268ecce3696bee5caaa799db7 /actions
parent698228acb9a6262f2fb4e0c82118249aa94cc0f8 (diff)
parentf59ab5dc40862b141ee5463fd4d24b0d213a96f2 (diff)
Merge branch '0.7.x' into utf8
Diffstat (limited to 'actions')
-rw-r--r--actions/accesstoken.php2
-rw-r--r--actions/all.php13
-rw-r--r--actions/api.php1
-rw-r--r--actions/facebookhome.php3
-rw-r--r--actions/facebookinvite.php65
-rw-r--r--actions/favorited.php11
-rw-r--r--actions/favoritesrss.php2
-rw-r--r--actions/finishremotesubscribe.php2
-rw-r--r--actions/groupmembers.php13
-rw-r--r--actions/grouprss.php2
-rw-r--r--actions/groups.php11
-rw-r--r--actions/inbox.php11
-rw-r--r--actions/newmessage.php45
-rw-r--r--actions/noticesearch.php6
-rw-r--r--actions/openidsettings.php4
-rw-r--r--actions/outbox.php11
-rw-r--r--actions/postnotice.php2
-rw-r--r--actions/public.php11
-rw-r--r--actions/recoverpassword.php4
-rw-r--r--actions/replies.php11
-rw-r--r--actions/requesttoken.php2
-rw-r--r--actions/showfavorites.php16
-rw-r--r--actions/showgroup.php15
-rw-r--r--actions/showstream.php11
-rw-r--r--actions/subscribers.php10
-rw-r--r--actions/subscriptions.php10
-rw-r--r--actions/tag.php18
-rw-r--r--actions/twitapifriendships.php6
-rw-r--r--actions/twitapistatuses.php38
-rw-r--r--actions/twitapiusers.php28
-rw-r--r--actions/twittersettings.php4
-rw-r--r--actions/updateprofile.php2
-rw-r--r--actions/userauthorization.php88
33 files changed, 357 insertions, 121 deletions
diff --git a/actions/accesstoken.php b/actions/accesstoken.php
index 77fdf6aef..46b43c702 100644
--- a/actions/accesstoken.php
+++ b/actions/accesstoken.php
@@ -59,7 +59,7 @@ class AccesstokenAction extends Action
try {
common_debug('getting request from env variables', __FILE__);
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('accesstoken'));
common_debug('getting a server', __FILE__);
$server = omb_oauth_server();
common_debug('fetching the access token', __FILE__);
diff --git a/actions/all.php b/actions/all.php
index 69890a70c..a53bbea07 100644
--- a/actions/all.php
+++ b/actions/all.php
@@ -69,6 +69,17 @@ class AllAction extends ProfileAction
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'all', array('nickname' => $this->user->nickname));
+ }
+
function showLocalNav()
{
$nav = new PersonalGroupNav($this);
@@ -82,7 +93,7 @@ class AllAction extends ProfileAction
if (common_logged_in()) {
$current_user = common_current_user();
if ($this->user->id === $current_user->id) {
- $message .= _('Try subscribing to more people, [join a group](%%action.groups) or post something yourself.');
+ $message .= _('Try subscribing to more people, [join a group](%%action.groups%%) or post something yourself.');
} else {
$message .= sprintf(_('You can try to [nudge %s](../%s) from his profile or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname);
}
diff --git a/actions/api.php b/actions/api.php
index d2f0a2eff..8762b4bcd 100644
--- a/actions/api.php
+++ b/actions/api.php
@@ -130,6 +130,7 @@ class ApiAction extends Action
'statuses/friends_timeline',
'statuses/friends',
'statuses/replies',
+ 'statuses/mentions',
'statuses/followers',
'favorites/favorites');
diff --git a/actions/facebookhome.php b/actions/facebookhome.php
index 5946e6c98..4c2b26355 100644
--- a/actions/facebookhome.php
+++ b/actions/facebookhome.php
@@ -138,9 +138,6 @@ class FacebookhomeAction extends FacebookAction
function setDefaults()
{
- // A default prefix string for notices
- $this->facebook->api_client->data_setUserPreference(
- FACEBOOK_NOTICE_PREFIX, 'dented: ');
$this->facebook->api_client->data_setUserPreference(
FACEBOOK_PROMPTED_UPDATE_PREF, 'false');
}
diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php
index 1302064ad..2207580f7 100644
--- a/actions/facebookinvite.php
+++ b/actions/facebookinvite.php
@@ -17,7 +17,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('LACONICA')) {
+ exit(1);
+}
require_once(INSTALLDIR.'/lib/facebookaction.php');
@@ -67,7 +69,7 @@ class FacebookinviteAction extends FacebookAction
function showSuccessContent()
{
- $this->element('h2', null, sprintf(_('Thanks for inviting your friends to use %s'),
+ $this->element('h2', null, sprintf(_('Thanks for inviting your friends to use %s'),
common_config('site', 'name')));
$this->element('p', null, _('Invitations have been sent to the following users:'));
@@ -89,16 +91,6 @@ class FacebookinviteAction extends FacebookAction
function showFormContent()
{
-
- // Get a list of users who are already using the app for exclusion
- $exclude_ids = $this->facebook->api_client->friends_getAppUsers();
- $exclude_ids_csv = null;
-
- // fbml needs these as a csv string, not an array
- if ($exclude_ids) {
- $exclude_ids_csv = implode(',', $exclude_ids);
- }
-
$content = sprintf(_('You have been invited to %s'), common_config('site', 'name')) .
htmlentities('<fb:req-choice url="' . $this->app_uri . '" label="Add"/>');
@@ -109,36 +101,43 @@ class FacebookinviteAction extends FacebookAction
'content' => $content));
$this->hidden('invite', 'true');
$actiontext = sprintf(_('Invite your friends to use %s'), common_config('site', 'name'));
-
- $multi_params = array('showborder' => 'false');
+
+ $multi_params = array('showborder' => 'false');
$multi_params['actiontext'] = $actiontext;
-
- if ($exclude_ids_csv) {
+ $multi_params['bypass'] = 'cancel';
+
+ // Get a list of users who are already using the app for exclusion
+ $exclude_ids = $this->facebook->api_client->friends_getAppUsers();
+ $exclude_ids_csv = null;
+
+ // fbml needs these as a csv string, not an array
+ if ($exclude_ids) {
+ $exclude_ids_csv = implode(',', $exclude_ids);
$multi_params['exclude_ids'] = $exclude_ids_csv;
}
- $multi_params['bypass'] = 'cancel';
-
$this->element('fb:multi-friend-selector', $multi_params);
-
$this->elementEnd('fb:request-form');
- $this->element('h2', null, sprintf(_('Friends already using %s:'),
- common_config('site', 'name')));
- $this->elementStart('ul', array('id' => 'facebook-friends'));
-
- foreach ($exclude_ids as $friend) {
- $this->elementStart('li');
- $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square'));
- $this->element('fb:name', array('uid' => $friend,
- 'capitalize' => 'true'));
- $this->elementEnd('li');
- }
+ if ($exclude_ids) {
- $this->elementEnd("ul");
+ $this->element('h2', null, sprintf(_('Friends already using %s:'),
+ common_config('site', 'name')));
+ $this->elementStart('ul', array('id' => 'facebook-friends'));
+
+ foreach ($exclude_ids as $friend) {
+ $this->elementStart('li');
+ $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square'));
+ $this->element('fb:name', array('uid' => $friend,
+ 'capitalize' => 'true'));
+ $this->elementEnd('li');
+ }
+
+ $this->elementEnd("ul");
+ }
}
-
- function title()
+
+ function title()
{
return sprintf(_('Send invitations'));
}
diff --git a/actions/favorited.php b/actions/favorited.php
index c902d80f5..7e31303e3 100644
--- a/actions/favorited.php
+++ b/actions/favorited.php
@@ -221,4 +221,15 @@ class FavoritedAction extends Action
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
$this->page, 'favorited');
}
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'favorited');
+ }
}
diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php
index f85bf1b19..6b46b8dec 100644
--- a/actions/favoritesrss.php
+++ b/actions/favoritesrss.php
@@ -107,7 +107,7 @@ class FavoritesrssAction extends Rss10Action
$c = array('url' => common_local_url('favoritesrss',
array('nickname' =>
$user->nickname)),
- 'title' => sprintf(_("%s favorite notices"), $user->nickname),
+ 'title' => sprintf(_("%s's favorite notices"), $user->nickname),
'link' => common_local_url('showfavorites',
array('nickname' =>
$user->nickname)),
diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php
index d54c29a60..3e3a81715 100644
--- a/actions/finishremotesubscribe.php
+++ b/actions/finishremotesubscribe.php
@@ -44,7 +44,7 @@ class FinishremotesubscribeAction extends Action
common_debug('stored request: '.print_r($omb,true), __FILE__);
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('finishuserauthorization'));
$token = $req->get_parameter('oauth_token');
diff --git a/actions/groupmembers.php b/actions/groupmembers.php
index a90108e4d..909935bec 100644
--- a/actions/groupmembers.php
+++ b/actions/groupmembers.php
@@ -137,4 +137,15 @@ class GroupmembersAction extends Action
$this->page, 'groupmembers',
array('nickname' => $this->group->nickname));
}
-} \ No newline at end of file
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'groupmembers', array('nickname' => $this->group->nickname));
+ }
+}
diff --git a/actions/grouprss.php b/actions/grouprss.php
index a9a2eef87..0b7280a11 100644
--- a/actions/grouprss.php
+++ b/actions/grouprss.php
@@ -34,7 +34,7 @@ if (!defined('LACONICA')) {
require_once INSTALLDIR.'/lib/rssaction.php';
-define('MEMBERS_PER_SECTION', 81);
+define('MEMBERS_PER_SECTION', 27);
/**
* Group RSS feed
diff --git a/actions/groups.php b/actions/groups.php
index 26b52a5fc..e20acce70 100644
--- a/actions/groups.php
+++ b/actions/groups.php
@@ -129,4 +129,15 @@ class GroupsAction extends Action
$gbm = new GroupsByMembersSection($this);
$gbm->show();
}
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'groups', array('nickname' => $this->group->nickname));
+ }
}
diff --git a/actions/inbox.php b/actions/inbox.php
index b553ab26c..7b5cf2d20 100644
--- a/actions/inbox.php
+++ b/actions/inbox.php
@@ -64,6 +64,17 @@ class InboxAction extends MailboxAction
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'inbox', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* Retrieve the messages for this user and this page
*
* Does a query for the right messages
diff --git a/actions/newmessage.php b/actions/newmessage.php
index 82276ff34..52d4899ba 100644
--- a/actions/newmessage.php
+++ b/actions/newmessage.php
@@ -172,15 +172,54 @@ class NewmessageAction extends Action
$this->notify($user, $this->other, $message);
- $url = common_local_url('outbox', array('nickname' => $user->nickname));
+ if ($this->boolean('ajax')) {
+ $this->startHTML('text/xml;charset=utf-8');
+ $this->elementStart('head');
+ $this->element('title', null, _('Message sent'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $this->element('p', array('id' => 'command_result'),
+ sprintf(_('Direct message to %s sent'),
+ $this->other->nickname));
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ } else {
+ $url = common_local_url('outbox',
+ array('nickname' => $user->nickname));
+ common_redirect($url, 303);
+ }
+ }
- common_redirect($url, 303);
+ /**
+ * Show an Ajax-y error message
+ *
+ * Goes back to the browser, where it's shown in a popup.
+ *
+ * @param string $msg Message to show
+ *
+ * @return void
+ */
+
+ function ajaxErrorMsg($msg)
+ {
+ $this->startHTML('text/xml;charset=utf-8', true);
+ $this->elementStart('head');
+ $this->element('title', null, _('Ajax Error'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $this->element('p', array('id' => 'error'), $msg);
+ $this->elementEnd('body');
+ $this->elementEnd('html');
}
function showForm($msg = null)
{
- $this->msg = $msg;
+ if ($msg && $this->boolean('ajax')) {
+ $this->ajaxErrorMsg($msg);
+ return;
+ }
+ $this->msg = $msg;
$this->showPage();
}
diff --git a/actions/noticesearch.php b/actions/noticesearch.php
index 095d0a454..d996998fc 100644
--- a/actions/noticesearch.php
+++ b/actions/noticesearch.php
@@ -184,11 +184,13 @@ class SearchNoticeListItem extends NoticeListItem {
function highlight($text, $terms)
{
/* Highligh search terms */
- $pattern = '/('.implode('|', array_map('htmlspecialchars', $terms)).')/i';
+ $options = implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms),
+ array_fill(0, sizeof($terms), '/')));
+ $pattern = "/($options)/i";
$result = preg_replace($pattern, '<strong>\\1</strong>', $text);
/* Remove highlighting from inside links, loop incase multiple highlights in links */
- $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('htmlspecialchars', $terms)).')<\/strong>([^"]*")/iU';
+ $pattern = '/(href="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
do {
$result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
} while ($count);
diff --git a/actions/openidsettings.php b/actions/openidsettings.php
index 92469d20f..5f59ebc01 100644
--- a/actions/openidsettings.php
+++ b/actions/openidsettings.php
@@ -67,8 +67,8 @@ class OpenidsettingsAction extends AccountSettingsAction
function getInstructions()
{
- return _('[OpenID](%%doc.openid%%) lets you log into many sites ' .
- ' with the same user account. '.
+ return _('[OpenID](%%doc.openid%%) lets you log into many sites' .
+ ' with the same user account.'.
' Manage your associated OpenIDs from here.');
}
diff --git a/actions/outbox.php b/actions/outbox.php
index c8d7f2812..deef1cc87 100644
--- a/actions/outbox.php
+++ b/actions/outbox.php
@@ -63,6 +63,17 @@ class OutboxAction extends MailboxAction
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'outbox', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* retrieve the messages for this user and this page
*
* Does a query for the right messages
diff --git a/actions/postnotice.php b/actions/postnotice.php
index c32d8ca94..3e98b3cd5 100644
--- a/actions/postnotice.php
+++ b/actions/postnotice.php
@@ -28,7 +28,7 @@ class PostnoticeAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('postnotice'));
# Note: server-to-server function!
$server = omb_oauth_server();
list($consumer, $token) = $server->verify_request($req);
diff --git a/actions/public.php b/actions/public.php
index 27153f131..d2f9da646 100644
--- a/actions/public.php
+++ b/actions/public.php
@@ -136,6 +136,17 @@ class PublicAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'public');
+ }
+
+ /**
* Extra head elements
*
* We include a <meta> element linking to the publicxrds page, for OpenID
diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php
index 620fe7eb8..82263fcd5 100644
--- a/actions/recoverpassword.php
+++ b/actions/recoverpassword.php
@@ -151,11 +151,11 @@ class RecoverpasswordAction extends Action
$this->element('p', null,
_('If you\'ve forgotten or lost your' .
' password, you can get a new one sent to' .
- ' the email address you have stored ' .
+ ' the email address you have stored' .
' in your account.'));
} else if ($this->mode == 'reset') {
$this->element('p', null,
- _('You\'ve been identified. Enter a ' .
+ _('You\'ve been identified. Enter a' .
' new password below. '));
}
$this->elementEnd('div');
diff --git a/actions/replies.php b/actions/replies.php
index eac4d0a3a..dfb520d64 100644
--- a/actions/replies.php
+++ b/actions/replies.php
@@ -139,6 +139,17 @@ class RepliesAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'replies', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* show the personal group nav
*
* @return void
diff --git a/actions/requesttoken.php b/actions/requesttoken.php
index fb577fdd5..9507e3d6c 100644
--- a/actions/requesttoken.php
+++ b/actions/requesttoken.php
@@ -69,7 +69,7 @@ class RequesttokenAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('requesttoken'));
$server = omb_oauth_server();
$token = $server->fetch_request_token($req);
print $token;
diff --git a/actions/showfavorites.php b/actions/showfavorites.php
index e8cf1cb01..eed62a2ab 100644
--- a/actions/showfavorites.php
+++ b/actions/showfavorites.php
@@ -74,9 +74,9 @@ class ShowfavoritesAction extends Action
function title()
{
if ($this->page == 1) {
- return sprintf(_("%s favorite notices"), $this->user->nickname);
+ return sprintf(_("%s's favorite notices"), $this->user->nickname);
} else {
- return sprintf(_("%s favorite notices, page %d"),
+ return sprintf(_("%s's favorite notices, page %d"),
$this->user->nickname,
$this->page);
}
@@ -151,6 +151,18 @@ class ShowfavoritesAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showfavorites', array('nickname' => $this->user->nickname));
+ }
+
+
+ /**
* show the personal group nav
*
* @return void
diff --git a/actions/showgroup.php b/actions/showgroup.php
index 7e86a79f1..a7df39727 100644
--- a/actions/showgroup.php
+++ b/actions/showgroup.php
@@ -35,7 +35,7 @@ if (!defined('LACONICA')) {
require_once INSTALLDIR.'/lib/noticelist.php';
require_once INSTALLDIR.'/lib/feedlist.php';
-define('MEMBERS_PER_SECTION', 81);
+define('MEMBERS_PER_SECTION', 27);
/**
* Group main page
@@ -312,6 +312,17 @@ class ShowgroupAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showgroup', array('nickname' => $this->group->nickname));
+ }
+
+ /**
* Fill in the sidebar.
*
* @return void
@@ -350,7 +361,7 @@ class ShowgroupAction extends Action
$this->element('p', null, _('(None)'));
}
- if ($cnt == MEMBERS_PER_SECTION) {
+ if ($cnt > MEMBERS_PER_SECTION) {
$this->element('a', array('href' => common_local_url('groupmembers',
array('nickname' => $this->group->nickname))),
_('All members'));
diff --git a/actions/showstream.php b/actions/showstream.php
index c1a2c337a..82665e5b8 100644
--- a/actions/showstream.php
+++ b/actions/showstream.php
@@ -135,6 +135,17 @@ class ShowstreamAction extends ProfileAction
sprintf(_('FOAF for %s'), $this->user->nickname)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showstream', array('nickname' => $this->user->nickname));
+ }
+
function extraHead()
{
// for remote subscriptions etc.
diff --git a/actions/subscribers.php b/actions/subscribers.php
index d91a7d4fd..4482de9a7 100644
--- a/actions/subscribers.php
+++ b/actions/subscribers.php
@@ -118,6 +118,16 @@ class SubscribersAction extends GalleryAction
$this->raw(common_markup_to_html($message));
$this->elementEnd('div');
}
+
+ function showSections()
+ {
+ parent::showSections();
+ $cloud = new SubscribersPeopleTagCloudSection($this);
+ $cloud->show();
+
+ $cloud2 = new SubscribersPeopleSelfTagCloudSection($this);
+ $cloud2->show();
+ }
}
class SubscribersList extends ProfileList
diff --git a/actions/subscriptions.php b/actions/subscriptions.php
index e6f3c54db..095b18ad8 100644
--- a/actions/subscriptions.php
+++ b/actions/subscriptions.php
@@ -125,6 +125,16 @@ class SubscriptionsAction extends GalleryAction
$this->raw(common_markup_to_html($message));
$this->elementEnd('div');
}
+
+ function showSections()
+ {
+ parent::showSections();
+ $cloud = new SubscriptionsPeopleTagCloudSection($this);
+ $cloud->show();
+
+ $cloud2 = new SubscriptionsPeopleSelfTagCloudSection($this);
+ $cloud2->show();
+ }
}
class SubscriptionsList extends ProfileList
diff --git a/actions/tag.php b/actions/tag.php
index 7f82c2a58..02f3e3522 100644
--- a/actions/tag.php
+++ b/actions/tag.php
@@ -45,6 +45,13 @@ class TagAction extends Action
return true;
}
+ function showSections()
+ {
+ $pop = new PopularNoticeSection($this);
+ $pop->show();
+ }
+
+
function title()
{
if ($this->page == 1) {
@@ -70,6 +77,17 @@ class TagAction extends Action
sprintf(_('Feed for tag %s'), $this->tag)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'tag', array('tag' => $this->tag));
+ }
+
function showPageNotice()
{
return sprintf(_('Messages tagged "%s", most recent first'), $this->tag);
diff --git a/actions/twitapifriendships.php b/actions/twitapifriendships.php
index c50c5e84a..2f8250e0d 100644
--- a/actions/twitapifriendships.php
+++ b/actions/twitapifriendships.php
@@ -133,11 +133,7 @@ class TwitapifriendshipsAction extends TwitterapiAction
return;
}
- if ($user_a->isSubscribed($user_b)) {
- $result = 'true';
- } else {
- $result = 'false';
- }
+ $result = $user_a->isSubscribed($user_b);
switch ($apidata['content-type']) {
case 'xml':
diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php
index 323c4f1f8..3abeba367 100644
--- a/actions/twitapistatuses.php
+++ b/actions/twitapistatuses.php
@@ -144,10 +144,10 @@ class TwitapistatusesAction extends TwitterapiAction
break;
case 'atom':
if (isset($apidata['api_arg'])) {
- $selfuri = $selfuri = common_root_url() .
+ $selfuri = common_root_url() .
'api/statuses/friends_timeline/' . $apidata['api_arg'] . '.atom';
} else {
- $selfuri = $selfuri = common_root_url() .
+ $selfuri = common_root_url() .
'api/statuses/friends_timeline.atom';
}
$this->show_atom_timeline($notice, $title, $id, $link, $subtitle, null, $selfuri);
@@ -231,10 +231,10 @@ class TwitapistatusesAction extends TwitterapiAction
break;
case 'atom':
if (isset($apidata['api_arg'])) {
- $selfuri = $selfuri = common_root_url() .
+ $selfuri = common_root_url() .
'api/statuses/user_timeline/' . $apidata['api_arg'] . '.atom';
} else {
- $selfuri = $selfuri = common_root_url() .
+ $selfuri = common_root_url() .
'api/statuses/user_timeline.atom';
}
$this->show_atom_timeline($notice, $title, $id, $link, $subtitle, $suplink, $selfuri);
@@ -344,7 +344,7 @@ class TwitapistatusesAction extends TwitterapiAction
$this->show($args, $apidata);
}
- function replies($args, $apidata)
+ function mentions($args, $apidata)
{
parent::handle($args);
@@ -360,11 +360,13 @@ class TwitapistatusesAction extends TwitterapiAction
$profile = $user->getProfile();
$sitename = common_config('site', 'name');
- $title = sprintf(_('%1$s / Updates replying to %2$s'), $sitename, $user->nickname);
+ $title = sprintf(_('%1$s / Updates mentioning %2$s'),
+ $sitename, $user->nickname);
$taguribase = common_config('integration', 'taguri');
- $id = "tag:$taguribase:Replies:".$user->id;
+ $id = "tag:$taguribase:Mentions:".$user->id;
$link = common_local_url('replies', array('nickname' => $user->nickname));
- $subtitle = sprintf(_('%1$s updates that reply to updates from %2$s / %3$s.'), $sitename, $user->nickname, $profile->getBestName());
+ $subtitle = sprintf(_('%1$s updates that reply to updates from %2$s / %3$s.'),
+ $sitename, $user->nickname, $profile->getBestName());
if (!$page) {
$page = 1;
@@ -385,7 +387,8 @@ class TwitapistatusesAction extends TwitterapiAction
$since = strtotime($this->arg('since'));
- $notice = $user->getReplies((($page-1)*20), $count, $since_id, $before_id, $since);
+ $notice = $user->getReplies((($page-1)*20),
+ $count, $since_id, $before_id, $since);
$notices = array();
while ($notice->fetch()) {
@@ -400,14 +403,10 @@ class TwitapistatusesAction extends TwitterapiAction
$this->show_rss_timeline($notices, $title, $link, $subtitle);
break;
case 'atom':
- if (isset($apidata['api_arg'])) {
- $selfuri = $selfuri = common_root_url() .
- 'api/statuses/replies/' . $apidata['api_arg'] . '.atom';
- } else {
- $selfuri = $selfuri = common_root_url() .
- 'api/statuses/replies.atom';
- }
- $this->show_atom_timeline($notices, $title, $id, $link, $subtitle, null, $selfuri);
+ $selfuri = common_root_url() .
+ ltrim($_SERVER['QUERY_STRING'], 'p=');
+ $this->show_atom_timeline($notices, $title, $id, $link, $subtitle,
+ null, $selfuri);
break;
case 'json':
$this->show_json_timeline($notices);
@@ -418,6 +417,11 @@ class TwitapistatusesAction extends TwitterapiAction
}
+ function replies($args, $apidata)
+ {
+ call_user_func(array($this, 'mentions'), $args, $apidata);
+ }
+
function show($args, $apidata)
{
parent::handle($args);
diff --git a/actions/twitapiusers.php b/actions/twitapiusers.php
index 2894b7486..1542cfb33 100644
--- a/actions/twitapiusers.php
+++ b/actions/twitapiusers.php
@@ -82,8 +82,8 @@ class TwitapiusersAction extends TwitterapiAction
$twitter_user['profile_text_color'] = '';
$twitter_user['profile_link_color'] = '';
$twitter_user['profile_sidebar_fill_color'] = '';
- $twitter_user['profile_sidebar_border_color'] = '';
- $twitter_user['profile_background_tile'] = 'false';
+ $twitter_user['profile_sidebar_border_color'] = '';
+ $twitter_user['profile_background_tile'] = false;
$faves = DB_DataObject::factory('fave');
$faves->user_id = $user->id;
@@ -103,24 +103,16 @@ class TwitapiusersAction extends TwitterapiAction
if (isset($apidata['user'])) {
- if ($apidata['user']->isSubscribed($profile)) {
- $twitter_user['following'] = 'true';
- } else {
- $twitter_user['following'] = 'false';
- }
+ $twitter_user['following'] = $apidata['user']->isSubscribed($profile);
- // Notifications on?
- $sub = Subscription::pkeyGet(array('subscriber' =>
- $apidata['user']->id, 'subscribed' => $profile->id));
+ // Notifications on?
+ $sub = Subscription::pkeyGet(array('subscriber' =>
+ $apidata['user']->id, 'subscribed' => $profile->id));
- if ($sub) {
- if ($sub->jabber || $sub->sms) {
- $twitter_user['notifications'] = 'true';
- } else {
- $twitter_user['notifications'] = 'false';
- }
- }
- }
+ if ($sub) {
+ $twitter_user['notifications'] = ($sub->jabber || $sub->sms);
+ }
+ }
if ($apidata['content-type'] == 'xml') {
$this->init_document('xml');
diff --git a/actions/twittersettings.php b/actions/twittersettings.php
index 45725d3ff..0b98eef59 100644
--- a/actions/twittersettings.php
+++ b/actions/twittersettings.php
@@ -261,7 +261,7 @@ class TwittersettingsAction extends ConnectSettingsAction
'alt' => ($other->fullname) ?
$other->fullname :
$other->nickname));
-
+
$this->element('span', 'fn nickname', $other->nickname);
$this->elementEnd('a');
$this->elementEnd('li');
@@ -375,6 +375,8 @@ class TwittersettingsAction extends ConnectSettingsAction
if ($friendsync) {
save_twitter_friends($user, $twit_user->id, $screen_name, $password);
+ $flink->last_friendsync = common_sql_now();
+ $flink->update();
}
$this->showForm(_('Twitter settings saved.'), true);
diff --git a/actions/updateprofile.php b/actions/updateprofile.php
index 7dc52fda9..08cb31ae0 100644
--- a/actions/updateprofile.php
+++ b/actions/updateprofile.php
@@ -29,7 +29,7 @@ class UpdateprofileAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('updateprofile'));
# Note: server-to-server function!
$server = omb_oauth_server();
list($consumer, $token) = $server->verify_request($req);
diff --git a/actions/userauthorization.php b/actions/userauthorization.php
index 8723848c7..168019149 100644
--- a/actions/userauthorization.php
+++ b/actions/userauthorization.php
@@ -97,47 +97,91 @@ class UserauthorizationAction extends Action
$location = $params['omb_listenee_location'];
$avatar = $params['omb_listenee_avatar'];
- $this->elementStart('div', 'profile');
+ $this->elementStart('div', array('class' => 'profile'));
+ $this->elementStart('div', 'entity_profile vcard');
+ $this->elementStart('a', array('href' => $profile,
+ 'class' => 'url'));
if ($avatar) {
$this->element('img', array('src' => $avatar,
- 'class' => 'avatar',
+ 'class' => 'photo avatar',
'width' => AVATAR_PROFILE_SIZE,
'height' => AVATAR_PROFILE_SIZE,
'alt' => $nickname));
}
- $this->element('a', array('href' => $profile,
- 'class' => 'external profile nickname'),
- $nickname);
+ $hasFN = ($fullname !== '') ? 'nickname' : 'fn nickname';
+ $this->elementStart('span', $hasFN);
+ $this->raw($nickname);
+ $this->elementEnd('span');
+ $this->elementEnd('a');
+
if (!is_null($fullname)) {
- $this->elementStart('div', 'fullname');
- if (!is_null($homepage)) {
- $this->element('a', array('href' => $homepage),
- $fullname);
- } else {
- $this->text($fullname);
- }
- $this->elementEnd('div');
+ $this->elementStart('dl', 'entity_fn');
+ $this->elementStart('dd');
+ $this->elementStart('span', 'fn');
+ $this->raw($fullname);
+ $this->elementEnd('span');
+ $this->elementEnd('dd');
+ $this->elementEnd('dl');
}
if (!is_null($location)) {
- $this->element('div', 'location', $location);
+ $this->elementStart('dl', 'entity_location');
+ $this->element('dt', null, _('Location'));
+ $this->elementStart('dd', 'label');
+ $this->raw($location);
+ $this->elementEnd('dd');
+ $this->elementEnd('dl');
+ }
+
+ if (!is_null($homepage)) {
+ $this->elementStart('dl', 'entity_url');
+ $this->element('dt', null, _('URL'));
+ $this->elementStart('dd');
+ $this->elementStart('a', array('href' => $homepage,
+ 'class' => 'url'));
+ $this->raw($homepage);
+ $this->elementEnd('a');
+ $this->elementEnd('dd');
+ $this->elementEnd('dl');
}
+
if (!is_null($bio)) {
- $this->element('div', 'bio', $bio);
+ $this->elementStart('dl', 'entity_note');
+ $this->element('dt', null, _('Note'));
+ $this->elementStart('dd', 'note');
+ $this->raw($bio);
+ $this->elementEnd('dd');
+ $this->elementEnd('dl');
+ }
+
+ if (!is_null($license)) {
+ $this->elementStart('dl', 'entity_license');
+ $this->element('dt', null, _('License'));
+ $this->elementStart('dd', 'license');
+ $this->element('a', array('href' => $license,
+ 'class' => 'license'),
+ $license);
+ $this->elementEnd('dd');
+ $this->elementEnd('dl');
}
- $this->elementStart('div', 'license');
- $this->element('a', array('href' => $license,
- 'class' => 'license'),
- $license);
- $this->elementEnd('div');
$this->elementEnd('div');
+
+ $this->elementStart('div', 'entity_actions');
+ $this->elementStart('ul');
+ $this->elementStart('li', 'entity_subscribe');
$this->elementStart('form', array('method' => 'post',
'id' => 'userauthorization',
+ 'class' => 'form_user_authorization',
'name' => 'userauthorization',
'action' => common_local_url('userauthorization')));
$this->hidden('token', common_session_token());
- $this->submit('accept', _('Accept'));
- $this->submit('reject', _('Reject'));
+
+ $this->submit('accept', _('Accept'), 'submit accept', null, _('Subscribe to this user'));
+ $this->submit('reject', _('Reject'), 'submit reject', null, _('Reject this subscription'));
$this->elementEnd('form');
+ $this->elementEnd('li');
+ $this->elementEnd('ul');
+ $this->elementEnd('div');
+ $this->elementEnd('div');
}
function sendAuthorization()