diff options
Diffstat (limited to 'actions')
-rw-r--r-- | actions/allrss.php | 4 | ||||
-rw-r--r-- | actions/api.php | 5 | ||||
-rw-r--r-- | actions/emailsettings.php | 14 | ||||
-rw-r--r-- | actions/favoritesrss.php | 4 | ||||
-rw-r--r-- | actions/grouprss.php | 5 | ||||
-rw-r--r-- | actions/imsettings.php | 6 | ||||
-rw-r--r-- | actions/noticesearchrss.php | 5 | ||||
-rw-r--r-- | actions/publicrss.php | 4 | ||||
-rw-r--r-- | actions/repliesrss.php | 3 | ||||
-rw-r--r-- | actions/showfavorites.php | 2 | ||||
-rw-r--r-- | actions/shownotice.php | 4 | ||||
-rw-r--r-- | actions/smssettings.php | 6 | ||||
-rw-r--r-- | actions/subscriptions.php | 16 | ||||
-rw-r--r-- | actions/tagrss.php | 3 | ||||
-rw-r--r-- | actions/twitapigroups.php | 97 | ||||
-rw-r--r-- | actions/twittersettings.php | 6 | ||||
-rw-r--r-- | actions/userrss.php | 5 |
17 files changed, 163 insertions, 26 deletions
diff --git a/actions/allrss.php b/actions/allrss.php index 885a67f61..260667090 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -115,8 +115,8 @@ class AllrssAction extends Rss10Action 'link' => common_local_url('all', array('nickname' => $user->nickname)), - 'description' => sprintf(_('Feed for friends of %s'), - $user->nickname)); + 'description' => sprintf(_('Updates from %1$s and friends on %2$s!'), + $user->nickname, common_config('site', 'name'))); return $c; } diff --git a/actions/api.php b/actions/api.php index 99ab262ad..6d226af7e 100644 --- a/actions/api.php +++ b/actions/api.php @@ -131,6 +131,8 @@ class ApiAction extends Action 'tags/timeline', 'oembed/oembed', 'groups/show', + 'groups/timeline', + 'groups/list_all', 'groups/timeline'); static $bareauth = array('statuses/user_timeline', @@ -140,7 +142,8 @@ class ApiAction extends Action 'statuses/mentions', 'statuses/followers', 'favorites/favorites', - 'friendships/show'); + 'friendships/show', + 'groups/list_groups'); $fullname = "$this->api_action/$this->api_method"; diff --git a/actions/emailsettings.php b/actions/emailsettings.php index 634388fdd..cdd092829 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -122,7 +122,7 @@ class EmailsettingsAction extends AccountSettingsAction } $this->elementEnd('fieldset'); - if ($user->email) { + if (common_config('emailpost', 'enabled') && $user->email) { $this->elementStart('fieldset', array('id' => 'settings_email_incoming')); $this->element('legend',_('Incoming email')); if ($user->incomingemail) { @@ -173,11 +173,13 @@ class EmailsettingsAction extends AccountSettingsAction _('Allow friends to nudge me and send me an email.'), $user->emailnotifynudge); $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('emailpost', - _('I want to post notices by email.'), - $user->emailpost); - $this->elementEnd('li'); + if (common_config('emailpost', 'enabled')) { + $this->elementStart('li'); + $this->checkbox('emailpost', + _('I want to post notices by email.'), + $user->emailpost); + $this->elementEnd('li'); + } $this->elementStart('li'); $this->checkbox('emailmicroid', _('Publish a MicroID for my email address.'), diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index c439a9a62..5dc09e5e8 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -111,8 +111,8 @@ class FavoritesrssAction extends Rss10Action 'link' => common_local_url('showfavorites', array('nickname' => $user->nickname)), - 'description' => sprintf(_('Feed of favorite notices of %s'), - $user->nickname)); + 'description' => sprintf(_('Updates favored by %1$s on %2$s!'), + $user->nickname, common_config('site', 'name'))); return $c; } diff --git a/actions/grouprss.php b/actions/grouprss.php index 2bdcaafb2..e1e2d2018 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -132,9 +132,10 @@ class groupRssAction extends Rss10Action $c = array('url' => common_local_url('grouprss', array('nickname' => $group->nickname)), - 'title' => $group->nickname, + 'title' => sprintf(_('%s timeline'), $group->nickname), 'link' => common_local_url('showgroup', array('nickname' => $group->nickname)), - 'description' => sprintf(_('Microblog by %s group'), $group->nickname)); + 'description' => sprintf(_('Updates from members of %1$s on %2$s!'), + $group->nickname, common_config('site', 'name'))); return $c; } diff --git a/actions/imsettings.php b/actions/imsettings.php index e0f5ede3a..70a6f37d4 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -84,6 +84,12 @@ class ImsettingsAction extends ConnectSettingsAction function showContent() { + if (!common_config('xmpp', 'enabled')) { + $this->element('div', array('class' => 'error'), + _('IM is not available.')); + return; + } + $user = common_current_user(); $this->elementStart('form', array('method' => 'post', 'id' => 'form_settings_im', diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index 2a4b2060d..045531c5a 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -86,9 +86,10 @@ class NoticesearchrssAction extends Rss10Action { $q = $this->trimmed('q'); $c = array('url' => common_local_url('noticesearchrss', array('q' => $q)), - 'title' => common_config('site', 'name') . sprintf(_(' Search Stream for "%s"'), $q), + 'title' => sprintf(_('Updates with "%s"'), $q), 'link' => common_local_url('noticesearch', array('q' => $q)), - 'description' => sprintf(_('All updates matching search term "%s"'), $q)); + 'description' => sprintf(_('Updates matching search term "%1$s" on %2$s!'), + $q, common_config('site', 'name'))); return $c; } diff --git a/actions/publicrss.php b/actions/publicrss.php index 7e8df9625..5c08de641 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -86,9 +86,9 @@ class PublicrssAction extends Rss10Action { $c = array( 'url' => common_local_url('publicrss') - , 'title' => sprintf(_('%s Public Stream'), common_config('site', 'name')) + , 'title' => sprintf(_('%s public timeline'), common_config('site', 'name')) , 'link' => common_local_url('public') - , 'description' => sprintf(_('All updates for %s'), common_config('site', 'name'))); + , 'description' => sprintf(_('%s updates from everyone!'), common_config('site', 'name'))); return $c; } diff --git a/actions/repliesrss.php b/actions/repliesrss.php index a87e2870d..580bb91f7 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.php @@ -68,7 +68,8 @@ class RepliesrssAction extends Rss10Action 'link' => common_local_url('replies', array('nickname' => $user->nickname)), - 'description' => sprintf(_('Feed for replies to %s'), $user->nickname)); + 'description' => sprintf(_('Replies to %1$s on %2$s!'), + $user->nickname, common_config('site', 'name'))); return $c; } diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 8efe9d30a..8b4926f01 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -173,7 +173,7 @@ class ShowfavoritesAction extends OwnerDesignAction } } else { - $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to thier favorites :)'), $this->user->nickname); + $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to their favorites :)'), $this->user->nickname); } $this->elementStart('div', 'guide'); diff --git a/actions/shownotice.php b/actions/shownotice.php index 8f73dc824..4b179bc72 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -97,8 +97,8 @@ class ShownoticeAction extends OwnerDesignAction $this->user = User::staticGet('id', $this->profile->id); - if (empty($this->user)) { - $this->serverError(_('Not a local notice'), 500); + if (! $this->notice->is_local) { + common_redirect($this->notice->uri); return false; } diff --git a/actions/smssettings.php b/actions/smssettings.php index 922bab9a4..33b54abf6 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -80,6 +80,12 @@ class SmssettingsAction extends ConnectSettingsAction function showContent() { + if (!common_config('sms', 'enabled')) { + $this->element('div', array('class' => 'error'), + _('SMS is not available.')); + return; + } + $user = common_current_user(); $this->elementStart('form', array('method' => 'post', diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 42bdae10f..0724471ff 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -174,14 +174,26 @@ class SubscriptionsListItem extends SubscriptionListItem return; } + if (!common_config('xmpp', 'enabled') && !common_config('sms', 'enabled')) { + return; + } + $this->out->elementStart('form', array('id' => 'subedit-' . $this->profile->id, 'method' => 'post', 'class' => 'form_subscription_edit', 'action' => common_local_url('subedit'))); $this->out->hidden('token', common_session_token()); $this->out->hidden('profile', $this->profile->id); - $this->out->checkbox('jabber', _('Jabber'), $sub->jabber); - $this->out->checkbox('sms', _('SMS'), $sub->sms); + if (common_config('xmpp', 'enabled')) { + $this->out->checkbox('jabber', _('Jabber'), $sub->jabber); + } else { + $this->out->hidden('jabber', $sub->jabber); + } + if (common_config('sms', 'enabled')) { + $this->out->checkbox('sms', _('SMS'), $sub->sms); + } else { + $this->out->hidden('sms', $sub->sms); + } $this->out->submit('save', _('Save')); $this->out->elementEnd('form'); return; diff --git a/actions/tagrss.php b/actions/tagrss.php index f69374fca..c3c03b9cd 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -61,7 +61,8 @@ class TagrssAction extends Rss10Action $c = array('url' => common_local_url('tagrss', array('tag' => $tagname)), 'title' => $tagname, 'link' => common_local_url('tagrss', array('tag' => $tagname)), - 'description' => sprintf(_('Microblog tagged with %s'), $tagname)); + 'description' => sprintf(_('Updates tagged with %1$s on %2$s!'), + $tagname, common_config('site', 'name'))); return $c; } diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index 82604ebff..bebc07fa1 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -51,6 +51,103 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; class TwitapigroupsAction extends TwitterapiAction { + function list_groups($args, $apidata) + { + parent::handle($args); + + common_debug("in groups api action"); + + $this->auth_user = $apidata['user']; + $user = $this->get_user($apidata['api_arg'], $apidata); + + if (empty($user)) { + $this->clientError('Not Found', 404, $apidata['content-type']); + return; + } + + $page = (int)$this->arg('page', 1); + $count = (int)$this->arg('count', 20); + $max_id = (int)$this->arg('max_id', 0); + $since_id = (int)$this->arg('since_id', 0); + $since = $this->arg('since'); + $group = $user->getGroups(($page-1)*$count, + $count, $since_id, $max_id, $since); + + $sitename = common_config('site', 'name'); + $title = sprintf(_("%s's groups"), $user->nickname); + $taguribase = common_config('integration', 'taguri'); + $id = "tag:$taguribase:Groups"; + $link = common_root_url(); + $subtitle = sprintf(_("groups %s is a member of on %s"), $user->nickname, $sitename); + + switch($apidata['content-type']) { + case 'xml': + $this->show_xml_groups($group); + break; + case 'rss': + $this->show_rss_groups($group, $title, $link, $subtitle); + break; + case 'atom': + $selfuri = common_root_url() . 'api/laconica/groups/list/' . $user->id . '.atom'; + $this->show_atom_groups($group, $title, $id, $link, + $subtitle, $selfuri); + break; + case 'json': + $this->show_json_groups($group); + break; + default: + $this->clientError(_('API method not found!'), $code = 404); + break; + } + } + + function list_all($args, $apidata) + { + parent::handle($args); + + common_debug("in groups api action"); + + $page = (int)$this->arg('page', 1); + $count = (int)$this->arg('count', 20); + $max_id = (int)$this->arg('max_id', 0); + $since_id = (int)$this->arg('since_id', 0); + $since = $this->arg('since'); + + /* TODO: + Use the $page, $count, $max_id, $since_id, and $since parameters + */ + $group = new User_group(); + $group->orderBy('created DESC'); + $group->find(); + + $sitename = common_config('site', 'name'); + $title = sprintf(_("%s groups"), $sitename); + $taguribase = common_config('integration', 'taguri'); + $id = "tag:$taguribase:Groups"; + $link = common_root_url(); + $subtitle = sprintf(_("groups on %s"), $sitename); + + switch($apidata['content-type']) { + case 'xml': + $this->show_xml_groups($group); + break; + case 'rss': + $this->show_rss_groups($group, $title, $link, $subtitle); + break; + case 'atom': + $selfuri = common_root_url() . 'api/laconica/groups/list_all.atom'; + $this->show_atom_groups($group, $title, $id, $link, + $subtitle, $selfuri); + break; + case 'json': + $this->show_json_groups($group); + break; + default: + $this->clientError(_('API method not found!'), $code = 404); + break; + } + } + function show($args, $apidata) { parent::handle($args); diff --git a/actions/twittersettings.php b/actions/twittersettings.php index 7fffa0af0..0859ab9d3 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -82,6 +82,12 @@ class TwittersettingsAction extends ConnectSettingsAction function showContent() { + if (!common_config('twitter', 'enabled')) { + $this->element('div', array('class' => 'error'), + _('Twitter is not available.')); + return; + } + $user = common_current_user(); $profile = $user->getProfile(); diff --git a/actions/userrss.php b/actions/userrss.php index 8a940865f..a9f3fd5f8 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -88,9 +88,10 @@ class UserrssAction extends Rss10Action $c = array('url' => common_local_url('userrss', array('nickname' => $user->nickname)), - 'title' => $user->nickname, + 'title' => sprintf(_('%s timeline'), $user->nickname), 'link' => $profile->profileurl, - 'description' => sprintf(_('Microblog by %s'), $user->nickname)); + 'description' => sprintf(_('Updates from %1$s on %2$s!'), + $user->nickname, common_config('site', 'name'))); return $c; } |