Friendica Communications Platform (please note that this is a clone of the repository at github, issues are handled there) https://friendi.ca
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

boot.php 68KB

10 years ago
10 years ago
8 years ago
4 years ago
9 years ago
9 years ago
9 years ago
10 years ago
9 years ago
10 years ago
9 years ago
8 years ago
9 years ago
9 years ago
8 years ago
8 years ago
8 years ago
10 years ago
9 years ago
10 years ago
10 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
4 years ago
4 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
8 years ago
10 years ago
10 years ago
4 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
4 years ago
4 years ago
9 years ago
3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685
  1. <?php
  2. /** @file boot.php
  3. *
  4. * This file defines some global constants and includes the central App class.
  5. */
  6. /**
  7. * Friendica
  8. *
  9. * Friendica is a communications platform for integrated social communications
  10. * utilising decentralised communications and linkage to several indie social
  11. * projects - as well as popular mainstream providers.
  12. *
  13. * Our mission is to free our friends and families from the clutches of
  14. * data-harvesting corporations, and pave the way to a future where social
  15. * communications are free and open and flow between alternate providers as
  16. * easily as email does today.
  17. */
  18. require_once(__DIR__ . DIRECTORY_SEPARATOR. 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php');
  19. use Friendica\Core\Config;
  20. require_once('include/config.php');
  21. require_once('include/network.php');
  22. require_once('include/plugin.php');
  23. require_once('include/text.php');
  24. require_once('include/datetime.php');
  25. require_once('include/pgettext.php');
  26. require_once('include/nav.php');
  27. require_once('include/cache.php');
  28. require_once('include/features.php');
  29. require_once('include/identity.php');
  30. require_once('update.php');
  31. require_once('include/dbstructure.php');
  32. define ( 'FRIENDICA_PLATFORM', 'Friendica');
  33. define ( 'FRIENDICA_CODENAME', 'Asparagus');
  34. define ( 'FRIENDICA_VERSION', '3.5.2-dev' );
  35. define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
  36. define ( 'DB_UPDATE_VERSION', 1222 );
  37. /**
  38. * @brief Constant with a HTML line break.
  39. *
  40. * Contains a HTML line break (br) element and a real carriage return with line
  41. * feed for the source.
  42. * This can be used in HTML and JavaScript where needed a line break.
  43. */
  44. define ( 'EOL', "<br />\r\n" );
  45. define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
  46. /**
  47. * @brief Image storage quality.
  48. *
  49. * Lower numbers save space at cost of image detail.
  50. * For ease of upgrade, please do not change here. Change jpeg quality with
  51. * $a->config['system']['jpeg_quality'] = n;
  52. * in .htconfig.php, where n is netween 1 and 100, and with very poor results
  53. * below about 50
  54. *
  55. */
  56. define ( 'JPEG_QUALITY', 100 );
  57. /**
  58. * $a->config['system']['png_quality'] from 0 (uncompressed) to 9
  59. */
  60. define ( 'PNG_QUALITY', 8 );
  61. /**
  62. *
  63. * An alternate way of limiting picture upload sizes. Specify the maximum pixel
  64. * length that pictures are allowed to be (for non-square pictures, it will apply
  65. * to the longest side). Pictures longer than this length will be resized to be
  66. * this length (on the longest side, the other side will be scaled appropriately).
  67. * Modify this value using
  68. *
  69. * $a->config['system']['max_image_length'] = n;
  70. *
  71. * in .htconfig.php
  72. *
  73. * If you don't want to set a maximum length, set to -1. The default value is
  74. * defined by 'MAX_IMAGE_LENGTH' below.
  75. *
  76. */
  77. define ( 'MAX_IMAGE_LENGTH', -1 );
  78. /**
  79. * Not yet used
  80. */
  81. define ( 'DEFAULT_DB_ENGINE', 'MyISAM' );
  82. /**
  83. * @name SSL Policy
  84. *
  85. * SSL redirection policies
  86. * @{
  87. */
  88. define ( 'SSL_POLICY_NONE', 0 );
  89. define ( 'SSL_POLICY_FULL', 1 );
  90. define ( 'SSL_POLICY_SELFSIGN', 2 );
  91. /* @}*/
  92. /**
  93. * @name Logger
  94. *
  95. * log levels
  96. * @{
  97. */
  98. define ( 'LOGGER_NORMAL', 0 );
  99. define ( 'LOGGER_TRACE', 1 );
  100. define ( 'LOGGER_DEBUG', 2 );
  101. define ( 'LOGGER_DATA', 3 );
  102. define ( 'LOGGER_ALL', 4 );
  103. /* @}*/
  104. /**
  105. * @name Cache
  106. *
  107. * Cache levels
  108. * @{
  109. */
  110. define ( 'CACHE_MONTH', 0 );
  111. define ( 'CACHE_WEEK', 1 );
  112. define ( 'CACHE_DAY', 2 );
  113. define ( 'CACHE_HOUR', 3 );
  114. define ( 'CACHE_HALF_HOUR', 4 );
  115. define ( 'CACHE_QUARTER_HOUR', 5 );
  116. define ( 'CACHE_FIVE_MINUTES', 6 );
  117. define ( 'CACHE_MINUTE', 7 );
  118. /* @}*/
  119. /**
  120. * @name Register
  121. *
  122. * Registration policies
  123. * @{
  124. */
  125. define ( 'REGISTER_CLOSED', 0 );
  126. define ( 'REGISTER_APPROVE', 1 );
  127. define ( 'REGISTER_OPEN', 2 );
  128. /** @}*/
  129. /**
  130. * @name Contact_is
  131. *
  132. * Relationship types
  133. * @{
  134. */
  135. define ( 'CONTACT_IS_FOLLOWER', 1);
  136. define ( 'CONTACT_IS_SHARING', 2);
  137. define ( 'CONTACT_IS_FRIEND', 3);
  138. /** @}*/
  139. /**
  140. * @name Update
  141. *
  142. * DB update return values
  143. * @{
  144. */
  145. define ( 'UPDATE_SUCCESS', 0);
  146. define ( 'UPDATE_FAILED', 1);
  147. /** @}*/
  148. /**
  149. * @name page/profile types
  150. *
  151. * PAGE_NORMAL is a typical personal profile account
  152. * PAGE_SOAPBOX automatically approves all friend requests as CONTACT_IS_SHARING, (readonly)
  153. * PAGE_COMMUNITY automatically approves all friend requests as CONTACT_IS_SHARING, but with
  154. * write access to wall and comments (no email and not included in page owner's ACL lists)
  155. * PAGE_FREELOVE automatically approves all friend requests as full friends (CONTACT_IS_FRIEND).
  156. *
  157. * @{
  158. */
  159. define ( 'PAGE_NORMAL', 0 );
  160. define ( 'PAGE_SOAPBOX', 1 );
  161. define ( 'PAGE_COMMUNITY', 2 );
  162. define ( 'PAGE_FREELOVE', 3 );
  163. define ( 'PAGE_BLOG', 4 );
  164. define ( 'PAGE_PRVGROUP', 5 );
  165. /** @}*/
  166. /**
  167. * @name account types
  168. *
  169. * ACCOUNT_TYPE_PERSON - the account belongs to a person
  170. * Associated page types: PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE
  171. *
  172. * ACCOUNT_TYPE_ORGANISATION - the account belongs to an organisation
  173. * Associated page type: PAGE_SOAPBOX
  174. *
  175. * ACCOUNT_TYPE_NEWS - the account is a news reflector
  176. * Associated page type: PAGE_SOAPBOX
  177. *
  178. * ACCOUNT_TYPE_COMMUNITY - the account is community forum
  179. * Associated page types: PAGE_COMMUNITY, PAGE_PRVGROUP
  180. * @{
  181. */
  182. define ( 'ACCOUNT_TYPE_PERSON', 0 );
  183. define ( 'ACCOUNT_TYPE_ORGANISATION',1 );
  184. define ( 'ACCOUNT_TYPE_NEWS', 2 );
  185. define ( 'ACCOUNT_TYPE_COMMUNITY', 3 );
  186. /** @}*/
  187. /**
  188. * @name CP
  189. *
  190. * Type of the community page
  191. * @{
  192. */
  193. define ( 'CP_NO_COMMUNITY_PAGE', -1 );
  194. define ( 'CP_USERS_ON_SERVER', 0 );
  195. define ( 'CP_GLOBAL_COMMUNITY', 1 );
  196. /** @}*/
  197. /**
  198. * @name Protocols
  199. *
  200. * Different protocols that we are storing
  201. * @{
  202. */
  203. define('PROTOCOL_UNKNOWN', 0);
  204. define('PROTOCOL_DFRN', 1);
  205. define('PROTOCOL_DIASPORA', 2);
  206. define('PROTOCOL_OSTATUS_SALMON', 3);
  207. define('PROTOCOL_OSTATUS_FEED', 4);
  208. define('PROTOCOL_GS_CONVERSATION', 5);
  209. /** @}*/
  210. /**
  211. * @name Network
  212. *
  213. * Network and protocol family types
  214. * @{
  215. */
  216. define ( 'NETWORK_DFRN', 'dfrn'); // Friendica, Mistpark, other DFRN implementations
  217. define ( 'NETWORK_ZOT', 'zot!'); // Zot!
  218. define ( 'NETWORK_OSTATUS', 'stat'); // status.net, identi.ca, GNU-social, other OStatus implementations
  219. define ( 'NETWORK_FEED', 'feed'); // RSS/Atom feeds with no known "post/notify" protocol
  220. define ( 'NETWORK_DIASPORA', 'dspr'); // Diaspora
  221. define ( 'NETWORK_MAIL', 'mail'); // IMAP/POP
  222. define ( 'NETWORK_MAIL2', 'mai2'); // extended IMAP/POP
  223. define ( 'NETWORK_FACEBOOK', 'face'); // Facebook API
  224. define ( 'NETWORK_LINKEDIN', 'lnkd'); // LinkedIn
  225. define ( 'NETWORK_XMPP', 'xmpp'); // XMPP
  226. define ( 'NETWORK_MYSPACE', 'mysp'); // MySpace
  227. define ( 'NETWORK_GPLUS', 'goog'); // Google+
  228. define ( 'NETWORK_PUMPIO', 'pump'); // pump.io
  229. define ( 'NETWORK_TWITTER', 'twit'); // Twitter
  230. define ( 'NETWORK_DIASPORA2', 'dspc'); // Diaspora connector
  231. define ( 'NETWORK_STATUSNET', 'stac'); // Statusnet connector
  232. define ( 'NETWORK_APPNET', 'apdn'); // app.net
  233. define ( 'NETWORK_NEWS', 'nntp'); // Network News Transfer Protocol
  234. define ( 'NETWORK_ICALENDAR', 'ical'); // iCalendar
  235. define ( 'NETWORK_PNUT', 'pnut'); // pnut.io
  236. define ( 'NETWORK_PHANTOM', 'unkn'); // Place holder
  237. /** @}*/
  238. /**
  239. * These numbers are used in store