]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - actions/subscriptions.php
set jabber and sms flags on subscriptions
[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                 return _('Subscriptions');
28         }
29
30         function get_instructions(&$profile) {
31                 $user =& common_current_user();
32                 if ($user && ($user->id == $profile->id)) {
33                         return _('These are the people whose notices you listen to.');
34                 } else {
35                         return sprintf(_('These are the people whose notices %s listens to.'), $profile->nickname);
36                 }
37         }
38
39         function fields() {
40                 return array('subscribed', 'subscriber');
41         }
42
43         function div_class() {
44                 return 'subscriptions';
45         }
46
47         function get_other(&$subs) {
48                 return $subs->subscribed;
49         }
50
51     function profile_list_class() {
52         return 'SubscriptionsList';
53     }
54 }
55
56 class SubscriptionsList extends ProfileList {
57
58     function show_owner_controls($profile) {
59                 $sub = Subscription::pkeyGet(array('subscriber' => $this->owner->id,
60                                                                                    'subscribed' => $profile->id));
61         common_element_start('form', array('id' => 'subedit-' . $profile->id,
62                                            'method' => 'post',
63                                            'class' => 'subedit',
64                                            'action' => common_local_url('subedit')));
65         common_hidden('token', common_session_token());
66         common_hidden('profile', $profile->id);
67         common_checkbox('jabber', _('Jabber'), $sub->jabber);
68         common_checkbox('sms', _('SMS'), $sub->sms);
69         common_submit('save', _('Save'));
70         common_element_end('form');
71         return;
72     }
73 }