1<?php
2
3/**
4 * Controls access levels on \ElggEntity entities, metadata, and annotations.
5 *
6 * @warning ACCESS_DEFAULT and ACCESS_FRIENDS are placeholders for the input/access view.
7 * Do not use them when saving or updating an entity.
8 *
9 * @var int
10 */
11define('ACCESS_DEFAULT', -1);
12define('ACCESS_PRIVATE', 0);
13define('ACCESS_LOGGED_IN', 1);
14define('ACCESS_PUBLIC', 2);
15define('ACCESS_FRIENDS', -2);
16
17/**
18 * Constant to request the value of a parameter be ignored in elgg_get_*() functions
19 *
20 * @see elgg_get_entities()
21 * @var null
22 * @since 1.7
23 */
24define('ELGG_ENTITIES_ANY_VALUE', null);
25
26/**
27 * Constant to request the value of a parameter be nothing in elgg_get_*() functions.
28 *
29 * @see elgg_get_entities()
30 * @var int 0
31 * @since 1.7
32 */
33define('ELGG_ENTITIES_NO_VALUE', 0);
34
35/**
36 * Used in calls to forward() to specify the browser should be redirected to the
37 * referring page.
38 *
39 * @see forward
40 * @var int -1
41 */
42define('REFERRER', -1);
43
44/**
45 * Alternate spelling for REFERRER.  Included because of some bad documentation
46 * in the original HTTP spec.
47 *
48 * @see forward()
49 * @link http://en.wikipedia.org/wiki/HTTP_referrer#Origin_of_the_term_referer
50 * @var int -1
51 */
52define('REFERER', -1);
53
54/**
55 * HTTP Response codes
56 */
57define('ELGG_HTTP_CONTINUE', 100);
58define('ELGG_HTTP_SWITCHING_PROTOCOLS', 101);
59define('ELGG_HTTP_PROCESSING', 102);// RFC2518
60define('ELGG_HTTP_OK', 200);
61define('ELGG_HTTP_CREATED', 201);
62define('ELGG_HTTP_ACCEPTED', 202);
63define('ELGG_HTTP_NON_AUTHORITATIVE_INFORMATION', 203);
64define('ELGG_HTTP_NO_CONTENT', 204);
65define('ELGG_HTTP_RESET_CONTENT', 205);
66define('ELGG_HTTP_PARTIAL_CONTENT', 206);
67define('ELGG_HTTP_MULTI_STATUS', 207); // RFC4918
68define('ELGG_HTTP_ALREADY_REPORTED', 208); // RFC5842
69define('ELGG_HTTP_IM_USED', 226); // RFC3229
70define('ELGG_HTTP_MULTIPLE_CHOICES', 300);
71define('ELGG_HTTP_MOVED_PERMANENTLY', 301);
72define('ELGG_HTTP_FOUND', 302);
73define('ELGG_HTTP_SEE_OTHER', 303);
74define('ELGG_HTTP_NOT_MODIFIED', 304);
75define('ELGG_HTTP_USE_PROXY', 305);
76define('ELGG_HTTP_RESERVED', 306);
77define('ELGG_HTTP_TEMPORARY_REDIRECT', 307);
78define('ELGG_HTTP_PERMANENTLY_REDIRECT', 308); // RFC7238
79define('ELGG_HTTP_BAD_REQUEST', 400);
80define('ELGG_HTTP_UNAUTHORIZED', 401);
81define('ELGG_HTTP_PAYMENT_REQUIRED', 402);
82define('ELGG_HTTP_FORBIDDEN', 403);
83define('ELGG_HTTP_NOT_FOUND', 404);
84define('ELGG_HTTP_METHOD_NOT_ALLOWED', 405);
85define('ELGG_HTTP_NOT_ACCEPTABLE', 406);
86define('ELGG_HTTP_PROXY_AUTHENTICATION_REQUIRED', 407);
87define('ELGG_HTTP_REQUEST_TIMEOUT', 408);
88define('ELGG_HTTP_CONFLICT', 409);
89define('ELGG_HTTP_GONE', 410);
90define('ELGG_HTTP_LENGTH_REQUIRED', 411);
91define('ELGG_HTTP_PRECONDITION_FAILED', 412);
92define('ELGG_HTTP_REQUEST_ENTITY_TOO_LARGE', 413);
93define('ELGG_HTTP_REQUEST_URI_TOO_LONG', 414);
94define('ELGG_HTTP_UNSUPPORTED_MEDIA_TYPE', 415);
95define('ELGG_HTTP_REQUESTED_RANGE_NOT_SATISFIABLE', 416);
96define('ELGG_HTTP_EXPECTATION_FAILED', 417);
97define('ELGG_HTTP_I_AM_A_TEAPOT', 418); // RFC2324
98define('ELGG_HTTP_UNPROCESSABLE_ENTITY', 422);// RFC4918
99define('ELGG_HTTP_LOCKED', 423); // RFC4918
100define('ELGG_HTTP_FAILED_DEPENDENCY', 424); // RFC4918
101define('ELGG_HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL', 425); // RFC2817
102define('ELGG_HTTP_UPGRADE_REQUIRED', 426);// RFC2817
103define('ELGG_HTTP_PRECONDITION_REQUIRED', 428); // RFC6585
104define('ELGG_HTTP_TOO_MANY_REQUESTS', 429); // RFC6585
105define('ELGG_HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE', 431); // RFC6585
106define('ELGG_HTTP_INTERNAL_SERVER_ERROR', 500);
107define('ELGG_HTTP_NOT_IMPLEMENTED', 501);
108define('ELGG_HTTP_BAD_GATEWAY', 502);
109define('ELGG_HTTP_SERVICE_UNAVAILABLE', 503);
110define('ELGG_HTTP_GATEWAY_TIMEOUT', 504);
111define('ELGG_HTTP_VERSION_NOT_SUPPORTED', 505);
112define('ELGG_HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL', 506);// RFC2295
113define('ELGG_HTTP_INSUFFICIENT_STORAGE', 507);// RFC4918
114define('ELGG_HTTP_LOOP_DETECTED', 508); // RFC5842
115define('ELGG_HTTP_NOT_EXTENDED', 510);// RFC2774
116define('ELGG_HTTP_NETWORK_AUTHENTICATION_REQUIRED', 511); // RFC6585
117
118/**
119 * Default JSON encoding
120 */
121define('ELGG_JSON_ENCODING', JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT);
122
123/**
124 * Prefix for plugin user setting names
125 */
126define('ELGG_PLUGIN_USER_SETTING_PREFIX', 'plugin:user_setting:');
127
128/**
129 * Internal settings prefix
130 *
131 * @todo This could be resolved by promoting \ElggPlugin to a 5th type.
132 */
133define('ELGG_PLUGIN_INTERNAL_PREFIX', 'elgg:internal:');
134
135/**
136 * Value types
137 */
138define('ELGG_VALUE_INTEGER', 'integer');
139define('ELGG_VALUE_STRING', 'string');
140define('ELGG_VALUE_GUID', 'guid');
141define('ELGG_VALUE_ID', 'id');
142define('ELGG_VALUE_TIMESTAMP', 'timestamp');
143
144/**
145 * Cache init values
146 */
147define('ELGG_CACHE_BLACK_HOLE', 1);
148define('ELGG_CACHE_RUNTIME', 2);
149define('ELGG_CACHE_FILESYSTEM', 4);
150define('ELGG_CACHE_PERSISTENT', 8);
151define('ELGG_CACHE_APC', 16);
152define('ELGG_CACHE_LOCALFILESYSTEM', 32);
153
154/**
155 * elgg_call() flags
156 */
157define('ELGG_IGNORE_ACCESS', 1);
158define('ELGG_ENFORCE_ACCESS', 2);
159define('ELGG_SHOW_DISABLED_ENTITIES', 4);
160define('ELGG_HIDE_DISABLED_ENTITIES', 8);
161