]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - actions/twitapiblocks.php
change Laconica and Control Yourself to StatusNet in PHP files
[quix0rs-gnu-social.git] / actions / twitapiblocks.php
1 <?php
2 /*
3  * StatusNet - a distributed open-source microblogging tool
4  * Copyright (C) 2008, 2009, StatusNet, 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')) {
21     exit(1);
22 }
23
24 require_once(INSTALLDIR.'/lib/twitterapi.php');
25
26 class TwitapiblocksAction extends TwitterapiAction
27 {
28
29     function create($args, $apidata)
30     {
31
32         parent::handle($args);
33
34         $blockee = $this->get_user($apidata['api_arg'], $apidata);
35
36         if (empty($blockee)) {
37             $this->clientError('Not Found', 404, $apidata['content-type']);
38             return;
39         }
40
41         $user = $apidata['user']; // Always the auth user
42
43         if ($user->hasBlocked($blockee) || $user->block($blockee)) {
44             $type = $apidata['content-type'];
45             $this->init_document($type);
46             $this->show_profile($blockee, $type);
47             $this->end_document($type);
48         } else {
49             $this->serverError(_('Block user failed.'));
50         }
51     }
52
53     function destroy($args, $apidata)
54     {
55         parent::handle($args);
56         $blockee = $this->get_user($apidata['api_arg'], $apidata);
57
58         if (empty($blockee)) {
59             $this->clientError('Not Found', 404, $apidata['content-type']);
60             return;
61         }
62
63         $user = $apidata['user'];
64
65         if (!$user->hasBlocked($blockee) || $user->unblock($blockee)) {
66             $type = $apidata['content-type'];
67             $this->init_document($type);
68             $this->show_profile($blockee, $type);
69             $this->end_document($type);
70         } else {
71             $this->serverError(_('Unblock user failed.'));
72         }
73     }
74 }