]> git.mxchange.org Git - friendica.git/blob - src/Module/Api/Friendica/Events/Index.php
Merge pull request #10965 from tobiasd/20211108-lng
[friendica.git] / src / Module / Api / Friendica / Events / Index.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2021, the Friendica project
4  *
5  * @license   GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  */
21
22 namespace Friendica\Module\Api\Friendica\Events;
23
24 use Friendica\Content\Text\BBCode;
25 use Friendica\Database\DBA;
26 use Friendica\Module\BaseApi;
27 use Friendica\Network\HTTPException;
28
29 /**
30  * api/friendica/events
31  *
32  * @package Friendica\Module\Api\Friendica\Events
33  */
34 class Index extends BaseApi
35 {
36         public static function rawContent(array $parameters = [])
37         {
38                 self::checkAllowedScope(self::SCOPE_READ);
39                 $uid = self::getCurrentUserID();
40
41                 $request = self::getRequest([
42                         'since_id' => 0,
43                         'count'    => 0,
44                 ]);
45
46                 $condition = ["`id` > ? AND `uid` = ?", $request['since_id'], $uid];
47                 $params = ['limit' => $request['count']];
48                 $events = DBA::selectToArray('event', [], $condition, $params);
49
50                 $items = [];
51                 foreach ($events as $event) {
52                         $items[] = [
53                                 'id'        => intval($event['id']),
54                                 'uid'       => intval($event['uid']),
55                                 'cid'       => $event['cid'],
56                                 'uri'       => $event['uri'],
57                                 'name'      => $event['summary'],
58                                 'desc'      => BBCode::convertForUriId($event['uri-id'], $event['desc']),
59                                 'startTime' => $event['start'],
60                                 'endTime'   => $event['finish'],
61                                 'type'      => $event['type'],
62                                 'nofinish'  => $event['nofinish'],
63                                 'place'     => $event['location'],
64                                 'adjust'    => 1,
65                                 'ignore'    => $event['ignore'],
66                                 'allow_cid' => $event['allow_cid'],
67                                 'allow_gid' => $event['allow_gid'],
68                                 'deny_cid'  => $event['deny_cid'],
69                                 'deny_gid'  => $event['deny_gid']
70                         ];
71                 }
72
73                 echo self::format('events', ['events' => $items]);
74                 exit;
75         }
76 }