Update copyright
[friendica.git/.git] / src / Protocol / Activity / ObjectType.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\Protocol\Activity;
23
24 use Friendica\Protocol\ActivityNamespace;
25
26 /**
27  * This class contains the different object types in activities
28  */
29 final class ObjectType
30 {
31         /**
32          * The "bookmark" object type represents a pointer to some URL -- typically a web page.
33          *
34          * @see http://activitystrea.ms/head/activity-schema.html#bookmark
35          * @var string
36          */
37         const BOOKMARK = ActivityNamespace::ACTIVITY_SCHEMA . 'bookmark';
38         /**
39          * The "comment" object type represents a textual response to another object.
40          *
41          * @see http://activitystrea.ms/head/activity-schema.html#comment
42          * @var string
43          */
44         const COMMENT = ActivityNamespace::ACTIVITY_SCHEMA . 'comment';
45         /**
46          * The "comment" object type represents a textual response to another object.
47          * (Default type for items)
48          *
49          * @see http://activitystrea.ms/head/activity-schema.html#note
50          * @var string
51          */
52         const NOTE = ActivityNamespace::ACTIVITY_SCHEMA . 'note';
53         /**
54          * The "person" object type represents a user account.
55          *
56          * @see http://activitystrea.ms/head/activity-schema.html#person
57          * @var string
58          */
59         const PERSON = ActivityNamespace::ACTIVITY_SCHEMA . 'person';
60         /**
61          * The "image" object type represents a graphical image.
62          *
63          * @see http://activitystrea.ms/head/activity-schema.html#image
64          * @var string
65          */
66         const IMAGE = ActivityNamespace::ACTIVITY_SCHEMA . 'image';
67         /**
68          * @var string
69          */
70         const PHOTO = ActivityNamespace::ACTIVITY_SCHEMA . 'photo';
71         /**
72          * The "video" object type represents video content,
73          * which usually consists of a motion picture track and an audio track.
74          *
75          * @see http://activitystrea.ms/head/activity-schema.html#video
76          * @var string
77          */
78         const VIDEO = ActivityNamespace::ACTIVITY_SCHEMA . 'video';
79         /**
80          * @var string
81          */
82         const PROFILE_PHOTO = ActivityNamespace::ACTIVITY_SCHEMA . 'profile-photo';
83         /**
84          * @var string
85          */
86         const ALBUM = ActivityNamespace::ACTIVITY_SCHEMA . 'photo-album';
87         /**
88          * The "event" object type represents an event that occurs in a certain place during a particular interval of time.
89          *
90          * @see http://activitystrea.ms/head/activity-schema.html#event
91          * @var string
92          */
93         const EVENT = ActivityNamespace::ACTIVITY_SCHEMA . 'event';
94         /**
95          * The "group" object type represents a grouping of objects in which member objects can join or leave.
96          *
97          * @see http://activitystrea.ms/head/activity-schema.html#group
98          * @var string
99          */
100         const GROUP = ActivityNamespace::ACTIVITY_SCHEMA . 'group';
101
102
103         /**
104          * @var string
105          */
106         const HEART = ActivityNamespace::DFRN . '/heart';
107         /**
108          * @var string
109          */
110         const TAGTERM = ActivityNamespace::DFRN . '/tagterm';
111         /**
112          * @var string
113          */
114         const PROFILE = ActivityNamespace::DFRN . '/profile';
115
116
117         /**
118          * The "question" object type represents a question or poll.
119          *
120          * @see http://activitystrea.ms/head/activity-schema.html#question
121          * @var string
122          */
123         const QUESTION = 'http://activityschema.org/object/question';
124 }