Compare commits
1 commit
develop
...
mat/event-
Author | SHA1 | Date | |
---|---|---|---|
|
5902bd67b6 |
1416 changed files with 64009 additions and 95546 deletions
|
@ -1,7 +1,7 @@
|
|||
name: my-friendica
|
||||
type: php
|
||||
docroot: ""
|
||||
php_version: "7.4"
|
||||
php_version: "7.3"
|
||||
webserver_type: apache-fpm
|
||||
router_http_port: "80"
|
||||
router_https_port: "443"
|
||||
|
@ -17,7 +17,7 @@ use_dns_when_possible: true
|
|||
composer_version: "1"
|
||||
web_environment: []
|
||||
nodejs_version: "16"
|
||||
webimage_extra_packages: [php7.4-gmp]
|
||||
webimage_extra_packages: [php7.3-gmp]
|
||||
|
||||
# Key features of ddev's config.yaml:
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
matrix:
|
||||
include:
|
||||
- PHP_MAJOR_VERSION: 7.3
|
||||
PHP_VERSION: 7.3.33
|
||||
- PHP_MAJOR_VERSION: 7.4
|
||||
PHP_VERSION: 7.4.33
|
||||
- PHP_MAJOR_VERSION: 8.0
|
||||
PHP_VERSION: 8.0.30
|
||||
PHP_VERSION: 8.0.29
|
||||
- PHP_MAJOR_VERSION: 8.1
|
||||
PHP_VERSION: 8.1.23
|
||||
PHP_VERSION: 8.1.21
|
||||
- PHP_MAJOR_VERSION: 8.2
|
||||
PHP_VERSION: 8.2.11
|
||||
PHP_VERSION: 8.2.8
|
||||
|
||||
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
|
||||
labels:
|
||||
|
@ -67,9 +69,9 @@ steps:
|
|||
- if [ "${PHP_MAJOR_VERSION}" = "7.4" -a "${CI_REPO}" = "friendica/friendica" ]; then
|
||||
phpenmod xdebug;
|
||||
export XDEBUG_MODE=coverage;
|
||||
phpunit --configuration tests/phpunit.xml -d memory_limit=-1 --coverage-clover clover.xml;
|
||||
phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml;
|
||||
else
|
||||
phpunit --configuration tests/phpunit.xml -d memory_limit=-1;
|
||||
phpunit --configuration tests/phpunit.xml;
|
||||
fi
|
||||
codecov:
|
||||
image: friendicaci/codecov
|
||||
|
|
121
CHANGELOG
121
CHANGELOG
|
@ -1,129 +1,10 @@
|
|||
Version 2024.03 (unreleased)
|
||||
Version 2023.09 (unreleased)
|
||||
Friendica Core
|
||||
|
||||
Friendica Addons
|
||||
|
||||
Closed Issues
|
||||
|
||||
Version 2023.12 (2023-12-24)
|
||||
Friendica Core
|
||||
Raised minimal PHP version to 7.4
|
||||
Updates to the translations AR, BG, CA, CS, DE, EN GB, EN US, EO, ES, ET, FI, FR, GD, HU, IS, IT, JA, NL, PL, RO, RU, SV
|
||||
Updates to the themes (frio, vier) [AlfredSK, annando, anubis2814, haheute, foss-, MrPetovan, Raroun, xundeenergie]
|
||||
Updates to the documentation [AndyHee, BirdboyBolu, foss-, MrPetovan]
|
||||
Fixed a bug in notification links [annando, keithhacks]
|
||||
Fixed a bug in content negotiation [GidiKroon]
|
||||
Fixed the link in invitations [Raroun]
|
||||
Fixed 0Auth connection with Buffer and redirection problems [annando, HankG]
|
||||
Fixed a visibility bug with Calendar entries [MrPetovan]
|
||||
Fixed a JsonLD parsing issue [annando]
|
||||
Fixed confusion about nickname and username [MrPetovan, Raroun]
|
||||
Fixed a problem with viewing remote contact profiles [MrPetovan]
|
||||
Fixed a bug with previewing linked postings [annando]
|
||||
Fixed a problem parsing Mastodon WebFingers [MrPetovan]
|
||||
Fixed a bug that could lead to deleting your own account unintended [MrPetovan]
|
||||
Fixed redirection in 2FA settings page [MrPetovan]
|
||||
Fixed a problem with distributing some comments [annando]
|
||||
Fixed a bug that caused public groups not being able to hide members [annando]
|
||||
Fixed RSS/Atom feed of group accounts [MrPetovan]
|
||||
Fixed a bug that prevented bi-directional delivery of DMs [annando]
|
||||
Fixed a bug in privacy settings for remote-self [annando]
|
||||
Fixed a bug that prevented the selection of photos with captions [Raroun]
|
||||
Fixed a bug in Magic Auth [git-marijus]
|
||||
Fixed a bug convertig local tags to external on receiving updates to the post [annando]
|
||||
Improved Bluesky connector core [annando]
|
||||
Improved SSL handling of reverse http proxies [MrPetovan]
|
||||
Improved performance [annando]
|
||||
Improved language detection [annando]
|
||||
Improved display of contact relationships [annando]
|
||||
Improved display of notifications [annando, MrPetovan]
|
||||
Improved Mastodon compatible API [annando, gudzpoz, HankG, MrPetovan, Quix0r]
|
||||
Improved federation with Diaspora, Firefish, GoToSocial, Lemmy, Pixelfed, Threads [annando]
|
||||
Improved display of quoted posts [annando]
|
||||
Improved BBCode conversion [annando]
|
||||
Improved addon hook loading [annando, nupplaphil]
|
||||
Improved handling of relay servers [annando]
|
||||
Improved blocked users feature [MrPetovan]
|
||||
Improved robots.txt to include ChatGPT and Google Extended [annando, haheute]
|
||||
Improved handling of resizing images [annando]
|
||||
Improved the image grid at the end of postings [MrPetovan]
|
||||
Improved raw content output [annando]
|
||||
Improved handling of smileys [gudzpoz]
|
||||
Improved the admin panel [annando]
|
||||
Improved handling of the background worker [annando]
|
||||
Improved the processing of relayed posts [annando]
|
||||
Improved compatibility with Mastodon Clients [annando]
|
||||
Improved nodeinfo [MrPetovan]
|
||||
Improved the federation statistics in the admin panel [annando]
|
||||
General code cleanup [AlfredSK, annando, jlamothe, mexon, MrPetovan, nupplaphil, Quix0r, toddy15]
|
||||
Renamed "group" to "circle"
|
||||
Renamed "forum" to "group"
|
||||
Added possibility to hide the server block list [MrPetovan, Quix0r]
|
||||
Added creation of moderation reports [AlfredSK, annando, MrPetovan]
|
||||
Added user controlled ignore server functionality [MrPetovan]
|
||||
Added support for Unix domain sockets to Redis [MrPetovan]
|
||||
Added user controlled channels for the network stream [annando]
|
||||
Added support of MacOS emoji picker in text fields [MrPetovan]
|
||||
Added lazy loading for images [FarisKarim, xundeenergie]
|
||||
Added image caption display in Fancybox gallery [MrPetovan]
|
||||
Added shortcut (ctrl+enter) to send postings using Frio theme [xundeenergie]
|
||||
Added support for CORS requests to nodeinfo [palant]
|
||||
Added setting for servers that should only receive limited profile information [annando]
|
||||
|
||||
Friendica Addons
|
||||
Updates to the translation AR, CS, DE, ES, ET, FR, HU, IT, JA, NL, PL, RU, SV, ZH CN
|
||||
Advancedcontentfilter
|
||||
General code cleanup [MrPetovan]
|
||||
Audon
|
||||
Added audon addon [loma-one]
|
||||
Blockem
|
||||
Deprecated the addon [AndyHee]
|
||||
Bluesky
|
||||
Added bidirectional communication to the Bluesky connector [annando]
|
||||
Added support for pinned postings [annando]
|
||||
Added support for transmitted language [annando]
|
||||
Improved thread handling [annando]
|
||||
Improved handling of hashtags [annando]
|
||||
Improved image uploading [annando]
|
||||
CLD
|
||||
Added addon for detection of the language of postings using CLD2 library [annando]
|
||||
invidious
|
||||
Added addon [loma-one]
|
||||
langfilter
|
||||
Use two letter codes for detected languages [annando]
|
||||
Mailstream
|
||||
Improved error handling [mexon]
|
||||
Monolog
|
||||
General code cleanup [nupplaphil]
|
||||
NSFW
|
||||
General code cleanup [MrPetovan]
|
||||
pageheader
|
||||
Improved styling of message box [loma-one]
|
||||
s3_storage
|
||||
Bumped library version [MrPetovan]
|
||||
Showmore Dyn
|
||||
Improved styling on mobile devices [csolisr]
|
||||
Smileybutton
|
||||
Improved conversation from float to int [MrPetovan]
|
||||
Tumblr
|
||||
Improved the import of feeds [annando]
|
||||
Twitter
|
||||
Improved image uploading [annando]
|
||||
Removed the import of postings from Twitter [annando]
|
||||
|
||||
Closed Issues
|
||||
8542, 10369, 12530, 12743, 12815, 13020, 13039, 13114, 13129,
|
||||
13173, 13174, 13180, 13182, 13184, 13195, 13201, 13209, 13216,
|
||||
13217, 13221, 13228, 13240, 13288, 13232, 13240, 13265, 13277,
|
||||
13286, 13287, 13289, 13304, 13311, 13312, 13316, 13318, 13332,
|
||||
13333, 13334, 13343, 13352, 13353, 13355, 13359, 13363, 13365,
|
||||
13367, 13369, 13370, 13378, 13389, 13398, 13403, 13439, 13440,
|
||||
13455, 13457, 13462, 13467, 13471, 13478, 13486, 13506, 13511,
|
||||
13515, 13520, 13524, 13534, 13535, 13542, 13554, 13556, 13560,
|
||||
13566, 13573, 13577, 13588, 13603, 13607, 13615, 13617, 13621,
|
||||
13624, 13625, 13627, 13637, 13639, 13649, 13662, 13665, 13673,
|
||||
13693, 13699, 13719, 13720, 13731, 13748
|
||||
|
||||
Version 2023.05 (2023-05-23)
|
||||
Friendica Core
|
||||
Updates to the translations HU, PL
|
||||
|
|
18
CREDITS.txt
18
CREDITS.txt
|
@ -31,7 +31,6 @@ Angristan
|
|||
Anthronaut
|
||||
Anton
|
||||
Antron Samurai
|
||||
Anubis2814
|
||||
Arian - Cazare Muncitori
|
||||
Asher Pen
|
||||
atjn
|
||||
|
@ -52,7 +51,6 @@ BinkaDroid
|
|||
Bjoessi
|
||||
bkil
|
||||
bob lebonche
|
||||
Boluwatife Victor
|
||||
Boris Daniel Martinez Millàn
|
||||
bufalo1973
|
||||
ButterflyOfFire
|
||||
|
@ -71,8 +69,8 @@ Christian Wiwie
|
|||
Cohan Robinson
|
||||
Colby Sollars
|
||||
Copiis
|
||||
Copiis Praeesse
|
||||
CrystalStiletto
|
||||
csolisr
|
||||
Cyboulette
|
||||
Cyryl Sochacki
|
||||
czarnystokrotek
|
||||
|
@ -100,7 +98,6 @@ Eelco Maljaars
|
|||
effex7
|
||||
Elena
|
||||
emilia.krawczyk
|
||||
Entropy Engineer
|
||||
Eric Côté
|
||||
Erich
|
||||
erik
|
||||
|
@ -111,12 +108,10 @@ F1per 3y
|
|||
Fabian Dost
|
||||
Fabio Comuni
|
||||
Farida Khalaf
|
||||
Faris
|
||||
felixgilles
|
||||
Filip Bugaj
|
||||
Filip H.F. "FiXato" Slagter
|
||||
Finn Dean
|
||||
Florent C.
|
||||
FlxAlbroscheit
|
||||
foss-
|
||||
Francesco Apruzzese
|
||||
|
@ -126,12 +121,10 @@ Gerhard Seeber
|
|||
gerhard6380
|
||||
Gert Cauwenberg
|
||||
Gidi Kroon
|
||||
git-marijus
|
||||
GLComo
|
||||
greeneyedred
|
||||
Gregory Smith
|
||||
Grischa Brockhaus
|
||||
groen
|
||||
gudzpoz
|
||||
GunChleoc
|
||||
guzzisti
|
||||
|
@ -141,7 +134,6 @@ Hannes Heute
|
|||
Hans Meine
|
||||
Hauke
|
||||
Hauke Altmann
|
||||
Henrik Härkönen
|
||||
Herbert Thielen
|
||||
hlad
|
||||
hoergen
|
||||
|
@ -164,7 +156,6 @@ Johannes Schwab
|
|||
John Brazil
|
||||
John Mortensen
|
||||
Jonatan Nyberg
|
||||
Jonathan Lamothe
|
||||
Jonny Tischbein
|
||||
Josef Moravek
|
||||
Josh Soref
|
||||
|
@ -177,13 +168,11 @@ Karolina
|
|||
Kastal András
|
||||
Keenan Pepper
|
||||
Keith Fernie
|
||||
keithhacks
|
||||
Klaus Weidenbach
|
||||
Koyu Berteon
|
||||
kPherox
|
||||
Kris
|
||||
Kristoffer Grundström
|
||||
ktlinux
|
||||
KulikAlex
|
||||
Lea1995polish
|
||||
Leberwurscht
|
||||
|
@ -265,7 +254,6 @@ Rain Hawk
|
|||
Rainulf Pineda
|
||||
Ralf Thees
|
||||
ralph van der honing
|
||||
Raroun
|
||||
Ratten
|
||||
rcmaniac
|
||||
RealKinetix
|
||||
|
@ -281,7 +269,6 @@ Roland Häder
|
|||
Ruud Schilders
|
||||
rwa
|
||||
Ryan Voots
|
||||
S. Brusch
|
||||
S.Krumbholz
|
||||
Sakałoŭ Alaksiej
|
||||
Sam
|
||||
|
@ -327,7 +314,6 @@ TiMESPLiNTER
|
|||
Tino
|
||||
Tobias Diekershoff
|
||||
Tobias Hößl
|
||||
Tobias Quathamer
|
||||
Tom
|
||||
Tom Aurlund
|
||||
Tom Hu
|
||||
|
@ -338,7 +324,6 @@ Torbjörn Andersson
|
|||
TORminator
|
||||
trebor
|
||||
tschlotfeldt
|
||||
tslmuun
|
||||
Tubuntu
|
||||
Tupambae.org
|
||||
U-SOUND\mike
|
||||
|
@ -360,7 +345,6 @@ Waldemar Stoczkowski
|
|||
Walter Bulbazor
|
||||
Wanting Chen
|
||||
Wil Tur
|
||||
Wladimir Palant
|
||||
Wouter Broers
|
||||
Xiaofei Xu
|
||||
XMPPはいいぞ
|
||||
|
|
54
README.md
54
README.md
|
@ -1,30 +1,46 @@
|
|||
Friendica - your open and free social network
|
||||
=============================================
|
||||
Friendica Social Communications Server
|
||||
======================================
|
||||
|
||||
Welcome to the free social web. Friendica is a platform for decentralised social communication linking to other independent social and corporate services.
|
||||
Welcome to the free social web.
|
||||
|
||||
Friendica connects you to a federated communications network of thousands of servers called the Fediverse.
|
||||
Through various protocols you can interact with anyone on [Friendica]( https://friendi.ca), [Mastodon](https://joinmastodon.org), [Lemmy](https://join-lemmy.org/), [Diaspora](https://diasporafoundation.org), [Misskey](https://join.misskey.page), [Peertube](https://joinpeertube.org/), [Pixelfed](https://pixelfed.org/), [Pleroma](https://pleroma.social) and many more.
|
||||
Receiving content from Tumblr, WordPress and RSS is also possible.
|
||||
Friendica allows to import and mirror your content via add-ons such as ITTT and Buffer.
|
||||
You can control the privacy scope of your content.
|
||||
Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.
|
||||
|
||||
Being part of the Fediverse allows you to be free from data-harvesting corporations.
|
||||
Enjoy open social communication, independent of any specific provider.
|
||||
Our mission is to free friends, family and colleagues from data-harvesting corporations; we aim for social communication to be free and open, while flowing between any provider as easily as email does.
|
||||
|
||||
[Join Friendica](https://dir.friendica.social/servers) today or set up [your own Friendica instance](doc/Install.md).
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on [Friendica]( https://friendi.ca), [Mastodon](https://joinmastodon.org/), [Diaspora](https://diasporafoundation.org/), [GnuSocial](https://gnu.io/social/), [Pleroma](https://pleroma.social/), or [Hubzilla](https://hubzilla.org/), regardless where each user profile is hosted.
|
||||
|
||||
### Friendica on desktop
|
||||
With Friendica, you can also fully interact with anyone on Twitter and receive any content from Tumblr, Wordpress or RSS. Friendica allows you to integrate most things on the web via a range of addons such as ITTT, Buffer; you will be able to easily control your own data as you decide.
|
||||
|
||||

|
||||
Join today and [get your Friendica profile!](https://dir.friendica.social/servers 'Join Friendica today!')
|
||||
|
||||
### Friendica on mobile
|
||||
Have a look at the [installation documentation](doc/Install.md) for further information about installing and using Friendica.
|
||||
|
||||
<p float="left">
|
||||
<img src="images/screenshots/friendica-2023-10-frio-mobile-timeline-dark-blue.png" width="370" alt="frio on mobile, dark color scheme">
|
||||
<img src="images/screenshots/friendica-2023-10-frio-mobile-options-light-blue.png" width="370" alt="frio on mobile, light color scheme">
|
||||
</p>
|
||||
### Friendica Screenshots
|
||||
|
||||
|   |
|
||||
|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
||||
| *Frio theme, mobile browser. Timeline and composer view.* |
|
||||
|  |
|
||||
| *Frio theme, desktop browser. Timeline view, contact info popped up, control menu open.* |
|
||||
|  |
|
||||
| *Frio theme, desktop browser. Menu open for controlling individual posts.* |
|
||||
|  |
|
||||
| *Frio theme, desktop browser. Profile view, notification menu open.* |
|
||||
|  |
|
||||
| *Number of new posts, in total and by circle.* |
|
||||
|  |
|
||||
| *Calendar with popup of event.* |
|
||||
|  |
|
||||
| *Notifications menu and private messages counter, standard browser on tablet.* |
|
||||
|  |
|
||||
| *Number of visible contacts, standard browser.* |
|
||||
|  |
|
||||
| *Network posts chronologically ordered, standard browser.* |
|
||||
|  |
|
||||
| *Vier theme, desktop browser. Public timeline view.* |
|
||||
|  |
|
||||
| *Vier theme, desktop browser. Community post displayed.* |
|
||||
|
||||
## Endorsements
|
||||
|
||||
- Friendica is listed on [](https://codeberg.org/teaserbot-labs/delightful-humane-design) in the [Fediverse category](https://codeberg.org/teaserbot-labs/delightful-humane-design#fediverse).
|
||||
- [](https://github.com/humanetech-community/awesome-humane-tech) On August 12th 2020, Friendica was added to [the curated Awesome Humane Tech directory](https://github.com/humanetech-community/awesome-humane-tech) in [the "Fediverse" category](https://github.com/humanetech-community/awesome-humane-tech#fediverse).
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
2024.03-dev
|
||||
2023.09-dev
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -163,14 +163,9 @@ if (!$foreground) {
|
|||
exit(1);
|
||||
} elseif ($pid) {
|
||||
// The parent process continues here
|
||||
if (!file_put_contents($pidfile, $pid)) {
|
||||
echo "Pid file wasn't written.\n";
|
||||
Logger::warning('Could not store pid file');
|
||||
posix_kill($pid, SIGTERM);
|
||||
exit(1);
|
||||
}
|
||||
echo 'Child process started with pid ' . $pid . ".\n";
|
||||
Logger::notice('Child process started', ['pid' => $pid]);
|
||||
file_put_contents($pidfile, $pid);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"issues": "https://github.com/friendica/friendica/issues"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4",
|
||||
"php": ">=7.3",
|
||||
"ext-ctype": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-dom": "*",
|
||||
|
@ -44,7 +44,7 @@
|
|||
"mattwright/urlresolver": "^2.0",
|
||||
"michelf/php-markdown": "^1.7",
|
||||
"minishlink/web-push": "^6.0",
|
||||
"mobiledetect/mobiledetectlib": "^3.74",
|
||||
"mobiledetect/mobiledetectlib": "^2.8",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"paragonie/hidden-string": "^1.0",
|
||||
"patrickschur/language-detection": "^5.0.0",
|
||||
|
@ -53,7 +53,7 @@
|
|||
"pragmarx/google2fa": "^5.0",
|
||||
"pragmarx/recovery": "^0.2",
|
||||
"psr/clock": "^1.0",
|
||||
"psr/container": "^2.0",
|
||||
"psr/container": "^1.0",
|
||||
"psr/log": "^1.1",
|
||||
"seld/cli-prompt": "^1.0",
|
||||
"smarty/smarty": "^4",
|
||||
|
@ -102,7 +102,7 @@
|
|||
},
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.4"
|
||||
"php": "7.3"
|
||||
},
|
||||
"autoloader-suffix": "Friendica",
|
||||
"optimize-autoloader": true,
|
||||
|
|
320
composer.lock
generated
320
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "082b16e2c88895f1a03d5b0ffe678ba7",
|
||||
"content-hash": "c208d7f5176358ea157f109c1c7d68dd",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asika/simple-console",
|
||||
|
@ -123,16 +123,16 @@
|
|||
},
|
||||
{
|
||||
"name": "bower-asset/base64",
|
||||
"version": "1.3.0",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/davidchambers/Base64.js.git",
|
||||
"reference": "22192690552ba07bf035f95a5d2d1a0e2f0ced46"
|
||||
"reference": "0048721faa641f1519c4c081725f42da2ada5e9a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/davidchambers/Base64.js/zipball/22192690552ba07bf035f95a5d2d1a0e2f0ced46",
|
||||
"reference": "22192690552ba07bf035f95a5d2d1a0e2f0ced46",
|
||||
"url": "https://api.github.com/repos/davidchambers/Base64.js/zipball/0048721faa641f1519c4c081725f42da2ada5e9a",
|
||||
"reference": "0048721faa641f1519c4c081725f42da2ada5e9a",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "bower-asset-library",
|
||||
|
@ -150,7 +150,7 @@
|
|||
"WTFPL"
|
||||
],
|
||||
"description": "Base64 encoding and decoding",
|
||||
"time": "2023-09-18T21:37:26+00:00"
|
||||
"time": "2023-02-22T16:04:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "bower-asset/dompurify",
|
||||
|
@ -299,16 +299,16 @@
|
|||
},
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
"version": "1.4.0",
|
||||
"version": "1.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/ca-bundle.git",
|
||||
"reference": "b66d11b7479109ab547f9405b97205640b17d385"
|
||||
"reference": "74780ccf8c19d6acb8d65c5f39cd72110e132bbd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385",
|
||||
"reference": "b66d11b7479109ab547f9405b97205640b17d385",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/74780ccf8c19d6acb8d65c5f39cd72110e132bbd",
|
||||
"reference": "74780ccf8c19d6acb8d65c5f39cd72110e132bbd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -320,7 +320,7 @@
|
|||
"phpstan/phpstan": "^0.12.55",
|
||||
"psr/log": "^1.0",
|
||||
"symfony/phpunit-bridge": "^4.2 || ^5",
|
||||
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
|
||||
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -366,20 +366,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-18T12:05:55+00:00"
|
||||
"time": "2023-01-11T08:27:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dasprid/enum",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DASPRiD/Enum.git",
|
||||
"reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016"
|
||||
"reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016",
|
||||
"reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016",
|
||||
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8e6b6ea76eabbf19ea2bf5b67b98e1860474012f",
|
||||
"reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -412,7 +412,7 @@
|
|||
"enum",
|
||||
"map"
|
||||
],
|
||||
"time": "2023-08-25T16:18:39+00:00"
|
||||
"time": "2023-03-01T18:44:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "divineomega/do-file-cache",
|
||||
|
@ -591,20 +591,20 @@
|
|||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
"version": "v4.17.0",
|
||||
"version": "v4.16.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezyang/htmlpurifier.git",
|
||||
"reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c"
|
||||
"reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c",
|
||||
"reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8",
|
||||
"reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0"
|
||||
"php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"cerdic/css-tidy": "^1.7 || ^2.0",
|
||||
|
@ -644,7 +644,7 @@
|
|||
"keywords": [
|
||||
"html"
|
||||
],
|
||||
"time": "2023-11-17T15:01:25+00:00"
|
||||
"time": "2022-09-18T07:06:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fgrosse/phpasn1",
|
||||
|
@ -1037,16 +1037,16 @@
|
|||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
"version": "1.5.3",
|
||||
"version": "1.5.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/promises.git",
|
||||
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
|
||||
"reference": "b94b2807d85443f9719887892882d0329d1e2598"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
|
||||
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
|
||||
"reference": "b94b2807d85443f9719887892882d0329d1e2598",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1056,6 +1056,11 @@
|
|||
"symfony/phpunit-bridge": "^4.4 || ^5.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.5-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
|
@ -1108,7 +1113,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-05-21T12:31:43+00:00"
|
||||
"time": "2022-08-28T14:55:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
|
@ -1317,6 +1322,24 @@
|
|||
"html",
|
||||
"markdown"
|
||||
],
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.colinodell.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.paypal.me/colinpodell/10.00",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/colinodell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/colinodell",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-01T00:34:03+00:00"
|
||||
},
|
||||
{
|
||||
|
@ -1601,33 +1624,31 @@
|
|||
},
|
||||
{
|
||||
"name": "mobiledetect/mobiledetectlib",
|
||||
"version": "3.74.3",
|
||||
"version": "2.8.41",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/serbanghita/Mobile-Detect.git",
|
||||
"reference": "39582ab62f86b40e4edb698159f895929a29c346"
|
||||
"reference": "fc9cccd4d3706d5a7537b562b59cc18f9e4c0cb1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/39582ab62f86b40e4edb698159f895929a29c346",
|
||||
"reference": "39582ab62f86b40e4edb698159f895929a29c346",
|
||||
"url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/fc9cccd4d3706d5a7537b562b59cc18f9e4c0cb1",
|
||||
"reference": "fc9cccd4d3706d5a7537b562b59cc18f9e4c0cb1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4"
|
||||
"php": ">=5.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.14",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"squizlabs/php_codesniffer": "^3.7"
|
||||
"phpunit/phpunit": "~4.8.35||~5.7"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Detection\\": "src/"
|
||||
"psr-0": {
|
||||
"Detection": "namespaced/"
|
||||
},
|
||||
"classmap": [
|
||||
"src/MobileDetect.php"
|
||||
"Mobile_Detect.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
|
@ -1638,7 +1659,7 @@
|
|||
{
|
||||
"name": "Serban Ghita",
|
||||
"email": "serbanghita@gmail.com",
|
||||
"homepage": "https://mobiledetect.net",
|
||||
"homepage": "http://mobiledetect.net",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
|
@ -1651,13 +1672,7 @@
|
|||
"mobile detector",
|
||||
"php mobile detect"
|
||||
],
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/serbanghita",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-10-27T16:28:04+00:00"
|
||||
"time": "2022-11-08T18:31:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
|
@ -2900,16 +2915,16 @@
|
|||
},
|
||||
{
|
||||
"name": "paragonie/sodium_compat",
|
||||
"version": "v1.20.0",
|
||||
"version": "v1.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/sodium_compat.git",
|
||||
"reference": "e592a3e06d1fa0d43988c7c7d9948ca836f644b6"
|
||||
"reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/e592a3e06d1fa0d43988c7c7d9948ca836f644b6",
|
||||
"reference": "e592a3e06d1fa0d43988c7c7d9948ca836f644b6",
|
||||
"url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/cb15e403ecbe6a6cc515f855c310eb6b1872a933",
|
||||
"reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2978,26 +2993,26 @@
|
|||
"secret-key cryptography",
|
||||
"side-channel resistant"
|
||||
],
|
||||
"time": "2023-04-30T00:54:53+00:00"
|
||||
"time": "2022-09-26T03:40:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "patrickschur/language-detection",
|
||||
"version": "v5.3.0",
|
||||
"version": "v5.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/patrickschur/language-detection.git",
|
||||
"reference": "b8da335336c09fa6814fe0ca0d6d506c357cd7b9"
|
||||
"reference": "728f1434dcf126ce3ed7118567c014d80d7fdd9c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/patrickschur/language-detection/zipball/b8da335336c09fa6814fe0ca0d6d506c357cd7b9",
|
||||
"reference": "b8da335336c09fa6814fe0ca0d6d506c357cd7b9",
|
||||
"url": "https://api.github.com/repos/patrickschur/language-detection/zipball/728f1434dcf126ce3ed7118567c014d80d7fdd9c",
|
||||
"reference": "728f1434dcf126ce3ed7118567c014d80d7fdd9c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"php": "^7.4 || ^8.0"
|
||||
"php": "^7.3 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5.0"
|
||||
|
@ -3025,7 +3040,7 @@
|
|||
"detection",
|
||||
"language"
|
||||
],
|
||||
"time": "2023-08-18T22:46:39+00:00"
|
||||
"time": "2021-03-05T22:18:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/console_table",
|
||||
|
@ -3084,16 +3099,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpseclib/phpseclib",
|
||||
"version": "3.0.34",
|
||||
"version": "3.0.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpseclib/phpseclib.git",
|
||||
"reference": "56c79f16a6ae17e42089c06a2144467acc35348a"
|
||||
"reference": "cc181005cf548bfd8a4896383bb825d859259f95"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56c79f16a6ae17e42089c06a2144467acc35348a",
|
||||
"reference": "56c79f16a6ae17e42089c06a2144467acc35348a",
|
||||
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cc181005cf548bfd8a4896383bb825d859259f95",
|
||||
"reference": "cc181005cf548bfd8a4896383bb825d859259f95",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3186,7 +3201,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-27T11:13:31+00:00"
|
||||
"time": "2023-03-05T17:13:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pragmarx/google2fa",
|
||||
|
@ -3463,27 +3478,22 @@
|
|||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
"version": "2.0.2",
|
||||
"version": "1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/container.git",
|
||||
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
||||
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4.0"
|
||||
"php": ">=7.2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Container\\": "src/"
|
||||
|
@ -3508,20 +3518,20 @@
|
|||
"container-interop",
|
||||
"psr"
|
||||
],
|
||||
"time": "2021-11-05T16:47:00+00:00"
|
||||
"time": "2021-03-05T17:36:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-client",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-client.git",
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
|
||||
"reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31",
|
||||
"reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3557,7 +3567,7 @@
|
|||
"psr",
|
||||
"psr-18"
|
||||
],
|
||||
"time": "2023-09-23T14:17:50+00:00"
|
||||
"time": "2023-04-10T20:12:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-factory",
|
||||
|
@ -3801,16 +3811,16 @@
|
|||
},
|
||||
{
|
||||
"name": "smarty/smarty",
|
||||
"version": "v4.3.4",
|
||||
"version": "v4.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/smarty-php/smarty.git",
|
||||
"reference": "3931d8f54b8f7a4ffab538582d34d4397ba8daa5"
|
||||
"reference": "e28cb0915b4e3749bf57d4ebae2984e25395cfe5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/3931d8f54b8f7a4ffab538582d34d4397ba8daa5",
|
||||
"reference": "3931d8f54b8f7a4ffab538582d34d4397ba8daa5",
|
||||
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/e28cb0915b4e3749bf57d4ebae2984e25395cfe5",
|
||||
"reference": "e28cb0915b4e3749bf57d4ebae2984e25395cfe5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3858,7 +3868,7 @@
|
|||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2023-09-14T10:59:08+00:00"
|
||||
"time": "2023-03-28T19:47:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spomky-labs/base64url",
|
||||
|
@ -3923,16 +3933,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-idn",
|
||||
"version": "v1.28.0",
|
||||
"version": "v1.27.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||
"reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
|
||||
"reference": "639084e360537a19f9ee352433b84ce831f3d2da"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
|
||||
"reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
|
||||
"reference": "639084e360537a19f9ee352433b84ce831f3d2da",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3946,7 +3956,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.28-dev"
|
||||
"dev-main": "1.27-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
@ -4003,20 +4013,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-01-26T09:30:37+00:00"
|
||||
"time": "2022-11-03T14:55:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.28.0",
|
||||
"version": "v1.27.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
|
||||
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4028,7 +4038,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.28-dev"
|
||||
"dev-main": "1.27-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
@ -4084,7 +4094,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-01-26T09:26:14+00:00"
|
||||
"time": "2022-11-03T14:55:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php56",
|
||||
|
@ -4153,16 +4163,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php72",
|
||||
"version": "v1.28.0",
|
||||
"version": "v1.27.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||
"reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
|
||||
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
|
||||
"reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4171,7 +4181,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.28-dev"
|
||||
"dev-main": "1.27-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
|
@ -4222,7 +4232,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-01-26T09:26:14+00:00"
|
||||
"time": "2022-11-03T14:55:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ua-parser/uap-php",
|
||||
|
@ -4893,38 +4903,38 @@
|
|||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
"version": "1.6.7",
|
||||
"version": "1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mockery/mockery.git",
|
||||
"reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06"
|
||||
"reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06",
|
||||
"reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
|
||||
"reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"hamcrest/hamcrest-php": "^2.0.1",
|
||||
"lib-pcre": ">=7.0",
|
||||
"php": ">=7.3"
|
||||
"php": "^7.3 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5 || ^9.6.10",
|
||||
"symplify/easy-coding-standard": "^12.0.8"
|
||||
"phpunit/phpunit": "^8.5 || ^9.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.4.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"library/helpers.php",
|
||||
"library/Mockery.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Mockery\\": "library/Mockery"
|
||||
"psr-0": {
|
||||
"Mockery": "library/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
|
@ -4935,20 +4945,12 @@
|
|||
{
|
||||
"name": "Pádraic Brady",
|
||||
"email": "padraic.brady@gmail.com",
|
||||
"homepage": "https://github.com/padraic",
|
||||
"role": "Author"
|
||||
"homepage": "http://blog.astrumfutura.com"
|
||||
},
|
||||
{
|
||||
"name": "Dave Marshall",
|
||||
"email": "dave.marshall@atstsolutions.co.uk",
|
||||
"homepage": "https://davedevelopment.co.uk",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Nathanael Esayeas",
|
||||
"email": "nathanael.esayeas@protonmail.com",
|
||||
"homepage": "https://github.com/ghostwriter",
|
||||
"role": "Lead Developer"
|
||||
"homepage": "http://davedevelopment.co.uk"
|
||||
}
|
||||
],
|
||||
"description": "Mockery is a simple yet flexible PHP mock object framework",
|
||||
|
@ -4965,7 +4967,7 @@
|
|||
"test double",
|
||||
"testing"
|
||||
],
|
||||
"time": "2023-12-10T02:24:34+00:00"
|
||||
"time": "2022-09-07T15:32:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
|
@ -5024,16 +5026,16 @@
|
|||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.18.0",
|
||||
"version": "v4.15.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
|
||||
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
|
||||
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5072,7 +5074,7 @@
|
|||
"parser",
|
||||
"php"
|
||||
],
|
||||
"time": "2023-12-10T21:03:43+00:00"
|
||||
"time": "2023-03-05T19:49:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
|
@ -5179,16 +5181,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.29",
|
||||
"version": "9.2.26",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
|
||||
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
|
||||
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
|
||||
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5248,7 +5250,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-09-19T04:57:46+00:00"
|
||||
"time": "2023-03-06T12:58:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
|
@ -5477,16 +5479,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.15",
|
||||
"version": "9.6.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "05017b80304e0eb3f31d90194a563fd53a6021f1"
|
||||
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1",
|
||||
"reference": "05017b80304e0eb3f31d90194a563fd53a6021f1",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
|
||||
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5501,7 +5503,7 @@
|
|||
"phar-io/manifest": "^2.0.3",
|
||||
"phar-io/version": "^3.0.2",
|
||||
"php": ">=7.3",
|
||||
"phpunit/php-code-coverage": "^9.2.28",
|
||||
"phpunit/php-code-coverage": "^9.2.13",
|
||||
"phpunit/php-file-iterator": "^3.0.5",
|
||||
"phpunit/php-invoker": "^3.1.1",
|
||||
"phpunit/php-text-template": "^2.0.3",
|
||||
|
@ -5571,7 +5573,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-01T16:55:19+00:00"
|
||||
"time": "2023-04-14T08:58:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
|
@ -5853,16 +5855,16 @@
|
|||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "4.0.5",
|
||||
"version": "4.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
|
||||
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5911,7 +5913,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-05-07T05:35:17+00:00"
|
||||
"time": "2020-10-26T13:10:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
|
@ -6047,16 +6049,16 @@
|
|||
},
|
||||
{
|
||||
"name": "sebastian/global-state",
|
||||
"version": "5.0.6",
|
||||
"version": "5.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/global-state.git",
|
||||
"reference": "bde739e7565280bda77be70044ac1047bc007e34"
|
||||
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
|
||||
"reference": "bde739e7565280bda77be70044ac1047bc007e34",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
|
||||
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6103,7 +6105,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-02T09:26:13+00:00"
|
||||
"time": "2022-02-14T08:28:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/lines-of-code",
|
||||
|
@ -6475,16 +6477,16 @@
|
|||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/theseer/tokenizer.git",
|
||||
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
|
||||
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
|
||||
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
|
||||
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6517,7 +6519,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-20T00:12:19+00:00"
|
||||
"time": "2021-07-28T10:34:58+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
@ -6528,7 +6530,7 @@
|
|||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=7.4",
|
||||
"php": ">=7.3",
|
||||
"ext-ctype": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-dom": "*",
|
||||
|
@ -6545,7 +6547,7 @@
|
|||
},
|
||||
"platform-dev": [],
|
||||
"platform-overrides": {
|
||||
"php": "7.4"
|
||||
"php": "7.3"
|
||||
},
|
||||
"plugin-api-version": "1.1.0"
|
||||
}
|
||||
|
|
129
database.sql
129
database.sql
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2024.03-dev (Yellow Archangel)
|
||||
-- DB_UPDATE_VERSION 1545
|
||||
-- Friendica 2023.09-dev (Giant Rhubarb)
|
||||
-- DB_UPDATE_VERSION 1534
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
@ -73,6 +73,8 @@ CREATE TABLE IF NOT EXISTS `user` (
|
|||
`blockwall` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to post to the profile page of the user',
|
||||
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT 'Hide profile details from unknown viewers',
|
||||
`blocktags` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to tag the post of this user',
|
||||
`unkmail` boolean NOT NULL DEFAULT '0' COMMENT 'Permit unknown people to send private mails to this user',
|
||||
`cntunkmail` int unsigned NOT NULL DEFAULT 10 COMMENT '',
|
||||
`notify-flags` smallint unsigned NOT NULL DEFAULT 65535 COMMENT 'email notification options',
|
||||
`page-flags` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'page/profile type',
|
||||
`account-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
|
@ -490,26 +492,6 @@ CREATE TABLE IF NOT EXISTS `cache` (
|
|||
INDEX `k_expires` (`k`,`expires`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Stores temporary data';
|
||||
|
||||
--
|
||||
-- TABLE channel
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `channel` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL COMMENT 'User id',
|
||||
`label` varchar(64) NOT NULL COMMENT 'Channel label',
|
||||
`description` varchar(64) COMMENT 'Channel description',
|
||||
`circle` int COMMENT 'Circle or channel that this channel is based on',
|
||||
`access-key` varchar(1) COMMENT 'Access key',
|
||||
`include-tags` varchar(1023) COMMENT 'Comma separated list of tags that will be included in the channel',
|
||||
`exclude-tags` varchar(1023) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
|
||||
`full-text-search` varchar(1023) COMMENT 'Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode',
|
||||
`media-type` smallint unsigned COMMENT 'Filtered media types',
|
||||
`languages` mediumtext COMMENT 'Desired languages',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`),
|
||||
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User defined Channels';
|
||||
|
||||
--
|
||||
-- TABLE config
|
||||
--
|
||||
|
@ -1235,23 +1217,6 @@ CREATE TABLE IF NOT EXISTS `post-category` (
|
|||
FOREIGN KEY (`tid`) REFERENCES `tag` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='post relation to categories';
|
||||
|
||||
--
|
||||
-- TABLE post-counts
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `post-counts` (
|
||||
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
|
||||
`vid` smallint unsigned NOT NULL COMMENT 'Id of the verb table entry that contains the activity verbs',
|
||||
`reaction` varchar(1) NOT NULL COMMENT 'Emoji Reaction',
|
||||
`parent-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the parent uri',
|
||||
`count` int unsigned DEFAULT 0 COMMENT 'Number of activities',
|
||||
PRIMARY KEY(`uri-id`,`vid`,`reaction`),
|
||||
INDEX `vid` (`vid`),
|
||||
INDEX `parent-uri-id` (`parent-uri-id`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`vid`) REFERENCES `verb` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
|
||||
FOREIGN KEY (`parent-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Original remote activity';
|
||||
|
||||
--
|
||||
-- TABLE post-collection
|
||||
--
|
||||
|
@ -1344,7 +1309,6 @@ CREATE TABLE IF NOT EXISTS `post-engagement` (
|
|||
`contact-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Person, organisation, news, community, relay',
|
||||
`media-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Type of media in a bit array (1 = image, 2 = video, 4 = audio',
|
||||
`language` varbinary(128) COMMENT 'Language information about this post',
|
||||
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
|
||||
`created` datetime COMMENT '',
|
||||
`restricted` boolean NOT NULL DEFAULT '0' COMMENT 'If true, this post is either unlisted or not from a federated network',
|
||||
`comments` mediumint unsigned COMMENT 'Number of comments',
|
||||
|
@ -1352,7 +1316,6 @@ CREATE TABLE IF NOT EXISTS `post-engagement` (
|
|||
PRIMARY KEY(`uri-id`),
|
||||
INDEX `owner-id` (`owner-id`),
|
||||
INDEX `created` (`created`),
|
||||
FULLTEXT INDEX `searchtext` (`searchtext`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Engagement data per post';
|
||||
|
@ -1550,8 +1513,7 @@ CREATE TABLE IF NOT EXISTS `post-user` (
|
|||
INDEX `event-id` (`event-id`),
|
||||
INDEX `psid` (`psid`),
|
||||
INDEX `author-id_uid` (`author-id`,`uid`),
|
||||
INDEX `author-id_created` (`author-id`,`created`),
|
||||
INDEX `owner-id_created` (`owner-id`,`created`),
|
||||
INDEX `author-id_received` (`author-id`,`received`),
|
||||
INDEX `parent-uri-id_uid` (`parent-uri-id`,`uid`),
|
||||
INDEX `uid_wall_received` (`uid`,`wall`,`received`),
|
||||
INDEX `uid_contactid` (`uid`,`contact-id`),
|
||||
|
@ -1612,17 +1574,11 @@ CREATE TABLE IF NOT EXISTS `post-thread-user` (
|
|||
INDEX `post-user-id` (`post-user-id`),
|
||||
INDEX `commented` (`commented`),
|
||||
INDEX `received` (`received`),
|
||||
INDEX `author-id_created` (`author-id`,`created`),
|
||||
INDEX `owner-id_created` (`owner-id`,`created`),
|
||||
INDEX `uid_received` (`uid`,`received`),
|
||||
INDEX `uid_wall_received` (`uid`,`wall`,`received`),
|
||||
INDEX `uid_commented` (`uid`,`commented`),
|
||||
INDEX `uid_created` (`uid`,`created`),
|
||||
INDEX `uid_starred` (`uid`,`starred`),
|
||||
INDEX `uid_mention` (`uid`,`mention`),
|
||||
INDEX `contact-id_commented` (`contact-id`,`commented`),
|
||||
INDEX `contact-id_received` (`contact-id`,`received`),
|
||||
INDEX `contact-id_created` (`contact-id`,`created`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`conversation-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
|
||||
|
@ -1890,16 +1846,6 @@ CREATE TABLE IF NOT EXISTS `subscription` (
|
|||
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Push Subscription for the API';
|
||||
|
||||
--
|
||||
-- TABLE check-full-text-search
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `check-full-text-search` (
|
||||
`pid` int unsigned NOT NULL COMMENT 'The ID of the process',
|
||||
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
|
||||
PRIMARY KEY(`pid`),
|
||||
FULLTEXT INDEX `searchtext` (`searchtext`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Check for a full text search match in user defined channels before storing the message in the system';
|
||||
|
||||
--
|
||||
-- TABLE userd
|
||||
--
|
||||
|
@ -2024,65 +1970,6 @@ CREATE VIEW `circle-member-view` AS SELECT
|
|||
INNER JOIN `contact` ON `group_member`.`contact-id` = `contact`.`id`
|
||||
INNER JOIN `group` ON `group_member`.`gid` = `group`.`id`;
|
||||
|
||||
--
|
||||
-- VIEW post-counts-view
|
||||
--
|
||||
DROP VIEW IF EXISTS `post-counts-view`;
|
||||
CREATE VIEW `post-counts-view` AS SELECT
|
||||
`post-counts`.`uri-id` AS `uri-id`,
|
||||
`post-counts`.`vid` AS `vid`,
|
||||
`verb`.`name` AS `verb`,
|
||||
`post-counts`.`reaction` AS `reaction`,
|
||||
`post-counts`.`parent-uri-id` AS `parent-uri-id`,
|
||||
`post-counts`.`count` AS `count`
|
||||
FROM `post-counts`
|
||||
INNER JOIN `verb` ON `verb`.`id` = `post-counts`.`vid`;
|
||||
|
||||
--
|
||||
-- VIEW post-timeline-view
|
||||
--
|
||||
DROP VIEW IF EXISTS `post-timeline-view`;
|
||||
CREATE VIEW `post-timeline-view` AS SELECT
|
||||
`post-user`.`uid` AS `uid`,
|
||||
`post-user`.`uri-id` AS `uri-id`,
|
||||
`post-user`.`gravity` AS `gravity`,
|
||||
`post-user`.`created` AS `created`,
|
||||
`post-user`.`edited` AS `edited`,
|
||||
`post-thread-user`.`commented` AS `commented`,
|
||||
`post-user`.`received` AS `received`,
|
||||
`post-thread-user`.`changed` AS `changed`,
|
||||
`post-user`.`private` AS `private`,
|
||||
`post-user`.`visible` AS `visible`,
|
||||
`post-user`.`deleted` AS `deleted`,
|
||||
`post-user`.`origin` AS `origin`,
|
||||
`post-user`.`global` AS `global`,
|
||||
`post-user`.`network` AS `network`,
|
||||
`post-user`.`protocol` AS `protocol`,
|
||||
`post-user`.`vid` AS `vid`,
|
||||
`post-user`.`contact-id` AS `contact-id`,
|
||||
`contact`.`blocked` AS `contact-blocked`,
|
||||
`contact`.`readonly` AS `contact-readonly`,
|
||||
`contact`.`pending` AS `contact-pending`,
|
||||
`contact`.`rel` AS `contact-rel`,
|
||||
`contact`.`uid` AS `contact-uid`,
|
||||
`contact`.`self` AS `self`,
|
||||
`post-user`.`author-id` AS `author-id`,
|
||||
`author`.`blocked` AS `author-blocked`,
|
||||
`author`.`hidden` AS `author-hidden`,
|
||||
`author`.`gsid` AS `author-gsid`,
|
||||
`post-user`.`owner-id` AS `owner-id`,
|
||||
`owner`.`blocked` AS `owner-blocked`,
|
||||
`owner`.`gsid` AS `owner-gsid`,
|
||||
`post-user`.`causer-id` AS `causer-id`,
|
||||
`causer`.`blocked` AS `causer-blocked`,
|
||||
`causer`.`gsid` AS `causer-gsid`
|
||||
FROM `post-user`
|
||||
LEFT JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
|
||||
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
|
||||
STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
|
||||
STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
|
||||
LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`;
|
||||
|
||||
--
|
||||
-- VIEW post-user-view
|
||||
--
|
||||
|
@ -2183,7 +2070,6 @@ CREATE VIEW `post-user-view` AS SELECT
|
|||
`author`.`blocked` AS `author-blocked`,
|
||||
`author`.`hidden` AS `author-hidden`,
|
||||
`author`.`updated` AS `author-updated`,
|
||||
`author`.`contact-type` AS `author-contact-type`,
|
||||
`author`.`gsid` AS `author-gsid`,
|
||||
`author`.`baseurl` AS `author-baseurl`,
|
||||
`post-user`.`owner-id` AS `owner-id`,
|
||||
|
@ -2368,7 +2254,6 @@ CREATE VIEW `post-thread-user-view` AS SELECT
|
|||
`author`.`blocked` AS `author-blocked`,
|
||||
`author`.`hidden` AS `author-hidden`,
|
||||
`author`.`updated` AS `author-updated`,
|
||||
`author`.`contact-type` AS `author-contact-type`,
|
||||
`author`.`gsid` AS `author-gsid`,
|
||||
`post-thread-user`.`owner-id` AS `owner-id`,
|
||||
`owner`.`uri-id` AS `owner-uri-id`,
|
||||
|
@ -2537,7 +2422,6 @@ CREATE VIEW `post-view` AS SELECT
|
|||
`author`.`blocked` AS `author-blocked`,
|
||||
`author`.`hidden` AS `author-hidden`,
|
||||
`author`.`updated` AS `author-updated`,
|
||||
`author`.`contact-type` AS `author-contact-type`,
|
||||
`author`.`gsid` AS `author-gsid`,
|
||||
`post`.`owner-id` AS `owner-id`,
|
||||
`owner`.`uri-id` AS `owner-uri-id`,
|
||||
|
@ -2683,7 +2567,6 @@ CREATE VIEW `post-thread-view` AS SELECT
|
|||
`author`.`blocked` AS `author-blocked`,
|
||||
`author`.`hidden` AS `author-hidden`,
|
||||
`author`.`updated` AS `author-updated`,
|
||||
`author`.`contact-type` AS `author-contact-type`,
|
||||
`author`.`gsid` AS `author-gsid`,
|
||||
`post-thread`.`owner-id` AS `owner-id`,
|
||||
`owner`.`uri-id` AS `owner-uri-id`,
|
||||
|
@ -2966,6 +2849,8 @@ CREATE VIEW `owner-view` AS SELECT
|
|||
`user`.`blockwall` AS `blockwall`,
|
||||
`user`.`hidewall` AS `hidewall`,
|
||||
`user`.`blocktags` AS `blocktags`,
|
||||
`user`.`unkmail` AS `unkmail`,
|
||||
`user`.`cntunkmail` AS `cntunkmail`,
|
||||
`user`.`notify-flags` AS `notify-flags`,
|
||||
`user`.`page-flags` AS `page-flags`,
|
||||
`user`.`account-type` AS `account-type`,
|
||||
|
|
|
@ -23,10 +23,10 @@ If you do not have an OpenID address or do not wish to use OpenID, leave this fi
|
|||
If you have an OpenID account elsewhere and wish to use it, enter the address into this field and click 'Register'.
|
||||
Friendica will attempt to extract as much information as possible from your OpenID provider and return to this page with those items already filled in.
|
||||
|
||||
### Your Display Name
|
||||
### Your Full Name
|
||||
|
||||
Please provide your display name **as you would like it to be displayed on this system**.
|
||||
Some people use their real name for this, but you're under no obligation to do so yourself.
|
||||
Please provide your full name **as you would like it to be displayed on this system**.
|
||||
Most people use their real name for this, but you're under no obligation to do so yourself.
|
||||
|
||||
### Email Address
|
||||
|
||||
|
|
|
@ -221,15 +221,6 @@ Please note: body contents are bbcode - not HTML
|
|||
Called when receiving a post from another source. This may also be used to post local activity or system generated messages.
|
||||
`$b` is the item array of information to be stored in the database and the item body is bbcode.
|
||||
|
||||
### detect_languages
|
||||
Called after the language detection. This can be used for alternative language detection methods.
|
||||
`$data` is an array:
|
||||
|
||||
- **text**: The text that is analyzed.
|
||||
- **detected**: (input/output) Array of language codes detected in the related text. The array key is the language code, the array value the probability.
|
||||
- **uri-id**: The Uri-Id of the item.
|
||||
- **author-id**: The id of the author contact.
|
||||
|
||||
### addon_settings
|
||||
Called when generating the HTML for the addon settings page.
|
||||
`$data` is an array containing:
|
||||
|
@ -809,7 +800,6 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
|
||||
### src/Model/Item.php
|
||||
|
||||
Hook::callAll('detect_languages', $item);
|
||||
Hook::callAll('post_local', $item);
|
||||
Hook::callAll('post_remote', $item);
|
||||
Hook::callAll('post_local_end', $posted_item);
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
Channels
|
||||
=====
|
||||
|
||||
* [Home](help)
|
||||
|
||||
Channels are a way to discover new content or to display content that you might have missed otherwise.
|
||||
There are several predefined channels, additionally you can create your own channels, based on some rules.
|
||||
Channels only display posts from the last 24 hours (this value can be changed by the admin).
|
||||
|
||||
In the display settings in the section "Timelines" you can define which channels and other timelines you want to see in the "Channels" widget on the network page and which channels should appear in the menu bar at the top of the page.
|
||||
|
||||
Also in the display settings in the section "Channels" you can define all the languages that you want to see in your channels. Here you can select more than one language.
|
||||
|
||||
On the contact page you can define the channel frequency for every contact. The options are:
|
||||
|
||||
* Default frequency: Posts by this contact are displayed in the "for you" channel if you interact often with this contact or if a post reached some level of interaction.
|
||||
* Display all posts of this contact: All posts from this contact will appear on the "for you" channel.
|
||||
* Display only few posts: When a contact creates a lot of posts in a short period, this setting reduces the number of displayed posts in every channel.
|
||||
* Never display posts: Posts from this contact will never be displayed in any channel.
|
||||
|
||||
Predefined Channels
|
||||
---
|
||||
|
||||
* For you: Posts from contacts you interact with and who interact with you. In detail, it consists of:
|
||||
* Posts from people you interact with on a more than average level.
|
||||
* Posts from the accounts that you follow with a more than average number of interactions-
|
||||
* Posts from accounts where you activated "notify on new posts" or where you have set the channel frequency accordingly.
|
||||
* What's Hot: Posts with a more than average number of interactions.
|
||||
* Language: Posts in your language.
|
||||
* Followers: Posts from your followers that you don't follow.
|
||||
* Sharers of sharers: Posts from accounts that are followed by accounts that you follow.
|
||||
* Images: Posts with images.
|
||||
* Audio: Posts with audio.
|
||||
* Videos: Posts with videos.
|
||||
|
||||
User defined Channels
|
||||
---
|
||||
|
||||
In the "Channels" settings you can create your own channels.
|
||||
|
||||
Each channel is defined by these values:
|
||||
|
||||
* Label: This value is mandatory and is used for the menu label.
|
||||
* Description: A short description of the content. This can help to keep the overview, when you have got a lot of channels.
|
||||
* Access Key: When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.
|
||||
* Circle: This defines the data source for this channel. By default it is set to the public timeline. There are some predefined values, like the accounts that you follow or the accounts that follow you. Also all of your circles can be selected.
|
||||
* Include Tags: Comma separated list of tags. A post will be used when it contains any of the listed tags.
|
||||
* Exclude Tags: Comma separated list of tags. If a post contain any of these tags, then it will not be part of nthis channel.
|
||||
* Full Text Search: This can be used to include or exclude content, based on the content and some additional keywords. It uses the "boolean mode" operators from MariaDB: https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode
|
||||
* Images, Videos, Audio: When selected, you will see content with the selected media type. This can be combined. If none of these fields are checked, you will see any content, with or without attacked media.
|
||||
|
||||
Additional keywords for the full text search
|
||||
---
|
||||
|
||||
Additionally to the search for content, there are additional keywords that can be used in the full text search:
|
||||
|
||||
* from - Use "from:nickname" or "from:nickname@domain.tld" to search for posts from a specific author.
|
||||
* to - Use "from:nickname" or "from:nickname@domain.tld" to search for posts with the given contact as receiver.
|
||||
* group - Use "from:nickname" or "from:nickname@domain.tld" to search for group post of the given group.
|
||||
* server - Use "server:hostname" to search for posts from a specific server. In the case of group postings, the search text contains both the hostname of the group server and the author's hostname.
|
||||
* source - The ActivityPub type of the post source. Use this for example to include or exclude group posts or posts from services (aka bots).
|
||||
* source:person - The post is created by a regular user account.
|
||||
* source:organization - The post is created by an organisation.
|
||||
* source:group - The post is created by or distributed via a group.
|
||||
* source:service - The posts originates from a service account. This source type is often used to mark bot accounts.
|
||||
* source:application - The post is created by an application. This is most likely unused in the fediverse for post creation.
|
||||
* tag - Use "tag:tagname" to search for a specific tag.
|
||||
* network - Use this to include or exclude some networks from your channel.
|
||||
* network:apub - ActivityPub (Used by the systems in the Fediverse)
|
||||
* network:dfrn - Legacy Friendica protocol. Nowayday Friendica mostly uses ActivityPub.
|
||||
* network:dspr - The Diaspora protocol is mainly used by Diaspora itself. Some other systems support the protocol as well like Hubzilla, Socialhome or Ganggo.
|
||||
* network:feed - RSS/Atom feeds
|
||||
* network:mail - Mails that had been imported via IMAP.
|
||||
* network:stat - The OStatus protocol is mainly used by old GNU Social installations.
|
||||
* network:dscs - Posts that are received by the Discourse connector.
|
||||
* network:tmbl - Posts that are received by the Tumblr connector.
|
||||
* network:bsky - Posts that are received by the Bluesky connector.
|
||||
* platform - Use this to include or exclude some platforms from your channel, e.g. "+platform:friendica". In the case of group postings, the search text contains both the platform of the group server and the author's platform.
|
||||
* visibility - You have the choice between different visibilities. You can only see unlisted or private posts that you have the access for.
|
||||
* visibility:public
|
||||
* visibility:unlisted
|
||||
* visibility:private
|
||||
|
||||
Remember that you can combine these kerywords.
|
||||
So for example you can create a channel with all posts that talk about the Fediverse - that aren't posted in the Fediverse with the search terms: "fediverse -network:apub -network:dfrn"
|
|
@ -17,7 +17,6 @@ Friendica Documentation and Resources
|
|||
* [Circles and Privacy](help/Circles-and-Privacy)
|
||||
* [Tags and Mentions](help/Tags-and-Mentions)
|
||||
* [Community Groups](help/Groups)
|
||||
* [Channels](help/Channels)
|
||||
* [Chats](help/Chats)
|
||||
* Further information
|
||||
* [Move your account](help/Move-Account)
|
||||
|
|
|
@ -28,9 +28,9 @@ Due to the large variety of operating systems and PHP platforms in existence we
|
|||
### Requirements
|
||||
|
||||
* Apache with mod-rewrite enabled and "Options All" so you can use a local `.htaccess` file
|
||||
* PHP 7.4+
|
||||
* PHP 7.3+ (PHP8 is not fully supported yet)
|
||||
* PHP *command line* access with register_argc_argv set to true in the php.ini file
|
||||
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip, IntlChar and OpenSSL extensions
|
||||
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions
|
||||
* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it)
|
||||
* Some form of email server or email gateway such that PHP mail() works.
|
||||
If you cannot set up your own email server, you can use the [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) addon and use a remote SMTP server.
|
||||
|
|
|
@ -77,11 +77,11 @@ Additionally to the setting in the admin panel, you can decide if registrations
|
|||
To enable invitation based registration, you have to set the `invitation_only` setting to `true` in the `system` section of the [config/local.config.php](/help/Config) file.
|
||||
If you want to use this method, the registration policy has to be set to either *open* or *requires approval*.
|
||||
|
||||
#### Check Display Names
|
||||
#### Check Full Names
|
||||
|
||||
You may find a lot of spammers trying to register on your site.
|
||||
During testing we discovered that since these registrations were automatic, the "Display Name" field was often set to just an account name with no space between first and last name.
|
||||
If you would like to support people with only one name as their display name, you can leave this setting set to false.
|
||||
During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name.
|
||||
If you would like to support people with only one name as their full name, you may change this setting to true.
|
||||
Default is false.
|
||||
|
||||
#### OpenID
|
||||
|
|
|
@ -17,8 +17,6 @@ Database Tables
|
|||
| [arrived-activity](help/database/db_arrived-activity) | Id of arrived activities |
|
||||
| [attach](help/database/db_attach) | file attachments |
|
||||
| [cache](help/database/db_cache) | Stores temporary data |
|
||||
| [channel](help/database/db_channel) | User defined Channels |
|
||||
| [check-full-text-search](help/database/db_check-full-text-search) | Check for a full text search match in user defined channels before storing the message in the system |
|
||||
| [config](help/database/db_config) | main configuration storage |
|
||||
| [contact](help/database/db_contact) | contact table |
|
||||
| [contact-relation](help/database/db_contact-relation) | Contact relations |
|
||||
|
@ -61,7 +59,6 @@ Database Tables
|
|||
| [post-category](help/database/db_post-category) | post relation to categories |
|
||||
| [post-collection](help/database/db_post-collection) | Collection of posts |
|
||||
| [post-content](help/database/db_post-content) | Content for all posts |
|
||||
| [post-counts](help/database/db_post-counts) | Original remote activity |
|
||||
| [post-delivery](help/database/db_post-delivery) | Delivery data for posts for the batch processing |
|
||||
| [post-delivery-data](help/database/db_post-delivery-data) | Delivery data for items |
|
||||
| [post-engagement](help/database/db_post-engagement) | Engagement data per post |
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
Table channel
|
||||
===========
|
||||
|
||||
User defined Channels
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
| Field | Description | Type | Null | Key | Default | Extra |
|
||||
| ---------------- | ------------------------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||
| uid | User id | mediumint unsigned | NO | | NULL | |
|
||||
| label | Channel label | varchar(64) | NO | | NULL | |
|
||||
| description | Channel description | varchar(64) | YES | | NULL | |
|
||||
| circle | Circle or channel that this channel is based on | int | YES | | NULL | |
|
||||
| access-key | Access key | varchar(1) | YES | | NULL | |
|
||||
| include-tags | Comma separated list of tags that will be included in the channel | varchar(1023) | YES | | NULL | |
|
||||
| exclude-tags | Comma separated list of tags that aren't allowed in the channel | varchar(1023) | YES | | NULL | |
|
||||
| full-text-search | Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode | varchar(1023) | YES | | NULL | |
|
||||
| media-type | Filtered media types | smallint unsigned | YES | | NULL | |
|
||||
| languages | Desired languages | mediumtext | YES | | NULL | |
|
||||
|
||||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| ------- | ------ |
|
||||
| PRIMARY | id |
|
||||
| uid | uid |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
||||
| Field | Target Table | Target Field |
|
||||
|-------|--------------|--------------|
|
||||
| uid | [user](help/database/db_user) | uid |
|
||||
|
||||
Return to [database documentation](help/database)
|
|
@ -1,23 +0,0 @@
|
|||
Table check-full-text-search
|
||||
===========
|
||||
|
||||
Check for a full text search match in user defined channels before storing the message in the system
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
| Field | Description | Type | Null | Key | Default | Extra |
|
||||
| ---------- | ---------------------------------------- | ------------ | ---- | --- | ------- | ----- |
|
||||
| pid | The ID of the process | int unsigned | NO | PRI | NULL | |
|
||||
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
|
||||
|
||||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| ---------- | -------------------- |
|
||||
| PRIMARY | pid |
|
||||
| searchtext | FULLTEXT, searchtext |
|
||||
|
||||
|
||||
Return to [database documentation](help/database)
|
|
@ -1,35 +0,0 @@
|
|||
Table post-counts
|
||||
===========
|
||||
|
||||
Original remote activity
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
| Field | Description | Type | Null | Key | Default | Extra |
|
||||
| ------------- | ----------------------------------------------------------- | ----------------- | ---- | --- | ------- | ----- |
|
||||
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||
| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | NO | PRI | NULL | |
|
||||
| reaction | Emoji Reaction | varchar(1) | NO | PRI | NULL | |
|
||||
| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | |
|
||||
| count | Number of activities | int unsigned | YES | | 0 | |
|
||||
|
||||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| ------------- | --------------------- |
|
||||
| PRIMARY | uri-id, vid, reaction |
|
||||
| vid | vid |
|
||||
| parent-uri-id | parent-uri-id |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
||||
| Field | Target Table | Target Field |
|
||||
|-------|--------------|--------------|
|
||||
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
| vid | [verb](help/database/db_verb) | id |
|
||||
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
|
||||
Return to [database documentation](help/database)
|
|
@ -13,7 +13,6 @@ Fields
|
|||
| contact-type | Person, organisation, news, community, relay | tinyint | NO | | 0 | |
|
||||
| media-type | Type of media in a bit array (1 = image, 2 = video, 4 = audio | tinyint | NO | | 0 | |
|
||||
| language | Language information about this post | varbinary(128) | YES | | NULL | |
|
||||
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
|
||||
| created | | datetime | YES | | NULL | |
|
||||
| restricted | If true, this post is either unlisted or not from a federated network | boolean | NO | | 0 | |
|
||||
| comments | Number of comments | mediumint unsigned | YES | | NULL | |
|
||||
|
@ -22,12 +21,11 @@ Fields
|
|||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| ---------- | -------------------- |
|
||||
| PRIMARY | uri-id |
|
||||
| owner-id | owner-id |
|
||||
| created | created |
|
||||
| searchtext | FULLTEXT, searchtext |
|
||||
| Name | Fields |
|
||||
| -------- | -------- |
|
||||
| PRIMARY | uri-id |
|
||||
| owner-id | owner-id |
|
||||
| created | created |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
|
|
@ -36,31 +36,25 @@ Fields
|
|||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| -------------------- | --------------------- |
|
||||
| PRIMARY | uid, uri-id |
|
||||
| uri-id | uri-id |
|
||||
| conversation-id | conversation-id |
|
||||
| owner-id | owner-id |
|
||||
| author-id | author-id |
|
||||
| causer-id | causer-id |
|
||||
| uid | uid |
|
||||
| contact-id | contact-id |
|
||||
| psid | psid |
|
||||
| post-user-id | post-user-id |
|
||||
| commented | commented |
|
||||
| received | received |
|
||||
| author-id_created | author-id, created |
|
||||
| owner-id_created | owner-id, created |
|
||||
| uid_received | uid, received |
|
||||
| uid_wall_received | uid, wall, received |
|
||||
| uid_commented | uid, commented |
|
||||
| uid_created | uid, created |
|
||||
| uid_starred | uid, starred |
|
||||
| uid_mention | uid, mention |
|
||||
| contact-id_commented | contact-id, commented |
|
||||
| contact-id_received | contact-id, received |
|
||||
| contact-id_created | contact-id, created |
|
||||
| Name | Fields |
|
||||
| ----------------- | ------------------- |
|
||||
| PRIMARY | uid, uri-id |
|
||||
| uri-id | uri-id |
|
||||
| conversation-id | conversation-id |
|
||||
| owner-id | owner-id |
|
||||
| author-id | author-id |
|
||||
| causer-id | causer-id |
|
||||
| uid | uid |
|
||||
| contact-id | contact-id |
|
||||
| psid | psid |
|
||||
| post-user-id | post-user-id |
|
||||
| commented | commented |
|
||||
| received | received |
|
||||
| uid_received | uid, received |
|
||||
| uid_wall_received | uid, wall, received |
|
||||
| uid_commented | uid, commented |
|
||||
| uid_starred | uid, starred |
|
||||
| uid_mention | uid, mention |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
|
|
@ -58,8 +58,7 @@ Indexes
|
|||
| event-id | event-id |
|
||||
| psid | psid |
|
||||
| author-id_uid | author-id, uid |
|
||||
| author-id_created | author-id, created |
|
||||
| owner-id_created | owner-id, created |
|
||||
| author-id_received | author-id, received |
|
||||
| parent-uri-id_uid | parent-uri-id, uid |
|
||||
| uid_wall_received | uid, wall, received |
|
||||
| uid_contactid | uid, contact-id |
|
||||
|
|
|
@ -34,6 +34,8 @@ Fields
|
|||
| blockwall | Prohibit contacts to post to the profile page of the user | boolean | NO | | 0 | |
|
||||
| hidewall | Hide profile details from unknown viewers | boolean | NO | | 0 | |
|
||||
| blocktags | Prohibit contacts to tag the post of this user | boolean | NO | | 0 | |
|
||||
| unkmail | Permit unknown people to send private mails to this user | boolean | NO | | 0 | |
|
||||
| cntunkmail | | int unsigned | NO | | 10 | |
|
||||
| notify-flags | email notification options | smallint unsigned | NO | | 65535 | |
|
||||
| page-flags | page/profile type | tinyint unsigned | NO | | 0 | |
|
||||
| account-type | | tinyint unsigned | NO | | 0 | |
|
||||
|
|
|
@ -103,15 +103,6 @@ Derzeitige Hooks
|
|||
$b ist das Item-Array einer Information, die in der Datenbank und im Item gespeichert ist.
|
||||
{Bitte beachte: der Seiteninhalt ist bbcode - nicht HTML)
|
||||
|
||||
**'detect_languages'**
|
||||
Wird nach der Sprachenerkennung aufgerufen.
|
||||
Dieser Hook kann dafür verwendet werden, alternative Erkennungsfunktionen einzubinden.
|
||||
`$data` ist ein Array:
|
||||
'text' => Der analysierte Text.
|
||||
'detected' => (Eingabe/Ausgabe) Das Array mit den erkannten Sprachen. Der Sprachcode ist der Array-Schlüssel, der Array-Wert ist der dezimale Wert für die Wahrscheinlichkeit.
|
||||
'uri-id' => Die Uri-Id des Beitrags
|
||||
'author-id' => Die Contact-id des Autors.
|
||||
|
||||
**'addon_settings'** - wird aufgerufen, wenn die HTML-Ausgabe der Addon-Einstellungsseite generiert wird.
|
||||
$b ist die HTML-Ausgabe (String) der Addon-Einstellungsseite vor dem finalen "</form>"-Tag.
|
||||
|
||||
|
@ -325,7 +316,6 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
|
||||
### src/Model/Item.php
|
||||
|
||||
Hook::callAll('detect_languages', $item);
|
||||
Hook::callAll('post_local', $item);
|
||||
Hook::callAll('post_remote', $item);
|
||||
Hook::callAll('post_local_end', $posted_item);
|
||||
|
|
|
@ -17,7 +17,6 @@ Friendica - Dokumentation und Ressourcen
|
|||
* [Circles und Privatsphäre](help/Circles-and-Privacy)
|
||||
* [Tags und Erwähnungen](help/Tags-and-Mentions)
|
||||
* [Community-Gruppen](help/Groups)
|
||||
* [Channels](help/Channels)
|
||||
* [Chats](help/Chats)
|
||||
* Weiterführende Informationen
|
||||
* [Account umziehen](help/Move-Account)
|
||||
|
|
|
@ -25,9 +25,9 @@ Requirements
|
|||
---
|
||||
|
||||
* Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst
|
||||
* PHP 7.4+
|
||||
* PHP 7.3+ (PHP 8 wird noch nicht komplett unterstützt)
|
||||
* PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei
|
||||
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip, IntlChar and OpenSSL-Erweiterung
|
||||
* Curl, GD, GMP, PDO, MySQLi, xml, zip und OpenSSL-Erweiterung
|
||||
* Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
|
||||
* Einen E-Mail Server, so dass PHP `mail()` funktioniert.
|
||||
Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 185 KiB |
Binary file not shown.
Before Width: | Height: | Size: 166 KiB |
Binary file not shown.
Before Width: | Height: | Size: 400 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1,011 KiB |
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -221,10 +221,6 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat
|
|||
|
||||
DI::contentItem()->postProcessPost($post, $recipients);
|
||||
|
||||
if (($post['private'] == Item::PRIVATE) && ($post['thr-parent-id'] != $post['uri-id'])) {
|
||||
DI::contentItem()->copyPermissions($post['thr-parent-id'], $post['uri-id'], $post['parent-uri-id']);
|
||||
}
|
||||
|
||||
Logger::debug('post_complete');
|
||||
|
||||
item_post_return(DI::baseUrl(), $return_path);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -312,16 +312,16 @@ function photos_post(App $a)
|
|||
|
||||
Photo::update(['height' => $height, 'width' => $width], ['resource-id' => $resource_id, 'uid' => $page_owner_uid, 'scale' => 0], $image);
|
||||
|
||||
if ($width > \Friendica\Util\Proxy::PIXEL_MEDIUM || $height > \Friendica\Util\Proxy::PIXEL_MEDIUM) {
|
||||
$image->scaleDown(\Friendica\Util\Proxy::PIXEL_MEDIUM);
|
||||
if ($width > 640 || $height > 640) {
|
||||
$image->scaleDown(640);
|
||||
$width = $image->getWidth();
|
||||
$height = $image->getHeight();
|
||||
|
||||
Photo::update(['height' => $height, 'width' => $width], ['resource-id' => $resource_id, 'uid' => $page_owner_uid, 'scale' => 1], $image);
|
||||
}
|
||||
|
||||
if ($width > \Friendica\Util\Proxy::PIXEL_SMALL || $height > \Friendica\Util\Proxy::PIXEL_SMALL) {
|
||||
$image->scaleDown(\Friendica\Util\Proxy::PIXEL_SMALL);
|
||||
if ($width > 320 || $height > 320) {
|
||||
$image->scaleDown(320);
|
||||
$width = $image->getWidth();
|
||||
$height = $image->getHeight();
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -31,7 +31,7 @@ use Friendica\Model\Contact;
|
|||
function update_contact_content(App $a)
|
||||
{
|
||||
if (!empty(DI::args()->get(1)) && !empty($_GET['force'])) {
|
||||
$contact = DBA::selectFirst('account-user-view', ['pid', 'deleted'], ['id' => DI::args()->get(1)]);
|
||||
$contact = Contact::getById(DI::args()->get(1), ['id', 'deleted']);
|
||||
if (DBA::isResult($contact) && empty($contact['deleted'])) {
|
||||
DI::page()['aside'] = '';
|
||||
|
||||
|
@ -39,7 +39,7 @@ function update_contact_content(App $a)
|
|||
$item = Post::selectFirst(['parent'], ['id' => $_GET['item']]);
|
||||
}
|
||||
|
||||
$text = Contact::getThreadsFromId($contact['pid'], DI::userSession()->getLocalUserId(), true, $item['parent'] ?? 0, $_GET['last_received'] ?? '');
|
||||
$text = Contact::getPostsFromId($contact['id'], true, true, $item['parent'] ?? 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Contact: mailto:info@friendi.ca
|
||||
|
||||
Expires: 2024-10-30T23:59:59Z
|
||||
Expires: 2024-04-30T23:59:59Z
|
||||
|
||||
Preferred-Languages: en
|
||||
|
||||
|
|
13
src/App.php
13
src/App.php
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -63,8 +63,8 @@ use Psr\Log\LoggerInterface;
|
|||
class App
|
||||
{
|
||||
const PLATFORM = 'Friendica';
|
||||
const CODENAME = 'Yellow Archangel';
|
||||
const VERSION = '2024.03-dev';
|
||||
const CODENAME = 'Giant Rhubarb';
|
||||
const VERSION = '2023.09-dev';
|
||||
|
||||
// Allow themes to control internal parameters
|
||||
// by changing App values in theme.php
|
||||
|
@ -567,7 +567,6 @@ class App
|
|||
{
|
||||
$requeststring = ($_SERVER['REQUEST_METHOD'] ?? '') . ' ' . ($_SERVER['REQUEST_URI'] ?? '') . ' ' . ($_SERVER['SERVER_PROTOCOL'] ?? '');
|
||||
$this->logger->debug('Request received', ['address' => $_SERVER['REMOTE_ADDR'] ?? '', 'request' => $requeststring, 'referer' => $_SERVER['HTTP_REFERER'] ?? '', 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
|
||||
$request_start = microtime(true);
|
||||
|
||||
$this->profiler->set($start_time, 'start');
|
||||
$this->profiler->set(microtime(true), 'classinit');
|
||||
|
@ -716,10 +715,10 @@ class App
|
|||
$response = $page->run($this, $this->baseURL, $this->args, $this->mode, $response, $this->l10n, $this->profiler, $this->config, $pconfig, $nav, $this->session->getLocalUserId());
|
||||
}
|
||||
|
||||
$this->logger->debug('Request processed sucessfully', ['response' => $response->getStatusCode(), 'address' => $_SERVER['REMOTE_ADDR'] ?? '', 'request' => $requeststring, 'referer' => $_SERVER['HTTP_REFERER'] ?? '', 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'duration' => number_format(microtime(true) - $request_start, 3)]);
|
||||
System::echoResponse($response);
|
||||
$this->logger->debug('Request processed sucessfully', ['response' => $response->getStatusCode(), 'address' => $_SERVER['REMOTE_ADDR'] ?? '', 'request' => $requeststring, 'referer' => $_SERVER['HTTP_REFERER'] ?? '', 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
|
||||
$page->exit($response);
|
||||
} catch (HTTPException $e) {
|
||||
$this->logger->debug('Request processed with exception', ['response' => $e->getCode(), 'address' => $_SERVER['REMOTE_ADDR'] ?? '', 'request' => $requeststring, 'referer' => $_SERVER['HTTP_REFERER'] ?? '', 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'duration' => number_format(microtime(true) - $request_start, 3)]);
|
||||
$this->logger->debug('Request processed with exception', ['response' => $e->getCode(), 'address' => $_SERVER['REMOTE_ADDR'] ?? '', 'request' => $requeststring, 'referer' => $_SERVER['HTTP_REFERER'] ?? '', 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
|
||||
$httpException->rawContent($e);
|
||||
}
|
||||
$page->logRuntime($this->config, 'runFrontend');
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -36,7 +36,6 @@ use Friendica\Core\System;
|
|||
use Friendica\Core\Theme;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Util\Images;
|
||||
use Friendica\Util\Network;
|
||||
use Friendica\Util\Profiler;
|
||||
use Friendica\Util\Strings;
|
||||
|
@ -283,7 +282,7 @@ class Page implements ArrayAccess
|
|||
'$stylesheets' => $this->stylesheets,
|
||||
|
||||
// Dropzone
|
||||
'$max_imagesize' => round(Images::getMaxUploadBytes() / 1000000, 0),
|
||||
'$max_imagesize' => round(\Friendica\Util\Strings::getBytesFromShorthand($config->get('system', 'maximagesize')) / 1000000, 1),
|
||||
|
||||
]) . $this->page['htmlhead'];
|
||||
}
|
||||
|
@ -402,6 +401,36 @@ class Page implements ArrayAccess
|
|||
$this->footerScripts[] = trim($url, '/');
|
||||
}
|
||||
|
||||
/**
|
||||
* Directly exit with the current response (include setting all headers)
|
||||
*
|
||||
* @param ResponseInterface $response
|
||||
*/
|
||||
public function exit(ResponseInterface $response)
|
||||
{
|
||||
header(sprintf("HTTP/%s %s %s",
|
||||
$response->getProtocolVersion(),
|
||||
$response->getStatusCode(),
|
||||
$response->getReasonPhrase())
|
||||
);
|
||||
|
||||
foreach ($response->getHeaders() as $key => $header) {
|
||||
if (is_array($header)) {
|
||||
$header_str = implode(',', $header);
|
||||
} else {
|
||||
$header_str = $header;
|
||||
}
|
||||
|
||||
if (empty($key)) {
|
||||
header($header_str);
|
||||
} else {
|
||||
header("$key: $header_str");
|
||||
}
|
||||
}
|
||||
|
||||
echo $response->getBody();
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the creation of the current page and prints it to the screen
|
||||
*
|
||||
|
@ -497,9 +526,7 @@ class Page implements ArrayAccess
|
|||
}
|
||||
|
||||
if ($_GET["mode"] == "raw") {
|
||||
$response->withBody(Utils::streamFor($target->saveHTML()));
|
||||
System::echoResponse($response);
|
||||
System::exit();
|
||||
System::httpExit(substr($target->saveHTML(), 6, -8), Response::TYPE_HTML);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -129,24 +129,6 @@ class BaseCollection extends \ArrayIterator
|
|||
return new static(array_reverse($this->getArrayCopy()), $this->getTotalCount());
|
||||
}
|
||||
|
||||
/**
|
||||
* Split the collection in smaller collections no bigger than the provided length
|
||||
*
|
||||
* @param int $length
|
||||
* @return static[]
|
||||
*/
|
||||
public function chunk(int $length): array
|
||||
{
|
||||
if ($length < 1) {
|
||||
throw new \RangeException('BaseCollection->chunk(): Size parameter expected to be greater than 0');
|
||||
}
|
||||
|
||||
return array_map(function ($array) {
|
||||
return new static($array);
|
||||
}, array_chunk($this->getArrayCopy(), $length));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -27,7 +27,6 @@ use Friendica\Capabilities\ICanCreateResponses;
|
|||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Module\Special\HTTPException as ModuleHTTPException;
|
||||
|
@ -107,7 +106,8 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
*/
|
||||
protected function rawContent(array $request = [])
|
||||
{
|
||||
// $this->httpExit(...);
|
||||
// echo '';
|
||||
// exit;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -189,11 +189,6 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
$this->response->setHeader('*', 'Access-Control-Allow-Headers');
|
||||
$this->response->setHeader(Router::GET, 'Access-Control-Allow-Methods');
|
||||
$this->response->setHeader('false', 'Access-Control-Allow-Credentials');
|
||||
} elseif (substr($this->args->getQueryString(), 0, 9) == 'nodeinfo/') {
|
||||
$this->response->setHeader('*', 'Access-Control-Allow-Origin');
|
||||
$this->response->setHeader('*', 'Access-Control-Allow-Headers');
|
||||
$this->response->setHeader(Router::GET, 'Access-Control-Allow-Methods');
|
||||
$this->response->setHeader('false', 'Access-Control-Allow-Credentials');
|
||||
} elseif (substr($this->args->getQueryString(), 0, 8) == 'profile/') {
|
||||
$this->response->setHeader('*', 'Access-Control-Allow-Origin');
|
||||
$this->response->setHeader('*', 'Access-Control-Allow-Headers');
|
||||
|
@ -239,8 +234,7 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
|
||||
$timestamp = microtime(true);
|
||||
// "rawContent" is especially meant for technical endpoints.
|
||||
// This endpoint doesn't need any theme initialization or
|
||||
// templating and is expected to exit on its own if it is set.
|
||||
// This endpoint doesn't need any theme initialization or other comparable stuff.
|
||||
$this->rawContent($request);
|
||||
|
||||
try {
|
||||
|
@ -462,76 +456,4 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
|
||||
return $tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function adds the content and a content-type HTTP header to the output.
|
||||
* After finishing the process is getting killed.
|
||||
*
|
||||
* @param string $content
|
||||
* @param string $type
|
||||
* @param string|null $content_type
|
||||
* @return void
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function httpExit(string $content, string $type = Response::TYPE_HTML, ?string $content_type = null)
|
||||
{
|
||||
$this->response->setType($type, $content_type);
|
||||
$this->response->addContent($content);
|
||||
System::echoResponse($this->response->generate());
|
||||
|
||||
System::exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP status header and exit.
|
||||
*
|
||||
* @param integer $httpCode HTTP status result value
|
||||
* @param string $message Error message. Optional.
|
||||
* @param mixed $content Response body. Optional.
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function httpError(int $httpCode, string $message = '', $content = '')
|
||||
{
|
||||
if ($httpCode >= 400) {
|
||||
$this->logger->debug('Exit with error', ['code' => $httpCode, 'message' => $message, 'method' => $this->args->getMethod(), 'agent' => $this->server['HTTP_USER_AGENT'] ?? '']);
|
||||
}
|
||||
|
||||
$this->response->setStatus($httpCode, $message);
|
||||
|
||||
$this->httpExit($content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the response using JSON to encode the content
|
||||
*
|
||||
* @param mixed $content
|
||||
* @param string $content_type
|
||||
* @param int $options A combination of json_encode() binary flags
|
||||
* @return void
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @see json_encode()
|
||||
*/
|
||||
public function jsonExit($content, string $content_type = 'application/json', int $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)
|
||||
{
|
||||
$this->httpExit(json_encode($content, $options), ICanCreateResponses::TYPE_JSON, $content_type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a non-200 HTTP code response using JSON to encode the content and exit
|
||||
*
|
||||
* @param int $httpCode
|
||||
* @param mixed $content
|
||||
* @param string $content_type
|
||||
* @return void
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function jsonError(int $httpCode, $content, string $content_type = 'application/json')
|
||||
{
|
||||
if ($httpCode >= 400) {
|
||||
$this->logger->debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'method' => $this->args->getMethod(), 'agent' => $this->server['HTTP_USER_AGENT'] ?? '']);
|
||||
}
|
||||
|
||||
$this->response->setStatus($httpCode);
|
||||
$this->jsonExit($content, $content_type);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
@ -70,7 +70,7 @@ interface ICanCreateResponses
|
|||
*
|
||||
* @throws InternalServerErrorException
|
||||
*/
|
||||
public function setType(string $type = ICanCreateResponses::TYPE_HTML, ?string $content_type = null): void;
|
||||
public function setType(string $type, ?string $content_type = null): void;
|
||||
|
||||
/**
|
||||
* Sets the status and the reason for the response
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2024, the Friendica project
|
||||
* @copyright Copyright (C) 2010-2023, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue