]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - actions/subscriptions.php
change function headers to K&R style
[quix0rs-gnu-social.git] / actions / subscriptions.php
1 <?php
2 /*
3  * Laconica - a distributed open-source microblogging tool
4  * Copyright (C) 2008, Controlez-Vous, Inc.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 if (!defined('LACONICA')) { exit(1); }
21
22 require_once(INSTALLDIR.'/lib/gallery.php');
23
24 class SubscriptionsAction extends GalleryAction {
25
26     function gallery_type()
27     {
28         return _('Subscriptions');
29     }
30
31     function get_instructions(&$profile)
32     {
33         $user =& common_current_user();
34         if ($user && ($user->id == $profile->id)) {
35             return _('These are the people whose notices you listen to.');
36         } else {
37             return sprintf(_('These are the people whose notices %s listens to.'), $profile->nickname);
38         }
39     }
40
41     function fields()
42     {
43         return array('subscribed', 'subscriber');
44     }
45
46     function div_class()
47     {
48         return 'subscriptions';
49     }
50
51     function get_other(&$subs)
52     {
53         return $subs->subscribed;
54     }
55
56     function profile_list_class()
57     {
58         return 'SubscriptionsList';
59     }
60 }
61
62 class SubscriptionsList extends ProfileList {
63
64     function show_owner_controls($profile)
65     {
66
67         $sub = Subscription::pkeyGet(array('subscriber' => $this->owner->id,
68                                            'subscribed' => $profile->id));
69         if (!$sub) {
70             return;
71         }
72
73         common_element_start('form', array('id' => 'subedit-' . $profile->id,
74                                            'method' => 'post',
75                                            'class' => 'subedit',
76                                            'action' => common_local_url('subedit')));
77         common_hidden('token', common_session_token());
78         common_hidden('profile', $profile->id);
79         common_checkbox('jabber', _('Jabber'), $sub->jabber);
80         common_checkbox('sms', _('SMS'), $sub->sms);
81         common_submit('save', _('Save'));
82         common_element_end('form');
83         return;
84     }
85 }