Compare commits

..

2108 commits

Author SHA1 Message Date
Philipp
e3a00dfa8d
Merge pull request #14913 from Art4/rework-addon-class
Some checks failed
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Has been cancelled
Code Quality / PHPStan (PHP 8.4) (push) Has been cancelled
Code Quality / PHPStan in addons (PHP 8.4) (push) Has been cancelled
Code Quality / PHPMD (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.5) (push) Has been cancelled
CI tests / Database-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.5) (push) Has been cancelled
Deprecate `Friendica\Core\Addon` class
2025-06-06 08:20:32 +02:00
Art4
8083fb6f8e recreate lang 2025-06-04 10:40:04 +00:00
Art4
bec89a822a Remove debug statement 2025-06-04 09:27:29 +00:00
Art4
f1143105d2 Let AddonHelper::getAddonInfo() throw exception on invalid addons 2025-06-04 09:26:38 +00:00
Art4
ab3e54f0e1 check type for matches 2025-06-04 06:51:35 +00:00
Art4
1723417f43 Merge branch 'develop' into rework-addon-class 2025-06-04 06:27:08 +00:00
Michael Vogel
fce04bfa5c
Merge pull request #14955 from mf-fx/new_contact_placeholder_text
Some checks failed
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Has been cancelled
Code Quality / PHPStan (PHP 8.4) (push) Has been cancelled
Code Quality / PHPStan in addons (PHP 8.4) (push) Has been cancelled
Code Quality / PHPMD (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Unit-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.5) (push) Has been cancelled
CI tests / Database-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.5) (push) Has been cancelled
Shorten placeholder text for adding a new contact
2025-06-03 20:51:53 +02:00
Marcus Funch
02f6bb1256 Shorten placeholder text for adding a new contact
...so it actually fits the size of the search box
2025-06-03 20:17:48 +02:00
Michael Vogel
2e9e5715cc
Merge pull request #14953 from mf-fx/main_menu_user_vertical_alignment
Some checks are pending
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Waiting to run
Code Quality / PHPStan (PHP 8.4) (push) Waiting to run
Code Quality / PHPStan in addons (PHP 8.4) (push) Waiting to run
Code Quality / PHPMD (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 7.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.0) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.1) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.2) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.3) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.5) (push) Waiting to run
CI tests / Database-Tests (PHP 7.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.0) (push) Waiting to run
CI tests / Database-Tests (PHP 8.1) (push) Waiting to run
CI tests / Database-Tests (PHP 8.2) (push) Waiting to run
CI tests / Database-Tests (PHP 8.3) (push) Waiting to run
CI tests / Database-Tests (PHP 8.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.5) (push) Waiting to run
Frio (Bookface): Fix vertical alignment in the main menu (user menu)
2025-06-03 10:07:01 +02:00
Michael Vogel
f6333d38e1
Merge pull request #14963 from mf-fx/replace_no_messages_notification_by_text
Some checks are pending
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Waiting to run
Code Quality / PHPStan (PHP 8.4) (push) Waiting to run
Code Quality / PHPStan in addons (PHP 8.4) (push) Waiting to run
Code Quality / PHPMD (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 7.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.0) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.1) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.2) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.3) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.5) (push) Waiting to run
CI tests / Database-Tests (PHP 7.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.0) (push) Waiting to run
CI tests / Database-Tests (PHP 8.1) (push) Waiting to run
CI tests / Database-Tests (PHP 8.2) (push) Waiting to run
CI tests / Database-Tests (PHP 8.3) (push) Waiting to run
CI tests / Database-Tests (PHP 8.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.5) (push) Waiting to run
Replace fleeting 'No messages' notification with regular text
2025-06-03 05:45:15 +02:00
Marcus Funch
69dd232ee8 Make PHPCS happy 2025-06-02 21:35:32 +02:00
Marcus Funch
3e8080d67d Replace fleeting 'No messages' notification with regular text 2025-06-02 19:23:07 +02:00
Michael Vogel
f32cb5c0dc
Merge pull request #14956 from mf-fx/page_specific_title_before_sitename
Some checks failed
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Has been cancelled
Code Quality / PHPStan (PHP 8.4) (push) Has been cancelled
Code Quality / PHPStan in addons (PHP 8.4) (push) Has been cancelled
Code Quality / PHPMD (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.5) (push) Has been cancelled
CI tests / Database-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.5) (push) Has been cancelled
Show page-specific title before site name
2025-06-01 12:48:22 +02:00
Michael Vogel
dfe86ee677
Merge pull request #14954 from mf-fx/search_button_alignment
Frio: Fix vertical alignment of overlayed submit buttons
2025-06-01 12:41:27 +02:00
Philipp
3e3f49219d
Merge pull request #14945 from annando/jetstream
Some checks are pending
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Waiting to run
Code Quality / PHPStan (PHP 8.4) (push) Waiting to run
Code Quality / PHPStan in addons (PHP 8.4) (push) Waiting to run
Code Quality / PHPMD (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 7.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.0) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.1) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.2) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.3) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.5) (push) Waiting to run
CI tests / Database-Tests (PHP 7.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.0) (push) Waiting to run
CI tests / Database-Tests (PHP 8.1) (push) Waiting to run
CI tests / Database-Tests (PHP 8.2) (push) Waiting to run
CI tests / Database-Tests (PHP 8.3) (push) Waiting to run
CI tests / Database-Tests (PHP 8.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.5) (push) Waiting to run
Avoid warnings in the Jetstream process
2025-06-01 11:17:51 +02:00
Michael
497798b455 Warning handler removed 2025-06-01 04:27:52 +00:00
Marcus Funch
441584b0d1 Show page-specific title before site name 2025-05-31 21:01:15 +02:00
Marcus Funch
130ae2d773 Fix vertical alignment of search button 2025-05-31 19:29:25 +02:00
Marcus Funch
9a1470d2a4 Frio bookface: Fix vertical alignment in the main menu (user menu) 2025-05-31 18:37:09 +02:00
Michael
3883bdf96f Updated PHP package 2025-05-30 05:55:18 +00:00
Philipp
544b926c9e
Merge pull request #14946 from haheute/youtube-links-mobile
Some checks failed
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Has been cancelled
Code Quality / PHPStan (PHP 8.4) (push) Has been cancelled
Code Quality / PHPStan in addons (PHP 8.4) (push) Has been cancelled
Code Quality / PHPMD (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Unit-Tests (PHP 8.5) (push) Has been cancelled
CI tests / Database-Tests (PHP 7.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.0) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.1) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.2) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.3) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.4) (push) Has been cancelled
CI tests / Database-Tests (PHP 8.5) (push) Has been cancelled
Support YouTube mobile links
2025-05-29 20:54:16 +02:00
Hannes Heute
3c4ae5a124 fix tests.. again 2025-05-29 20:48:22 +02:00
Philipp
167ac1ec0f
Merge pull request #14908 from randompenguin1/develop
Some checks are pending
Code Quality / PHP-CS-Fixer (PHP 8.3) (push) Waiting to run
Code Quality / PHPStan (PHP 8.4) (push) Waiting to run
Code Quality / PHPStan in addons (PHP 8.4) (push) Waiting to run
Code Quality / PHPMD (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 7.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.0) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.1) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.2) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.3) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.4) (push) Waiting to run
CI tests / Unit-Tests (PHP 8.5) (push) Waiting to run
CI tests / Database-Tests (PHP 7.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.0) (push) Waiting to run
CI tests / Database-Tests (PHP 8.1) (push) Waiting to run
CI tests / Database-Tests (PHP 8.2) (push) Waiting to run
CI tests / Database-Tests (PHP 8.3) (push) Waiting to run
CI tests / Database-Tests (PHP 8.4) (push) Waiting to run
CI tests / Database-Tests (PHP 8.5) (push) Waiting to run
Strip HTML tags from content sent as Markdown
2025-05-29 19:27:51 +02:00
Philipp
c1620f9a62
Merge pull request #14941 from cluster15/develop
Added casts to binary for regexp comparison in mysql to solve issue #14914
2025-05-29 19:17:37 +02:00
Philipp
f2ee3602ac
Fix PHP-CS 2025-05-29 19:14:43 +02:00
Philipp
7ca99aa194
Merge remote-tracking branch 'origin/develop' into develop.randompenguin1 2025-05-29 19:11:42 +02:00
Philipp
3bd6335fa6
Add test 2025-05-29 19:11:24 +02:00
Philipp
3def76649b
Fix PHP-CS 2025-05-29 19:06:13 +02:00
Michael
2e701df21a Avoid warnings in the Jetstream process 2025-05-29 04:35:31 +00:00
Hannes Heute
1e818053f6 fix test 2025-05-28 20:53:39 +02:00
Hannes Heute
8be3c2bc99 Support YouTube mobile links 2025-05-28 20:31:36 +02:00
Philipp
dc0dee77d0
Merge pull request #14940 from haheute/support-youtube-without-www
Support YouTube links without www
2025-05-25 22:28:43 +02:00
Philipp
5c6b7d9293
Fix PHP-CS 2025-05-25 22:22:53 +02:00
Philipp
592eede9cd
Merge pull request #14887 from mf-fx/fix_typo
Fix typos
2025-05-25 19:35:20 +02:00
Philipp
69ee39b725
Add tests 2025-05-25 19:17:17 +02:00
Philipp
415e7b5f8b
Merge pull request #14942 from annando/clean-input
Clean input values
2025-05-25 10:10:59 +02:00
Philipp
5e1755dc8f
Merge pull request #14943 from annando/warnings
Fix some warnings
2025-05-25 09:56:46 +02:00
Michael
2335af9bf2 Fix some warnings 2025-05-24 19:13:18 +00:00
Michael
0db3d4a70f Clean input values 2025-05-24 19:08:35 +00:00
cluster15
6e84c0ade7 Added casts to binary for regexp comparison in mysql. mysql rejects comparison of UTF with binary strings.
see https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-22.html#mysqld-8-0-22-feature
The SQL statements also work for mariadb.
2025-05-23 09:56:28 +02:00
Hannes Heute
423ab06010 escape the dots 2025-05-22 02:10:10 +02:00
Hannes Heute
978dda0b4e same order (watch, embed, shorts) 2025-05-20 22:54:00 +02:00
Hannes Heute
70e57b54c3 Support YouTube links without www. 2025-05-20 22:16:18 +02:00
Art4
da413283da Remove function call of global namespace 2025-05-20 12:06:01 +00:00
Philipp
8e0a3d00bb
Merge pull request #14892 from annando/reshare-profile
Use alias for profile link in reshare
2025-05-18 16:07:22 +02:00
Michael
35ae7278f7 Added test 2025-05-18 13:35:25 +00:00
Michael
3af5caa950 Use alias for profile link in reshare 2025-05-18 10:53:14 +00:00
Marcus Funch
78d28ae24b Add translations for fixed typos in Conversation.php, Create.php, Channels.php 2025-05-17 22:03:09 +02:00
Michael Vogel
f49172e9c0
Merge pull request #14927 from nupplaphil/dependabot/composer/guzzlehttp/oauth-subscriber-0.8.1
Bump guzzlehttp/oauth-subscriber from 0.6.0 to 0.8.1
2025-05-17 17:45:27 +02:00
Michael Vogel
6cad772abd
Merge pull request #14928 from nupplaphil/dependabot/composer/smarty/smarty-4.5.3
Bump smarty/smarty from 4.5.1 to 4.5.3
2025-05-17 17:44:24 +02:00
Michael Vogel
777fc8615c
Merge pull request #14926 from nupplaphil/fix/item_html_empy
Fix empty HTML content loading (500)
2025-05-17 17:39:46 +02:00
Art4
0078423b48 Ignore hidden addon folders 2025-05-16 08:46:16 +00:00
Art4
638496e553 Hard deprecate Friendica\Core\Addon class 2025-05-15 07:34:17 +00:00
Art4
7b7d542c8f Remove unused AddonProxy class 2025-05-15 07:33:50 +00:00
Art4
6b71010de6 Remove debug line from #14931 2025-05-15 07:23:37 +00:00
Art4
7f55714296 Replace AddonProxy with AddonManagerHelper 2025-05-15 07:18:34 +00:00
Art4
44c8cd118c Fix code style 2025-05-15 07:15:23 +00:00
Art4
075e9eaaa9 Replace test addon with vfs files 2025-05-15 07:14:11 +00:00
Art4
367f7bd377 Remove unused AddonProxy 2025-05-15 07:00:36 +00:00
Art4
5cf2b7d7bd Implement reloadAddons() 2025-05-15 06:59:37 +00:00
Philipp
0165e22064
Merge pull request #14933 from haheute/fix-photo-tag-remove-redirect
Fix redirect for photo remove tag page and only show the link if tags…
2025-05-14 20:16:44 +02:00
Hannes Heute
58ac3fbb29 Fix redirect for photo remove tag page and only show the link if tags exist. 2025-05-14 18:47:15 +02:00
Art4
33398298d5 Implement uninstallAddon 2025-05-14 14:54:14 +00:00
Art4
a39850871e Implement installAddon 2025-05-14 11:37:47 +00:00
Art4
88dcd755a9 Replace glob() with stream safe alternative scandir() 2025-05-14 09:52:33 +00:00
Art4
5f7de9d028 remove name parameter 2025-05-14 08:20:49 +00:00
Art4
08b60c2558 Merge branch 'develop' into rework-addon-class 2025-05-14 07:53:31 +00:00
Art4
8b40d65e6c Implement getAvailableAddons 2025-05-14 07:52:53 +00:00
Philipp
2475095da0
Merge pull request #14931 from Art4/remove-dependency-from-addon-class
Move contact fetching into module
2025-05-14 09:01:50 +02:00
Philipp
292b55ede6
Merge pull request #14932 from Art4/fix-14930
Add missing EventDispatcher dependency in Profile module
2025-05-13 20:03:10 +02:00
Art4
0599801b37 implement getVisibleEnablesAddons and getEnabledAddonsWithAdminSettings 2025-05-13 14:16:10 +00:00
Art4
93a171765a Implement loading addons in AddonManagerHelper 2025-05-13 14:04:57 +00:00
Art4
20d9855101 Add EventDispatcher dependency in Profile Module 2025-05-13 12:01:51 +00:00
Art4
f97b01a69a move contact fetching into admin module 2025-05-13 11:26:05 +00:00
Art4
e2a2cf5d6e Create AddonManagerHelper 2025-05-13 10:48:41 +00:00
Art4
6a058793f0 Fix warning if author or maintainer is missing in addon info 2025-05-13 08:14:09 +00:00
Art4
d88119139f Merge branch 'develop' into rework-addon-class 2025-05-13 07:06:09 +00:00
Philipp
3481c3ad15
Merge pull request #14853 from Art4/eventdispatcher-part3
Replace Hooks with EventDispatcher Part 3
2025-05-13 08:32:27 +02:00
Art4
02fae146e6 Fix code style 2025-05-13 06:18:41 +00:00
Art4
b2bbcc4965 Fix PHPStan errors 2025-05-13 06:12:16 +00:00
Art4
ea172010f8 Merge branch 'develop' into eventdispatcher-part3 2025-05-12 14:32:53 +00:00
Philipp
054a280d33
Fix PHP-CS 2025-05-11 11:37:09 +02:00
Philipp
3a257b6172
Fix 500 error 2025-05-11 11:23:25 +02:00
dependabot[bot]
09668d5e56
Bump smarty/smarty from 4.5.1 to 4.5.3
Bumps [smarty/smarty](https://github.com/smarty-php/smarty) from 4.5.1 to 4.5.3.
- [Release notes](https://github.com/smarty-php/smarty/releases)
- [Changelog](https://github.com/smarty-php/smarty/blob/v4.5.3/CHANGELOG.md)
- [Commits](https://github.com/smarty-php/smarty/compare/v4.5.1...v4.5.3)

---
updated-dependencies:
- dependency-name: smarty/smarty
  dependency-version: 4.5.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-11 09:21:51 +00:00
dependabot[bot]
2fd374caeb
Bump guzzlehttp/oauth-subscriber from 0.6.0 to 0.8.1
Bumps [guzzlehttp/oauth-subscriber](https://github.com/guzzle/oauth-subscriber) from 0.6.0 to 0.8.1.
- [Release notes](https://github.com/guzzle/oauth-subscriber/releases)
- [Changelog](https://github.com/guzzle/oauth-subscriber/blob/0.8/CHANGELOG.md)
- [Commits](https://github.com/guzzle/oauth-subscriber/compare/0.6.0...0.8.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/oauth-subscriber
  dependency-version: 0.8.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-11 09:21:48 +00:00
Philipp
a4d4e199c1
Merge pull request #14830 from Art4/phpstan-level-3
Phpstan level 3
2025-05-11 01:22:11 +02:00
Art4
dfa1f52ad6 Merge branch 'develop' into eventdispatcher-part3 2025-05-09 06:56:17 +00:00
Art4
19d7d2f345 Merge branch 'develop' into rework-addon-class 2025-05-09 06:50:55 +00:00
Art4
ed5de437be Fix PHPStan errors 2025-05-09 06:40:49 +00:00
Art4
63558f92eb Merge branch 'develop' into phpstan-level-3 2025-05-09 06:29:29 +00:00
Michael Vogel
4d879781c2
Merge pull request #14904 from nupplaphil/feat/stats_caching
Add Caching statistics
2025-05-04 07:41:45 +05:30
Philipp
b38c754446
Merge pull request #14891 from annando/issue-14890
Issue 14890: Translate page titles
2025-05-03 21:57:55 +02:00
Philipp
2b00d1b2d0
Merge pull request #14871 from MrPetovan/task/obsolete-urlpath
Remove remaining references of unused urlpath config key
2025-05-03 21:56:17 +02:00
Philipp
db1f7164b8
Merge remote-tracking branch 'origin/develop' into issue-14890 2025-05-03 21:51:48 +02:00
Philipp
b782ff6e22
Merge remote-tracking branch 'origin/develop' into task/obsolete-urlpath 2025-05-03 21:48:32 +02:00
Philipp
0f7c739470
Update BaseURL.php
Fix PHP-CS
2025-05-03 21:39:58 +02:00
Philipp
024b136cdd
Merge pull request #14915 from haheute/calendar-default-view-mode
Make the calendar use the default view mode
2025-05-03 21:34:29 +02:00
Philipp
38e89b152c
Merge pull request #14909 from Art4/replace-addon-class-with-addonhelper
Replace Addon class with AddonHelper
2025-05-03 21:18:31 +02:00
Philipp
351bc94d06
Merge pull request #14889 from annando/contact-refresh
Bluesky: Update actors regularly
2025-05-03 21:16:09 +02:00
Hannes Heute
581dec10eb indentation 2025-05-02 01:36:37 +02:00
Hannes Heute
a784428f85 make calendar use the default view mode 2025-05-01 22:40:16 +02:00
Philipp
d1b8f31fe8
Merge pull request #14888 from mf-fx/trending_tags_missing_translations
Add missing translations to trending tags
2025-05-01 09:30:58 +02:00
Marcus Funch
42b411788a Add missing translations to trending tags 2025-04-30 20:28:29 +02:00
Art4
4b9a674659 Implement parsing of addon files to AddonInfo 2025-04-29 13:59:58 +00:00
Art4
baaec75bfc fix code style 2025-04-28 14:12:27 +00:00
Art4
362b223c5e Replace Addon class with AddonHelper in vier theme 2025-04-28 14:10:32 +00:00
Art4
f5eee2c334 Replace Addon class with AddonHelper in Post Object 2025-04-28 14:07:20 +00:00
Art4
2ccb62bbd8 Replace Addon class with AddonHelper in Nodeinfo Model 2025-04-28 13:57:21 +00:00
Art4
2e50e93872 Replace Addon class with AddonHelper in stats modules 2025-04-28 13:32:18 +00:00
Art4
d6b072477d Merge branch 'develop' into phpstan-level-3 2025-04-28 11:44:30 +00:00
Art4
ec16994738 Merge branch 'develop' into eventdispatcher-part3 2025-04-28 11:02:09 +00:00
Philipp
c6c6640b81
Fixup woodpecker 2025-04-27 23:20:08 +02:00
Philipp
7b39b3b9c0
Mak PHPCS happy 2025-04-27 21:26:52 +02:00
Philipp
03cfa2d066
Add doc 2025-04-27 21:26:50 +02:00
Philipp
c92d239091
fix test 2025-04-27 21:26:49 +02:00
Philipp
b222aa0c48
Add a bunch of tests for StatsCaching 2025-04-27 21:26:48 +02:00
Philipp
892fa595da
Make PHPCS happy - again 2025-04-27 21:26:47 +02:00
Philipp
5969576585
Add missing license 2025-04-27 21:26:45 +02:00
Philipp
50c720688b
Make PHPCS happy 2025-04-27 21:26:44 +02:00
Philipp
a20828f618
Add Caching stats 2025-04-27 21:26:43 +02:00
Philipp
01296e98f9
Add getStats() method for MemoryCaches 2025-04-27 21:26:28 +02:00
Philipp
ffb621f0e4
Merge pull request #14882 from Art4/refractor-logger-factories
Rework logger factories
2025-04-27 02:15:48 +02:00
Random Penguin
403b0672e6
Strip HTML tags from content sent as Markdown
The "toMarkdown" function prepares content to be sent, primarily, to Diaspora.

The HTML to Markdown converter by default "preserves HTML tags without Markdown equivalents like <span> and <div>." At least according to the README in /friendica/vendor/league/html-to-markdown/ - which also says "To strip HTML tags that don’t have a Markdown equivalent while preserving the content inside them, set strip_tags..."

Diaspora, however, does not appear to know what to DO with the HTML sent to it. It actually appears to encode the HTML and displays the code in the post body rather than rendering it as HTML. In which case it would make more sense to strip out all tags that have no Markdown equivalents.
Example
The post as sent from Friendica mixed BBcode and Markdown:
[class=postbox-ocean]Norddeutscher Bürger ![Noddeutscher Bürger - Bismark Brötchen (Roger Cziwerny - pixapay)](/rscamo/……)[/class]
The BBcode gets converted into an HTML <span> tag. 

It also looks like Diaspora encoded the Markdown for the image rather than parsing it, or at the very least didn't parse it as Markdown. Yet another reason to strip out HTML that has no Markdown equivalents. It looks like it may be encoding the tags and the content inside the tags.

And, yes, I'm aware the [class] BBcode was marked as "deprecated" in the Friendica code, but it's the only way my Bookface scheme for the "Frio" theme could implement both profile "Cover Photos" and "Postboxes." Which won't display to other platforms anyway, so I don't want to see this custom BBcode removed, I just think it needs to be stripped out before content is delivered to other platforms.

(There is a related issue with Hubzilla where the raw BBcode is coming through unparsed because the [class] code apparently does not exist in Hubzilla's BBcodes. But I've no clue where or how to fix that in Friendica or if it can be as it may need to be handled on Hubzilla's end).
2025-04-26 16:44:14 -05:00
Michael Vogel
102db4fca0
Merge pull request #14907 from mf-fx/frio_fix_tooltips_positions_scroll
Frio: Fix bug making navigation tooltips disappear after scroll
2025-04-26 08:23:53 +02:00
Marcus Funch
f840d1f582 Frio: Fix bug making navigation tooltips disappear after scroll 2025-04-26 00:49:55 +02:00
Random Penguin
09c6061810
Strip HTML tags from content sent as Markdown
The "toMarkdown" function prepares content to be sent, primarily, to Diaspora.

The HTML to Markdown converter by default "preserves HTML tags without Markdown equivalents like `<span>` and `<div>.`" At least according to the README in _/friendica/vendor/league/html-to-markdown/_ - which also says "To strip HTML tags that don’t have a Markdown equivalent while preserving the content inside them, set strip_tags..."

Diaspora, however, does not appear to know what to DO with the HTML sent to it. It actually appears to _encode_ the HTML and displays the *code* in the post body rather than rendering it as HTML. In which case it would make more sense to strip out all tags that have no Markdown equivalents.
2025-04-20 12:05:26 -05:00
Michael
85e5dfc8cf Issue 14890: Translate page titles 2025-04-18 03:45:04 +00:00
Michael
cd73f6a27b Bluesky: Update actors regularly 2025-04-17 20:13:03 +00:00
Hypolite Petovan
cd3d412a59
Merge pull request #14885 from annando/bluesky-profile-links
Bluesky: use did based profile links
2025-04-17 00:00:01 -04:00
Hypolite Petovan
7dc681d18c
Merge pull request #14883 from annando/issue-14881
Issue 14881: Fixed language detection for danish
2025-04-16 23:58:58 -04:00
Michael
37d324e63b Bluesky: use did based profile links 2025-04-16 04:13:09 +00:00
Art4
fa58d8b11a Fix compat with PHP 7.4 2025-04-15 06:11:17 +00:00
Michael
cc4ff9584f Fixed codestyle 2025-04-15 02:09:19 +00:00
Michael
e7bd6e7663 Issue 14881: Fixed language detection for danish 2025-04-15 02:03:35 +00:00
Art4
32b657b793 fix code style 2025-04-14 15:06:30 +00:00
Art4
60ad014a6e Hard-deprecation for now unused factory classes 2025-04-14 14:51:52 +00:00
Art4
d410758cdd Remove obsolet LegacyLoggerFactory 2025-04-14 14:40:44 +00:00
Art4
c0065a68b3 Set new factories as internal 2025-04-14 14:39:39 +00:00
Art4
fc1d8e92f3 Fix code style 2025-04-14 14:38:49 +00:00
Art4
af29baf11e deprecate value monolog for config system.logger_config 2025-04-14 14:36:46 +00:00
Art4
6b36d3e87f Replace LegacyLoggerFactory with DelegatingLoggerFactory 2025-04-14 13:54:48 +00:00
Art4
8fb2fae841 Create DelegatingLoggerFactory 2025-04-14 12:58:15 +00:00
Art4
252b3980d0 Deprecate SyslogLogger factory in favour of SyslogLoggerFactory 2025-04-14 10:47:11 +00:00
Art4
0cec451497 Create SyslogLoggerFactory 2025-04-14 10:36:12 +00:00
Art4
0b41eb1528 Deprecate StreamLogger factory in favour of StreamLoggerFactory 2025-04-14 08:05:43 +00:00
Art4
77269f52eb Create StreamLoggerFactory with tests 2025-04-14 08:00:31 +00:00
Art4
65624e2c19 Create FileSystemUtil interface 2025-04-14 07:14:31 +00:00
Art4
2e672414b3 Fix compat with PHP 7.4 2025-04-11 08:38:30 +00:00
Art4
f1abd57356 Fix compat with PHP 7.4 2025-04-11 08:32:05 +00:00
Art4
2a7d329c52 Create event for profile_edit and profile_post hooks 2025-04-11 08:21:29 +00:00
Art4
c436f5249b Create events for enotify hooks 2025-04-11 07:46:48 +00:00
Art4
7531a2fb36 Create event for acl_lookup_end hook 2025-04-11 06:55:51 +00:00
Art4
531a47f7cb Merge branch 'develop' into eventdispatcher-part3 2025-04-10 14:37:40 +00:00
Art4
3ea20e9eee create event for profile_advanced hook 2025-04-10 14:36:57 +00:00
Art4
86ebbecff5 Create event for photo upload hooks 2025-04-10 14:17:20 +00:00
Hypolite Petovan
83f561ea49
Merge pull request #14880 from Art4/log-exceptions-as-critical
Log uncaught exceptions as critical
2025-04-10 10:06:27 -04:00
Art4
7bfd42ac55 log uncaught exceptions as critical 2025-04-10 11:18:38 +00:00
Art4
8ebbe8141a Merge branch 'develop' into eventdispatcher-part3 2025-04-10 11:14:16 +00:00
Art4
39439fe26b Fix missing dependency for EventDispatcher 2025-04-10 11:13:43 +00:00
Art4
ff3c4046e0 Create event for lockview_content hook 2025-04-10 11:04:10 +00:00
Art4
f08aef86f1 set EventDispatcher via constructor injection 2025-04-09 14:38:54 +00:00
Art4
2a7ebc860c Create event for moderation_users_tabs hook 2025-04-09 14:25:00 +00:00
Art4
a34a93c0b9 Create events for networt_tabs and network_content_init hooks 2025-04-02 12:41:22 +00:00
Hypolite Petovan
507897eec1
Merge pull request #14873 from annando/issue-14800-2
Fix blurred images
2025-03-31 17:49:30 -04:00
Michael
6cab9c010d Fix blurred images 2025-03-31 20:38:37 +00:00
Hypolite Petovan
43f67dd2a2
Merge pull request #14870 from annando/issue-14800
Added more logging to track down issue 14800
2025-03-29 16:10:25 -04:00
Hypolite Petovan
fb8cc06ce2 Remove remaining references of unused urlpath config key 2025-03-29 15:45:59 -04:00
Michael
5c1b5bae61 Added more logging to track down issue 14800 2025-03-29 09:07:11 +00:00
Art4
584e7e05b0 Create events for contact_edit and contact_edit_post hooks 2025-03-28 08:31:18 +00:00
Art4
e4cb372760 Create events for register_form and register_post hook 2025-03-26 08:58:23 +00:00
Art4
27e474c83c create event for parse_link hook 2025-03-26 08:30:20 +00:00
Art4
a9b36f55c9 Create event for home_content hook 2025-03-25 15:57:26 +00:00
Art4
a9f02bfef5 Create event for about_hook hook 2025-03-25 12:26:40 +00:00
Art4
88929bb307 Create event for directory_item hook 2025-03-24 13:31:53 +00:00
Art4
20a1d22620 Create event for profile_tabs hook 2025-03-24 12:41:40 +00:00
Art4
f0273a618c Create event for check_item_notification hook 2025-03-24 12:28:22 +00:00
Art4
76c3eeb96e Register hooks as event listener in API tests 2025-03-24 08:54:38 +00:00
Art4
90db7d2e65 Create events for authenticate, register_account and remove_user hooks 2025-03-20 14:59:47 +00:00
Michael Vogel
cf56aa3a64
Merge pull request #14852 from MrPetovan/bug/warnings
Add support for more datetime formats
2025-03-19 04:32:31 +01:00
Hypolite Petovan
fdadf646c4
Merge pull request #14862 from annando/fixcontacts
Add missing public contacts and account-user entries
2025-03-18 19:29:51 -04:00
Hypolite Petovan
dde6722c5b
Merge pull request #14860 from annando/backfill
Improved support for backfilled posts
2025-03-18 19:29:00 -04:00
Hypolite Petovan
47e4bad151 Fix formatting in DateTimeFormatTest 2025-03-18 19:07:25 -04:00
Hypolite Petovan
6f159e69be Add support for more datetime formats
- Unix Timestamp
- RFC 3339 extended + timezone name in square brackets
- Address https://github.com/friendica/friendica/issues/14647#issuecomment-2719430131
2025-03-18 19:01:42 -04:00
Art4
9822dd25d8 Wrap item in INSERT_POST_LOCAL_END into separate array 2025-03-18 14:21:31 +00:00
Michael
fcb8892e2f Add missing public contacts and account-user entries 2025-03-18 05:33:01 +00:00
Art4
1ddd5674e1 Wrap item in INSERT_POST_LOCAL in separate array 2025-03-17 13:08:20 +00:00
Art4
59359f7d9d Create hook for profile_sidebar hooks 2025-03-17 12:20:25 +00:00
Art4
ac8ca35b2b Create event for item_by_link hook 2025-03-17 10:52:37 +00:00
Art4
2276bdcd7e Create event for put_item_in_cache hook 2025-03-17 09:40:27 +00:00
Art4
4a1a1d3ca3 create event for tagged hook 2025-03-17 09:29:49 +00:00
Art4
84148663e2 Create event for detect_languages hook 2025-03-17 09:17:13 +00:00
Art4
d48e491144 Create events for prepare_body hooks 2025-03-17 08:26:45 +00:00
Art4
671eff8884 Merge branch 'develop' into eventdispatcher-part3 2025-03-17 07:41:10 +00:00
Art4
674b6c55de Fix code style 2025-03-17 07:38:53 +00:00
Art4
77e785dd7d Merge branch 'develop' into phpstan-level-3 2025-03-17 07:32:14 +00:00
Michael
2de7034e16 Improved support for backfilled posts 2025-03-15 05:58:58 +00:00
Michael Vogel
0aa350f1c8
Merge pull request #14859 from nupplaphil/feat/woodpecker
[CI] Woodpecker improvements
2025-03-15 06:54:05 +01:00
Philipp
5f70ae9c1e
Avoid deprecated polluting 2025-03-15 00:39:35 +01:00
Philipp
c6fbacd3e8
[CI] avoid safe.directory issues when cloning 2025-03-15 00:18:39 +01:00
Philipp
3121a256e2
Workaround for git.friendi.ca issue -> enforce external access 2025-03-15 00:04:30 +01:00
Philipp
353ad039c8
[CI] Bump PHP versions in woodpecker 2025-03-14 23:53:11 +01:00
Art4
9c6f5f222d Rename events to insert local post 2025-03-14 15:45:36 +00:00
Art4
9aeb68231d Create events for post_remote and post_remote_end hook 2025-03-14 15:35:53 +00:00
Art4
abe35732d8 create event for event_created and event_updated hooks 2025-03-14 14:11:58 +00:00
Art4
68b604812c create event for avatar_lookup hook 2025-03-14 13:31:11 +00:00
Art4
d34861ee96 Create event for contact_photo_menu hook 2025-03-14 13:23:21 +00:00
Art4
9cf0ce0b99 create event for dbview_definition hook 2025-03-14 13:02:39 +00:00
Art4
9e3b0b3c40 Create event for dbstructure_definition hook 2025-03-14 12:24:02 +00:00
Art4
04818781a7 Fix code style 2025-03-14 10:14:23 +00:00
Art4
2c0c87339e add events for storage_config and storage_instance hooks 2025-03-14 10:12:56 +00:00
Art4
8ba652818f let ATProtocol Processor::fetchUriId() return int 2025-03-14 07:50:24 +00:00
Artur Weigandt
b632b1d84e
Update src/Core/Worker/Repository/Process.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-03-13 16:00:34 +01:00
Artur Weigandt
2c87e7e102
Update src/Content/Post/Repository/PostMedia.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-03-13 16:00:25 +01:00
Artur Weigandt
71bef03316
Update src/Content/Conversation/Repository/UserDefinedChannel.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-03-13 16:00:17 +01:00
Artur Weigandt
bdfc87ab0d
Update src/Contact/LocalRelationship/Repository/LocalRelationship.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-03-13 16:00:05 +01:00
Artur Weigandt
cd00a8950f
Update src/Contact/FriendSuggest/Repository/FriendSuggest.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-03-13 15:59:56 +01:00
Art4
2a722b16aa Add event for proc_run hook 2025-03-13 14:50:29 +00:00
Art4
10e4f4bf36 Add events for follow, revoke_follow, block and unblock hooks 2025-03-13 14:02:35 +00:00
Art4
4d96875656 Add event for unfollow hook 2025-03-13 13:42:54 +00:00
Art4
0427812269 Run phpstan in addons with level 3 2025-03-13 12:54:00 +00:00
Art4
b999472ddb Fix possible false return type in PHP 7.4 2025-03-13 12:49:09 +00:00
Art4
bb6a4a3acd fix 14 PHPStan errors in console 2025-03-13 12:37:30 +00:00
Art4
2dfd7c83cf ignore PHPStan error in deprecated code 2025-03-13 12:26:16 +00:00
Art4
a63babc658 Fix 6 PHPStan errors 2025-03-13 12:20:43 +00:00
Art4
441846cfbd Fix return type or UserSession::getUserIDForVisitorContactID() 2025-03-13 11:50:15 +00:00
Art4
7e66b35b46 Fix 10 PHPStan errors 2025-03-13 11:39:02 +00:00
Art4
e1eb6fff83 Deprecate BaseRepository::_selectOne()
set BaseRepository::_selectFirstRowAsArray() as final
2025-03-13 09:18:53 +00:00
Art4
7ce6afd151 Fix 10 PHPStan errors 2025-03-13 09:14:48 +00:00
Art4
9ea4f591c7 Merge branch 'develop' into phpstan-level-3 2025-03-12 15:51:14 +00:00
Art4
268d564930 remove deprecation of BaseCollection::map(), check return type of BaseCollection::map() 2025-03-12 15:50:24 +00:00
Art4
a50383836d Fix 13 PHPStan errors 2025-03-12 15:03:15 +00:00
Art4
bf530a00d7 Fix 2 PHPStan errors 2025-03-12 15:02:50 +00:00
Hypolite Petovan
aeaa488d1b
Merge pull request #14849 from Art4/patch-1
Remove BC promise for extending any non-abstract class
2025-03-12 09:13:48 -04:00
Artur Weigandt
6b7dd7bd12
remove BC for extending any non-abstract class 2025-03-12 11:06:28 +01:00
Michael Vogel
8620b59dcc
Merge pull request #14848 from MrPetovan/bug/warnings
Ward against missing array key in Protocol\Feed
2025-03-11 15:06:59 +01:00
Hypolite Petovan
c1184698ee Ward against missing array key in Protocol\Feed
- Address https://github.com/friendica/friendica/issues/14647#issuecomment-2667306693
2025-03-11 09:15:42 -04:00
Hypolite Petovan
64d85ad86a
Merge pull request #14846 from annando/warning
Add public contact if missing
2025-03-11 09:02:00 -04:00
Michael
24cbfd0953 Fix codestyle 2025-03-11 04:54:16 +00:00
Michael
9e4a69150c Add public contact if missing 2025-03-11 04:51:20 +00:00
Hypolite Petovan
9261b5262c
Merge pull request #14845 from annando/issue-14433
Issue 14433: Display reshared content in feeds
2025-03-10 10:24:49 -04:00
Michael
d990026fb8 Issue 14433: Display reshared content in feeds 2025-03-10 05:15:43 +00:00
Hypolite Petovan
b2f50301f4
Merge pull request #14795 from Art4/deprecate-strategies-via-addons
Deprecate the strategy concept for addons
2025-03-09 20:55:25 -04:00
Hypolite Petovan
ecfb82693d
Merge pull request #14837 from annando/fatal
Fixes fatal error "Return value must be of type Friendica\Object\OEmbed, string returned"
2025-03-08 15:58:37 -05:00
Michael Vogel
f504c9d60a
Merge pull request #14843 from MrPetovan/bug/14828-expireposts-performance
Replace NOT EXIST(SELECT) with LEFT JOIN WHERE IS NULL in ExpirePosts
2025-03-08 17:58:59 +01:00
Hypolite Petovan
4883035f89 Replace NOT EXIST(SELECT) with LEFT JOIN WHERE IS NULL in ExpirePosts
- Improves the query execution plan
2025-03-08 11:23:54 -05:00
Michael
3b5ad05e47 Fixes fatal error "Return value must be of type Friendica\Object\OEmbed, string returned" 2025-03-08 12:11:37 +00:00
Art4
767ac778c9 simplify GServer repository 2025-03-07 13:49:22 +00:00
Art4
38343ee417 Refactor GServer Repository 2025-03-07 13:46:18 +00:00
Art4
eb37bcaa74 Change 500 response to 422 response
see https://github.com/friendica/friendica/pull/14475
2025-03-07 10:50:15 +00:00
Art4
3975491887 Fix upload error handling for media
see https://github.com/friendica/friendica/pull/14475
refs #14475
2025-03-06 11:57:29 +00:00
Art4
77831aaf49 Handle missing attachment with correct response 2025-03-06 09:25:39 +00:00
Michael Vogel
dc3dcb4a36
Merge pull request #14841 from MrPetovan/bug/14801-safari-workaround
[frio] Fix Safari bug where notification icon jumps to next line
2025-03-06 05:02:57 +01:00
Hypolite Petovan
e9dae569cc [frio] Fix Safari bug where notification icon jumps to next line 2025-03-05 19:08:14 -05:00
Art4
6b7dfa34e9 fix 7 PHPStan errors in factoriy and Model 2025-03-05 15:15:18 +00:00
Art4
4ebabd5997 Fix 7 PHPStan errors 2025-03-05 14:27:34 +00:00
Art4
0b162b4429 Merge branch 'develop' into phpstan-level-3 2025-03-05 08:54:57 +00:00
Hypolite Petovan
af17e33d4e
Merge pull request #14835 from annando/api
Improved Mastodon API compatibility
2025-03-04 23:00:06 -05:00
Michael
fc8946cf02 Support for language and publification date 2025-03-02 16:47:21 +00:00
Michael
1ced848827 Fix codestyle 2025-03-01 14:40:50 +00:00
Michael
fb9a20feaa Improved Mastodon API compatibility 2025-03-01 12:38:09 +00:00
Art4
c72d2d44c6 Merge branch 'develop' into phpstan-level-3 2025-02-27 12:48:40 +00:00
Art4
980beb4b1c Use selectToArray() instead of select() and is_iterable() 2025-02-27 12:47:25 +00:00
Artur Weigandt
354d13167e
Update src/Module/Api/Mastodon/Search.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-02-27 12:50:19 +01:00
Hypolite Petovan
afcc5a9205
Merge pull request #14799 from Art4/replace-hooks-with-eventdispatcher
Replace Hooks with EventDispatcher Part 2
2025-02-26 10:42:42 -05:00
Art4
3bc3f5fe4d Fix 2 PHPStan errors 2025-02-26 15:06:57 +00:00
Art4
b6312f1dfc Fix 10 PHPStan errors 2025-02-26 13:00:50 +00:00
Art4
f64660ec25 Deprecate BaseCollection::map() method 2025-02-26 08:15:27 +00:00
Art4
1820bfc2b3 Fix 5 PHPStan errors 2025-02-26 08:11:50 +00:00
Artur Weigandt
21c2c1559b
Update src/Content/OEmbed.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-02-26 08:06:35 +01:00
Art4
35d95b991b Fix 4 PHPStan errors 2025-02-25 15:26:16 +00:00
Art4
8e7676bfd8 Add CI step for PHPStan in addons folder 2025-02-25 14:33:56 +00:00
Art4
fead446624 Split phpstan.neon files for addon checks 2025-02-25 14:29:57 +00:00
Art4
f6ac16d513 Fix 11 PHPStan errors 2025-02-25 14:03:52 +00:00
Art4
cea8cf1f6c Fix 27 PHPStan errors 2025-02-25 13:51:13 +00:00
Art4
c1653877fb fix 17 PHPStan errors 2025-02-25 11:36:32 +00:00
Art4
459ad05137 Refactor DisporaContact Repository, fix PHPStan error 2025-02-25 09:26:08 +00:00
Art4
16cbaf890a Deprecate BaseRepository::_selectOne() 2025-02-25 08:39:31 +00:00
Art4
2254bee74d Refactory PermissionSet Repository, add BaseRepository::_selectFirstRowAsArray() 2025-02-25 08:30:27 +00:00
Art4
83f64b4931 Fix PHPStan error in Security class 2025-02-25 07:59:39 +00:00
Art4
f6d5cd039e Fix 2 PHPStan errors 2025-02-25 07:48:38 +00:00
Art4
ca3d98b9f5 Fix 11 errors 2025-02-24 15:15:26 +00:00
Art4
4546a4af51 Run PHPStan with level 3 2025-02-24 13:17:34 +00:00
Art4
82ea62ba7c Fix code style 2025-02-24 08:42:54 +00:00
Art4
f3a8bcff11 Create Events for protocol support hooks 2025-02-24 08:40:07 +00:00
Art4
f98aee686f Create Event for jot_networks hook 2025-02-22 19:22:23 +00:00
Art4
c66588cc2a Create Event for contact_block_end hook 2025-02-20 08:24:52 +00:00
Art4
27a7735c65 Fix code style 2025-02-17 10:56:04 +00:00
Art4
3d3e34865b Create event for html2bbcode hook 2025-02-17 10:55:05 +00:00
Art4
a94bead5f6 Fix code style 2025-02-17 10:01:25 +00:00
Art4
4f3349f6db Fix Transmitter test 2025-02-17 09:54:33 +00:00
Art4
7366e70a56 Merge branch 'develop' into replace-hooks-with-eventdispatcher 2025-02-17 09:51:21 +00:00
Art4
efd3cb30d1 Fix Mastodon Status tests 2025-02-17 09:49:16 +00:00
Art4
94b47ae4d1 Fix smilies tests 2025-02-17 09:45:04 +00:00
Tobias Diekershoff
3ecae98f86
Merge pull request #14823 from annando/fix-14819
Fixes PR #14819: Add missing index
2025-02-16 16:32:10 +01:00
Michael
c3f2bfaef3 Fixes PR #14819: Add missing index 2025-02-16 10:52:55 +00:00
Tobias Diekershoff
02f693488f
Merge pull request #14820 from annando/exception
Fixes: Uncaught Exception TypeError: "array_merge(): Argument #1 must be of type array, int given"
2025-02-16 10:00:25 +01:00
Michael
48372faec6 Fixes: Uncaught Exception TypeError: "array_merge(): Argument #1 must be of type array, int given" 2025-02-16 05:59:23 +00:00
Hypolite Petovan
c746017cda
Merge pull request #14819 from annando/redirected
Handle redirected servers in server detection.
2025-02-15 19:56:37 -05:00
Michael
1bc2cfa0a1 Fix codestyle 2025-02-15 20:13:21 +00:00
Michael
0025467500 Handle redirected servers in server detection. 2025-02-15 14:43:23 +00:00
Art4
d5f5ebbd8a fix code style 2025-02-14 15:05:12 +00:00
Art4
62d27de3b0 Create events for bbcode hooks 2025-02-14 15:03:29 +00:00
Art4
81b6ed9fc2 fix code style 2025-02-14 13:02:28 +00:00
Art4
a6ab7dd6f1 create event for smilie hook 2025-02-14 13:00:21 +00:00
Art4
0b3915322b Create event for page_info_data hook 2025-02-14 12:26:50 +00:00
Art4
ce4e77fbb6 Fix code style 2025-02-14 12:15:17 +00:00
Art4
b9a401454d Create event for oembed_fetch_url hook 2025-02-14 12:11:17 +00:00
Art4
aff117284b create event for item_photo_menu hook 2025-02-14 10:33:17 +00:00
Art4
b3ef18bed7 create event for render_location hook 2025-02-14 10:19:55 +00:00
Art4
85fceaa16e Remove not needed hook call 2025-02-14 09:47:30 +00:00
Art4
ca3edb866a Create Event for display_item hook 2025-02-14 09:42:57 +00:00
Art4
02976067c3 Fix code style 2025-02-14 08:39:58 +00:00
Art4
d4ba28a997 create event for conversation_start hook 2025-02-14 08:38:59 +00:00
Art4
4bdd5f6bbe Fix code style 2025-02-14 08:14:27 +00:00
Art4
7260f29292 Create Event for jot_tool hook 2025-02-14 08:12:59 +00:00
Art4
674ad96b69 Merge branch 'develop' into replace-hooks-with-eventdispatcher 2025-02-14 07:30:35 +00:00
Art4
134d85b9c1 Fix code style 2025-02-14 07:24:47 +00:00
Art4
3295b9055f Create event for network_to_name hook 2025-02-13 15:29:52 +00:00
Hypolite Petovan
abc38bec75
Merge pull request #14811 from annando/page-language
Set the page language
2025-02-13 10:15:57 -05:00
Michael
cfb9a3a41c Fix codestyle 2025-02-13 06:55:10 +00:00
Michael
23f16df112 Set the page language 2025-02-13 06:47:19 +00:00
Art4
caef97752a Merge branch 'develop' into replace-hooks-with-eventdispatcher 2025-02-12 21:13:24 +00:00
Hypolite Petovan
6e70ad1f0e
Merge pull request #14622 from Art4/introduce-phpmd
Introduce PHPMD
2025-02-12 11:22:26 -05:00
Michael Vogel
912345d469
Merge pull request #14810 from tobiasd/20250212-lng
updated translations
2025-02-12 12:24:59 +01:00
Tobias Diekershoff
22ea08b81b updated translations 2025-02-12 08:10:11 +01:00
Hypolite Petovan
37f09cd0e3
Merge pull request #14808 from MarekBenjamin/patch-1
Added dedicated friendica clients FAQ.md
2025-02-11 11:43:52 -05:00
MarekBenjamin
5f5a98135d
Update doc/FAQ.md
new line for new sentence

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-02-11 17:29:07 +01:00
MarekBenjamin
b2da52fa3b
Added dedicated friendica clients FAQ.md
Added Raccoon for Friendica and Relatic to the list, marked dedicated friendica client in bold
2025-02-11 12:58:58 +01:00
Art4
dd6f479401 Merge branch 'develop' into replace-hooks-with-eventdispatcher 2025-02-11 09:59:13 +00:00
Michael Vogel
8174c36b57
Merge pull request #14807 from Art4/fix-database-structure
Fix database doc
2025-02-11 10:46:10 +01:00
Art4
849cc01e2b Update database doc 2025-02-11 08:58:14 +00:00
Art4
ed467e6eae Add composer script for update db structure 2025-02-11 08:57:56 +00:00
Art4
7d792600b4 Merge branch 'develop' into introduce-phpmd 2025-02-11 07:57:29 +00:00
Hypolite Petovan
4d9b91ac96
Merge pull request #14806 from annando/refresh
Fix refresh after commenting
2025-02-10 22:08:43 -05:00
Michael
98445a14e4 Fix refresh after commenting 2025-02-10 23:46:05 +00:00
Hypolite Petovan
2d2fad981b
Merge pull request #14804 from Art4/fix-deprecation-message
Fix version in deprecation message
2025-02-10 08:54:37 -05:00
Hypolite Petovan
17207dbb67
Merge pull request #14770 from Art4/new-addonproxy
New AddonHelper
2025-02-10 07:53:24 -05:00
Hypolite Petovan
ff342ce5cc
Merge pull request #14805 from Art4/fix-active-tab
Fix active tab
2025-02-10 07:52:22 -05:00
Art4
eeab1144cf Fix active tab 2025-02-10 12:43:16 +00:00
Art4
5aeddcd5e3 Fix version in deprecation message 2025-02-10 07:11:24 +00:00
Hypolite Petovan
6b0a2d1eb9
Merge pull request #14803 from annando/issue-12771
Issue 12771: Fix interrupted video playback
2025-02-09 23:07:32 -05:00
Michael
f3af47ca5b Fix codestyle 2025-02-09 20:24:34 +00:00
Michael
3c3c69dfd8 Issue 12771: Fix interrupted video playback 2025-02-09 20:20:36 +00:00
Art4
23ce65c5d0 Fix code style 2025-02-08 22:00:30 +00:00
Art4
18369854b7 Implement route_collection hook as CollectRoutesEvent 2025-02-08 21:59:28 +00:00
Art4
7298ad29c1 Implement photo_upload_form hook as Event 2025-02-08 21:04:35 +00:00
Art4
f4624b0591 Fix cs 2025-02-08 16:38:01 +00:00
Art4
b1f4184d96 Merge branch 'develop' into replace-hooks-with-eventdispatcher 2025-02-08 16:37:08 +00:00
Art4
742cde89e6 Implement home_init hook as Event 2025-02-08 16:33:07 +00:00
Hypolite Petovan
5e00120465
Merge pull request #14797 from tobiasd/20250208-lng
update translations
2025-02-08 11:24:08 -05:00
Tobias Diekershoff
3439d05fbf update translations 2025-02-08 16:33:37 +01:00
Art4
aabf9a8b01 Replace hooks post_local_start, post_local and post_local_end with EventDispatcher 2025-02-08 08:17:30 +00:00
Art4
649ddf7ab9 Add events for post_local, post_local_start and post_local_end 2025-02-08 07:58:33 +00:00
Art4
c8dd900635 Add deprecation note in docs 2025-02-08 07:01:54 +00:00
Art4
5beeda612a Merge branch 'develop' into deprecate-strategies-via-addons 2025-02-07 15:24:37 +00:00
Art4
1ea2df569e Deprecate strategies via addons 2025-02-07 15:06:11 +00:00
Art4
e5416ca4a9 Deprecate providing LoggerInterface via addon strategies 2025-02-07 14:50:56 +00:00
Hypolite Petovan
10f5f0358a
Merge pull request #14792 from ne20002/issue/288
Followup to #14790
2025-02-06 14:34:37 -05:00
ne20002
6cd92da46c
Fix for PR #14790 2025-02-06 18:23:27 +00:00
ne20002
2ceded19c4
Followup to #14790 - revert to /bin/bash for run_xgettext.sh 2025-02-06 17:53:09 +00:00
Hypolite Petovan
bd65c4d1a8
Merge pull request #14790 from ne20002/issue/288
Downgrade shebang from bin/bash to bin/sh
2025-02-06 12:12:38 -05:00
Hypolite Petovan
87e3d8c790
Merge pull request #14789 from Art4/fix-randomdigits
Fix Crypto::randomDigits()
2025-02-06 11:03:08 -05:00
Hypolite Petovan
5646a8283d
Merge pull request #14788 from Art4/optimize-composer
Add composer script for production installation
2025-02-06 10:59:43 -05:00
ne20002
7812a6d8fe
Downgrade shebang from bin/bash to bin/sh 2025-02-06 09:41:26 +00:00
Art4
006ff7be8f Fix tests 2025-02-06 08:33:18 +00:00
Art4
c7b1961d02 Fix return type of randomDigits 2025-02-06 08:30:05 +00:00
Art4
c6ee2c461c Revert "Refactor Crypto::randomDigits()"
This reverts commit 940884e4bd.
2025-02-06 08:29:14 +00:00
Art4
2cea3203b5 Fix composer path in Vagrant docs 2025-02-06 07:47:51 +00:00
Art4
d71264993d Update docs and scripts to use the correct composer install script 2025-02-06 07:43:52 +00:00
Art4
98f1ae444c Add composer script for install:prod, remove optimization in dev 2025-02-06 07:21:00 +00:00
Tobias Diekershoff
47db6de393
Merge pull request #14787 from annando/issues
Fix notices and missing template variables
2025-02-06 08:02:47 +01:00
Michael
a2e9247936 Fix notices and missing template variables 2025-02-06 05:41:30 +00:00
Hypolite Petovan
91a145106d
Merge pull request #14785 from annando/accessibility-3
Accessibility: Widgets and other menues
2025-02-05 22:38:54 -05:00
Michael
58d1d4c1fb Accessibility: Widgets and other menues 2025-02-05 22:52:39 +00:00
Art4
703024d9b9 Fix namespace in tests 2025-02-05 19:39:35 +00:00
Art4
d086a982f9 Merge branch 'develop' into new-addonproxy 2025-02-05 19:20:27 +00:00
Hypolite Petovan
9e7a527327
Merge pull request #14784 from ne20002/feat/wizard
use env variables in install wizard for values if available
2025-02-05 11:22:31 -05:00
Hypolite Petovan
c77c6140fd
Merge pull request #14779 from annando/issue-14746
Issue 14746: Improved description
2025-02-05 11:08:05 -05:00
Hypolite Petovan
a378a85c04
Merge pull request #14640 from Art4/introduce-eventdispatcher
[EventDispatcher] Proof of concept
2025-02-05 10:42:10 -05:00
ne20002
7f8ac7aaea
use env variables in install wizard for values if available 2025-02-05 14:56:05 +00:00
Michael
22b8be6a8c Fix codestyle 2025-02-05 09:45:46 +00:00
Michael
74bfa7721d Issue 14746: Improved description 2025-02-05 09:38:39 +00:00
Art4
732c32cb0e Fix code style 2025-02-04 19:20:13 +00:00
Art4
9f7774faab Merge branch 'develop' into new-addonproxy 2025-02-04 19:19:16 +00:00
Art4
62f87c13ea Fix test fixture for ConfigFileManager 2025-02-04 19:14:35 +00:00
Art4
f634ec4758 Move HookEventBridge into Friendica\Core\Hooks namespace 2025-02-04 13:23:50 -05:00
Art4
0837ad647a Fix code style 2025-02-04 13:23:50 -05:00
Art4
70a6c6ed01 Change code style 2025-02-04 13:22:55 -05:00
Art4
d9a2d676d2 Replace Hook with EventDispatcher in Feature class 2025-02-04 13:22:55 -05:00
Art4
673fc71c21 Stop calling DI container over and over again 2025-02-04 13:22:54 -05:00
Art4
f3ccd198a4 Replace Hook with EventDispatcher in Feature class 2025-02-04 13:22:54 -05:00
Art4
b9a191f6d8 Replace Hook with EventDispatcher in Content Nav class 2025-02-04 13:22:54 -05:00
Art4
715248d6a2 Add ArrayFilterEvent, replace app_menu hook 2025-02-04 13:22:54 -05:00
Art4
5b28b3d28f Let event classes extending Event 2025-02-04 13:22:53 -05:00
Art4
4cbee618d6 Refactor HookEventBridge 2025-02-04 13:22:53 -05:00
Art4
16fb80be1f Add missing files 2025-02-04 13:22:53 -05:00
Art4
0c406a3696 Create ConfigLoadedEvent 2025-02-04 13:22:53 -05:00
Art4
7e199f034b Create DI::eventDispatcher() where constructor injection is not possible atm 2025-02-04 13:22:53 -05:00
Art4
2a02f58886 Remove unused StaticEventSubscriber interface 2025-02-04 13:22:53 -05:00
Art4
2e660f44f2 Mark new event and eventdispatcher classes as internal 2025-02-04 13:22:52 -05:00
Art4
9e6f77c4b1 EventDispatcher proof of concept 2025-02-04 13:22:52 -05:00
Hypolite Petovan
df17de7ea7
Merge pull request #14749 from MarekBenjamin/bugfix/14748-frio-filer-dialog-colors
Fix filer dialog colors
2025-02-04 13:22:09 -05:00
Hypolite Petovan
23f66d1708 Updated main translation file 2025-02-04 13:20:41 -05:00
Marek Bachmann
01f852a87c Change filer dialog from color box to modal usage 2025-02-04 13:20:33 -05:00
Hypolite Petovan
827541ed86
Merge pull request #14781 from Eduu/covering-index-for-count-queries
Faster count queries when updating the info about current node
2025-02-04 12:54:29 -05:00
Esko Arajärvi
25bb9b12c1 Faster count queries when updating the info about current node
MySQL optimiser seems to prefer a full table scan of `post-user`
table in the count query mentioned in issue #14763. When the origin
and deleted columns are added to the index, the IN-query part of
the query can be done with index-only scan, which is much faster.

Adding the columns in the order

    uri-id, origin, deleted

allows some other queries to also use it when checking
for uri-id and origin.

Fixes #14763
2025-02-04 19:47:31 +02:00
Art4
86516d8b28 Fix code style 2025-02-04 15:21:14 +00:00
Art4
a006aba9d4 Merge branch 'develop' into new-addonproxy 2025-02-04 15:20:01 +00:00
Art4
d8470b68df Replace Addon::DIRECTORY with AddonHelper::getAddonPath() 2025-02-04 15:18:23 +00:00
Art4
4e9276e1c9 Move style logic from Addon class to BaseAdmin module 2025-02-04 14:44:46 +00:00
Art4
8cb48ded4d Remove debug execption 2025-02-04 14:37:29 +00:00
Art4
b0e3f1f64d Fix support for multiple authors and maintainers 2025-02-04 14:35:57 +00:00
Tobias Diekershoff
edbf86449d
Merge pull request #14760 from MrPetovan/bug/warnings
Prioritize coalescing parameters in Moderation\Users\*->processGetActions
2025-02-04 14:59:47 +01:00
Art4
a80bf0ddf1 Simplify AddonHelper::getAvailableAddons(), move style logic into Module class 2025-02-04 13:48:04 +00:00
Art4
af1894504d Merge branch 'develop' into new-addonproxy 2025-02-04 13:17:24 +00:00
Art4
4c71ac643d Deprecate Addon::DIRECTORY in favor of AddonHelper::getAddonPath() 2025-02-04 13:13:57 +00:00
Art4
9f086c40e4 Fix code style 2025-02-04 12:59:21 +00:00
Art4
e596a0b624 Implement AddonHelper::loadAddons() 2025-02-04 12:57:32 +00:00
Hypolite Petovan
0cf1ef397b
Merge pull request #14769 from annando/acessibility
Some more screenreader improvements
2025-02-04 07:40:14 -05:00
Art4
5497fd3559 Use AddonHelper in Cron worker and addon console command 2025-02-04 12:39:54 +00:00
Art4
31f62b807a Replace Addon class with AddonHelper in addon index 2025-02-04 12:27:59 +00:00
Art4
fda70f3fe3 Create AddonHelper::getEnabledAddonsWithAdminSettings() 2025-02-04 12:18:08 +00:00
Art4
a678f41ca7 Fix PHP 7.4 support 2025-02-04 11:45:32 +00:00
Art4
a276337752 Fix code style 2025-02-04 10:50:06 +00:00
Art4
105f848dd7 Use AddonInfo in addon Details 2025-02-04 10:47:57 +00:00
Art4
ecbd0423da Deprecate more Addon methods 2025-02-04 10:47:31 +00:00
Art4
a8249be928 Create AddonInfo class 2025-02-04 09:41:52 +00:00
Art4
61fa36b227 Add install, uninstall and reload in AddonHelper 2025-02-04 08:03:32 +00:00
Art4
db37a93efa Fix code style 2025-02-04 07:00:09 +00:00
Art4
776781e522 Merge branch 'develop' into new-addonproxy 2025-02-04 06:54:59 +00:00
Art4
c50827a803 Replace Addon class with AddonHelper in mod photos.php 2025-02-04 06:54:53 +00:00
Michael
795873b911 Fix code standard 2025-02-04 04:55:05 +00:00
Michael
7bbefae3e6 Skip to content 2025-02-04 04:49:05 +00:00
Michael
b5bff3f758 Codestyle changes 2025-02-04 04:49:05 +00:00
Michael
f3c5855fc1 Some more screenreader improvements 2025-02-04 04:49:05 +00:00
Hypolite Petovan
95d3ce5441
Merge pull request #14775 from waldyrious/normalize-signup-form-labels
Normalize punctuation in signup form field labels
2025-02-03 21:52:51 -05:00
Waldir Pimenta
773f654e99 Normalize punctuation in signup form field labels 2025-02-03 21:53:02 +00:00
Hypolite Petovan
afba22e2cc
Merge pull request #14773 from waldyrious/close-paren
Close paren in message shown at the signup form
2025-02-03 16:42:37 -05:00
Waldir Pimenta
7b5b9c164e Close paren in message shown at the signup form 2025-02-03 21:09:00 +00:00
Waldir Pimenta
2abc7b4986 Update messages.po main translation file 2025-02-03 19:54:15 +00:00
Art4
b84eb33ae2 Add AddonHelper::getAvailableAddons() method 2025-02-03 15:23:44 +00:00
Art4
4ea648475f Replace calls of Addon::getVisibleList() with AddonHelper::getVisibleEnabledAddons() 2025-02-03 14:54:45 +00:00
Art4
04df082d4e Rename method names in AddonHelper 2025-02-03 14:27:23 +00:00
Art4
bc6145c684 Fix code style 2025-02-03 14:23:31 +00:00
Art4
655df1fd8e Use AddonHelper in Router 2025-02-03 14:21:52 +00:00
Art4
9c002a1aa2 Fix code style 2025-02-03 13:59:58 +00:00
Art4
d82483f342 Merge branch 'develop' into new-addonproxy 2025-02-03 13:58:10 +00:00
Hypolite Petovan
9d506071c8
Merge pull request #14764 from haheute/circle-update-wrapper-css
[frio] Small CSS fix for circle-update-wrapper shortmode headings
2025-02-02 14:44:14 -05:00
Hypolite Petovan
5ad82bce23
Merge pull request #14762 from juliend2/add-addon-dir
Create `addon/` folder in the proper order, since it's now mandatory
2025-02-02 14:43:34 -05:00
Art4
c4469cb624 Move getVisibleList() into AddonHelper 2025-02-02 19:32:17 +00:00
Hypolite Petovan
7b0e31714f
Merge pull request #14758 from Art4/hard-deprecate-logger
Hard deprecate `Friendica\Core\Logger`
2025-02-02 13:13:24 -05:00
Art4
5504fdcd06 Move getEnabledList into AddonHelper 2025-02-02 06:55:38 +00:00
Art4
91bd6089b5 Create AddonHelper and proxy to check if addon is enabled 2025-02-01 21:58:59 +00:00
Hannes Heute
410fe15507 [frio] Small CSS fix for circle-update-wrapper shortmode headings 2025-02-01 20:45:15 +01:00
Julien Desrosiers
f1bf64a8ff If we follow the installation doc, it says to clone the addon repo inside this dir
which would fail if said dir exist and is not empty.
2025-02-01 13:21:37 -05:00
Julien Desrosiers
16b268f0ca .gitkeep to allow addon(s) folders to exist by default 2025-02-01 12:08:31 -05:00
Art4
f135e18522 deprecations should be muted trigger_error calls 2025-02-01 09:21:00 +00:00
Julien Desrosiers
3e43b27e83 Making addon/ folder exist since it's now mandatory 2025-02-01 00:36:35 -05:00
Hypolite Petovan
3799f6c69e Fix code style in Moderation\Users classes 2025-01-31 12:15:31 -05:00
Hypolite Petovan
e6f4df3442 Prioritize coalescing parameters in Moderation\Users\*->processGetActions
↪ This was causing missing array index warnings when the casting took precedence
2025-01-31 12:11:59 -05:00
Art4
af96a957cd Log trigger_error() of deprecated code 2025-01-31 15:36:08 +00:00
Art4
02cde27a12 Mute calles of trigger_error() 2025-01-31 15:35:07 +00:00
Art4
c206e60ad4 Hard deprecate DI::workerLogger(), mark DI::loggerManager() as internal 2025-01-31 07:56:30 +00:00
Art4
c363b45e0d Hard deprecate all Logger methods 2025-01-31 07:55:53 +00:00
Hypolite Petovan
f1dfa63764
Merge pull request #14755 from haheute/photo-permission-modal
[frio] Use modal instead of popupbox for permissions on photo edit page
2025-01-29 22:19:12 -05:00
Hannes Heute
e296938dd4 [frio] Don't lose title in photo permission modals 2025-01-29 23:32:18 +01:00
Tobias Diekershoff
db93456027
Merge pull request #14752 from MrPetovan/bug/fatal-errors
Add expected final return in Console\Storage->doMove
2025-01-29 22:57:51 +01:00
Hannes Heute
7980a9e932 [frio] Use modal instead of popupbox for permissions on photo edit page 2025-01-29 21:18:15 +01:00
Hypolite Petovan
af661716a0
Merge pull request #14753 from haheute/drop-area
[frio] Improve dropzone background color
2025-01-29 12:30:28 -05:00
Hannes Heute
f52493f270 improve dropzone background color 2025-01-29 16:59:32 +01:00
Hypolite Petovan
81a9fbb9bd
Merge pull request #14751 from haheute/modal-header
Frio: change modal header border to reflect the current color scheme
2025-01-29 09:58:33 -05:00
Hypolite Petovan
13214843d8 Add expected final return in Console\Storage->doMove
- Address https://github.com/friendica/friendica/issues/14646#issuecomment-2621372228
2025-01-29 09:56:06 -05:00
Hypolite Petovan
3791635143 Fix coding style in Console\Storage 2025-01-29 09:55:42 -05:00
Hannes Heute
c5c8724a04 use class instead of id, to match all occurences 2025-01-29 15:46:37 +01:00
Hannes Heute
b171de3375 Frio: change modal header border to reflect the current color scheme 2025-01-29 15:11:41 +01:00
Hypolite Petovan
0fcef20bb3
Merge pull request #14747 from haheute/notification-word-break
Frio: break too long words in topbar notifications
2025-01-28 16:45:40 -05:00
Hannes Heute
2fb162e391 Frio: break too long words in topbar notifications 2025-01-28 21:36:55 +01:00
Michael Vogel
6e264724f8
Merge pull request #14745 from MrPetovan/bug/14744-mastodon-api-instance
Fix wrong default value for contact_account in Mastodon\Instance
2025-01-28 21:15:14 +01:00
Michael Vogel
a730259d97
Merge pull request #14740 from MrPetovan/bug/14702-filer-callback
Fix itemFiler() callback
2025-01-28 21:09:05 +01:00
Michael Vogel
d5652ade63
Merge pull request #14739 from MrPetovan/bug/14711-log-new-line
Remove potential new lines in reported logger instances
2025-01-28 21:05:59 +01:00
Hypolite Petovan
5d6be39a0c Fix coding style in Repository\Notify and Util\Emailer 2025-01-28 07:50:30 -05:00
Hypolite Petovan
0006d838f5 Remove potential new lines in reported logger instances
- Thanks to @MrKaplan-lw for the investigative work
2025-01-28 07:50:30 -05:00
Hypolite Petovan
1f8ea30735 Fix itemFiler() callback
- Remove page exit alert
- Update filed post display on success
- Reset cursor appearance always
2025-01-28 07:50:16 -05:00
Hypolite Petovan
9e3936b151 Fix code style in itemFiler() 2025-01-28 07:50:16 -05:00
Hypolite Petovan
56e7b05d99 Fix coding style in Object/Api/Mastodon/Instance 2025-01-28 07:35:17 -05:00
Hypolite Petovan
186b82d71d Fix wrong default value for contact_account in Mastodon\Instance 2025-01-27 22:01:40 -05:00
Hypolite Petovan
e4fa1aa418 Add type hints in Mastodon\Instance 2025-01-27 22:01:17 -05:00
Hypolite Petovan
258476e14f
Merge pull request #14742 from haheute/media-heading
fix font-size for .media-heading
2025-01-27 08:10:03 -05:00
Hannes Heute
82c64e6e76 fix font-size for .media-heading 2025-01-27 13:14:46 +01:00
Tobias Diekershoff
73fd2b23a5
Merge pull request #14737 from MrPetovan/bug/14131-dropzone-error
Account for calendar post edition in editpost()
2025-01-27 06:31:10 +01:00
Tobias Diekershoff
80f5856764
Merge pull request #14736 from MrPetovan/bug/fatal-errors
Ward against invalid URLs in Model\Post\Media::isFederatedServer
2025-01-27 06:22:44 +01:00
Tobias Diekershoff
92d8203447
Merge pull request #14735 from MrPetovan/bug/14424-pendign-invite
Exclude invitation register rows from pending-view
2025-01-27 06:17:50 +01:00
Tobias Diekershoff
fe462398ad
Merge pull request #14738 from MrPetovan/bug/14689-community-empty
Return early if system.max_author_posts_community_page isn't set in Conversation\Timeline->getCommunityItems
2025-01-27 06:14:52 +01:00
Hypolite Petovan
b4b7e9a3c7 Avoid matching invalid URLs in Model\Post\Media::insertFromRelevantUrl
- Replace * with + to prevent matching empty domains
2025-01-26 17:54:17 -05:00
Hypolite Petovan
657c04a041 Ward against invalid URLs in Model\Post\Media::isFederatedServer
- Add logger call for exception case
- Address https://github.com/friendica/friendica/issues/14646#issuecomment-2614231345
2025-01-26 17:54:17 -05:00
Hypolite Petovan
e3a2c70ccb Exclude invitation register rows from pending-view
↪ They were wrongly appearing in the moderation screen and in the notifications
2025-01-26 17:53:58 -05:00
Hypolite Petovan
f632acb6c2 Fix coding style in src/Module/Conversation/Timeline.php 2025-01-26 17:53:24 -05:00
Hypolite Petovan
403a4684e5 Return early if system.max_author_posts_community_page isn't set in Conversation\Timeline->getCommunityItems 2025-01-26 17:52:35 -05:00
Hypolite Petovan
8f0a31dc1e Fix code style in src/Util/Temporal 2025-01-26 17:47:23 -05:00
Hypolite Petovan
f3202b0508 Account for calendar post edition in editpost()
- Calendar form doesn't have a dropzone nor link preview capability
2025-01-26 17:45:23 -05:00
Hypolite Petovan
d9c11bb853 Set first_day_of_week config value default correctly
↪ Config value could be empty string and cause a script error
2025-01-26 17:45:23 -05:00
Michael Vogel
5a00a2c441
Merge pull request #14734 from MrPetovan/bug/empty-dom-string
Ward against empty string in Model\Item::replacePlatformIcon
2025-01-26 22:45:43 +01:00
Hypolite Petovan
20ab8de06d Ward against empty string in Model\Item::replacePlatformIcon
- Add logger call to troubleshoot
2025-01-26 14:49:00 -05:00
Hypolite Petovan
c8042e92df
Merge pull request #14730 from annando/accessibility
Several accessibility improvements
2025-01-26 12:20:29 -05:00
Hypolite Petovan
282e3c2f1f
Merge pull request #14733 from MarekBenjamin/bugfix/illegal-whitespace
Refactor view.tpl for admin/logs: Fixed illegal whitespace
2025-01-26 11:47:52 -05:00
Marek Bachmann
aad4dda353 Refactor view.tpl for admin/logs: Fixed illegal whitespace 2025-01-26 16:28:49 +00:00
Michael
b8c33571e7 Hide dots from screenreaders 2025-01-26 14:09:59 +00:00
Michael
c0723e3d48 Fix codestyle 2025-01-26 12:59:59 +00:00
Michael
c978c8e027 Several accessibility improvements 2025-01-26 12:46:18 +00:00
Tobias Diekershoff
0d188d39d5
Merge pull request #14728 from MarekBenjamin/bugfix/log-table-appeareance
Bugfix/log table: Log level not readable in dark and black frio appeareance
2025-01-26 08:21:45 +01:00
Marek Bachmann
dc0d094610 Refactor view.tpl for admin/logs: Assign bootstrap.css text classes only (no bg adjustment) 2025-01-25 23:07:17 +00:00
Marek Bachmann
2e472f84a7 Refactor view.tpl for admin/logs: Assign bootstrap.css bg and text classes dynamically for log rows 2025-01-25 22:53:42 +00:00
Marek Bachmann
f3a160598f Refactor view.tpl for admin/logs: Use class variable for log rows to eliminate whitespace from indentation in tr class attribute" 2025-01-25 22:40:23 +00:00
Hypolite Petovan
eec293191b
Merge pull request #14727 from MrPetovan/bug/14725-restore-group-widget
Remove test code from GroupManager::widget
2025-01-25 12:47:12 -05:00
Hypolite Petovan
5cd6d9a0f1 Remove test code from GroupManager::widget
Oops.
2025-01-25 12:45:47 -05:00
Hypolite Petovan
8bf3d6694a
Merge pull request #14686 from annando/relation
Improves the performance for contact relation discovery
2025-01-24 09:03:25 -05:00
Art4
1e1d917730 Merge branch 'develop' into introduce-phpmd 2025-01-24 10:33:06 +00:00
Michael
80fe8f837e Unneeded check removed 2025-01-24 06:59:38 +00:00
Michael
e5bf1b976a New function "add" 2025-01-24 06:52:20 +00:00
Michael
d45cd93278 Improved performance on relation discovery 2025-01-24 06:52:20 +00:00
Hypolite Petovan
df85a9a63a
Merge pull request #14639 from annando/warning
Fix warning "Trying to access array offset on value of type bool"
2025-01-23 21:51:28 -05:00
Michael
af1e69ea1e messages.po updated 2025-01-23 21:30:07 +00:00
Michael
b915252e7e Fix warning "Trying to access array offset on value of type bool" 2025-01-23 21:24:14 +00:00
Art4
a6ea520224 Add cache in phpmd workflow 2025-01-23 15:11:59 +00:00
Art4
9b9627e4b6 simplify ci job, use image: friendicaci/php8.3:php8.3.3 2025-01-23 14:51:05 +00:00
Art4
379272efa3 Run woodpecker with image: php:8.3 2025-01-23 14:48:16 +00:00
Art4
e364d254ed run phpmd in own woodpecker job 2025-01-23 14:42:51 +00:00
Art4
6aadb63b82 run phpmd before php-cs-fixer 2025-01-23 14:33:41 +00:00
Art4
f3aa937ce2 Check phpmd with woodpecker 2025-01-23 14:28:50 +00:00
Art4
9c7577c5c2 Recreate messages.po 2025-01-23 14:28:10 +00:00
Art4
0b36d4c9d6 Fix code style 2025-01-23 14:18:23 +00:00
Art4
c64d80fef9 Increate ExcessiveClassComplexity rule to 800 2025-01-23 14:16:56 +00:00
Art4
40f467fb72 Extract Feed::importOlderEntries() into own method 2025-01-23 14:13:32 +00:00
Art4
f75b67de2f Extract method Fee::getTitleFromItemOrEntry() 2025-01-23 13:56:35 +00:00
Art4
befb4796f9 Extract Transmitter::filterReceiverData() as own method 2025-01-23 13:36:57 +00:00
Art4
db949270f5 Extract getDuplicateID() into ItemHelper 2025-01-23 13:26:58 +00:00
Art4
118e59ac5c Extract isDuplicate() into ItemHelper 2025-01-23 13:17:04 +00:00
Art4
7a2e1e0511 Rename ItemInserter into ItemHelper 2025-01-23 12:11:18 +00:00
Art4
764a701610 Extract handleToplevelParent() into ItemInserter 2025-01-23 10:50:04 +00:00
Art4
9cd6c025d5 Extract getTopLevelParent() into ItemInserter 2025-01-23 10:42:43 +00:00
Art4
ddfdf02b34 Fix support for PHP 7.4 2025-01-23 10:31:47 +00:00
Art4
0e054cd4a0 Extract hasRestrictions() into ItemInserter 2025-01-23 09:50:27 +00:00
Art4
3c51af78a2 Replace DBA class with DI::dba() in Item Model 2025-01-23 09:35:46 +00:00
Art4
0732c6158a Extract validateItemData() into ItemInserter 2025-01-23 09:26:58 +00:00
Art4
cfc07d7b0d Mark ItemInserter as internal 2025-01-23 09:16:14 +00:00
Art4
4c95605711 Merge branch 'develop' into introduce-phpmd 2025-01-23 08:56:07 +00:00
Tobias Diekershoff
4917380716
Merge pull request #14719 from MrPetovan/bug/14717-revert-moderation
Partially revert "Improve search for user in Modration module"
2025-01-23 07:38:48 +01:00
Tobias Diekershoff
4fa82f4c73
Merge pull request #14720 from MrPetovan/bug/14099-create-new-group
Show Create new Group link in widget even if there's no group membership to display
2025-01-23 07:35:45 +01:00
Hypolite Petovan
1794d58a5b Fix code style in Content\GroupManager 2025-01-22 22:17:22 -05:00
Hypolite Petovan
354e3adc04 Show Create new Group link in widget even if there's no group membership to display 2025-01-22 22:14:38 -05:00
Hypolite Petovan
c426b27287
Merge pull request #14696 from xundeenergie/dropzone-upload-improvement
Do not change cursor position while replacing upload-placeholder, add video, audio and documents to upload
2025-01-22 22:00:07 -05:00
Hypolite Petovan
3980de94a4 Merge branch 'develop' into xundeenergy/dropzone-upload-improvement 2025-01-22 21:52:52 -05:00
Hypolite Petovan
cbb6b7819a Extract GET action processing in Moderation modules 2025-01-22 21:51:03 -05:00
Hypolite Petovan
3e465cb761 Partially revert "Improve search for user in Modration module"
This reverts commit 78444ff25c.
↪️ When the uid parameter isn't set, the regular list should be shown instead of throwing an error.
2025-01-22 21:37:39 -05:00
Hypolite Petovan
d97b8f8faa
Merge pull request #14690 from Art4/fix-code-style-for-pr-14688
Fix code style for #14688
2025-01-22 21:20:26 -05:00
Hypolite Petovan
822b4429f3 Merge branch 'develop' into Art4/fix-code-style-for-pr-14688
# Conflicts:
#	src/Model/GServer.php
#	src/Util/HTTPSignature.php
2025-01-22 21:05:24 -05:00
Hypolite Petovan
0d97118cfb
Merge pull request #14718 from Art4/mark-internal-code
Mark internal code, move deprecation warnings into entry points
2025-01-22 20:58:45 -05:00
Hypolite Petovan
3d1ab8c5b9
Merge pull request #14700 from annando/get-signer
Issue 14692: Prevent loops with remote servers
2025-01-22 20:50:41 -05:00
Hypolite Petovan
15cec1ac10
Merge pull request #14699 from annando/update-contact
New option to only update contacts that have got a relation to local users
2025-01-22 20:48:50 -05:00
Michael
3da2a3ef3d Fix logger calls 2025-01-22 21:02:15 +00:00
Michael
d74ca3ecf5 Fix codestyle 2025-01-22 20:56:21 +00:00
Michael
0f8786f8b1 Fix codestyle 2025-01-22 20:31:14 +00:00
Michael
bccf95a088 Changes after review 2025-01-22 20:26:05 +00:00
Art4
0b84cf401d Mark more new classes as internal 2025-01-22 19:52:48 +00:00
Art4
179ccbc08c Merge branch 'develop' into mark-internal-code 2025-01-22 19:46:49 +00:00
Hypolite Petovan
8df84ed217
Merge pull request #14716 from Art4/fix-load-hooks
Fix App not loading Hooks
2025-01-22 14:29:02 -05:00
Hypolite Petovan
0b227b50b8
Merge pull request #14694 from Art4/deprecation-process
Backward Compatibility Promise
2025-01-22 12:04:13 -05:00
Art4
65b79b5ea0 Remove unused AbstractConsole 2025-01-22 15:57:21 +00:00
Art4
23fcb4f87f Dont show deprecation message twice 2025-01-22 15:47:49 +00:00
Art4
69830b9c03 Move deprecation message into bin-files 2025-01-22 15:43:26 +00:00
Art4
700cedd69b Mark DI::getDice() as internal 2025-01-22 15:31:11 +00:00
Art4
92aabbdcec Mark App as final and internal 2025-01-22 15:24:32 +00:00
Art4
a6c1b2eaf3 Change BC promise to 5 months, fix some wording 2025-01-22 14:59:01 +00:00
Art4
ed184ab520 Revert "Inject Mode into App::runFrontend() via parameter"
This reverts commit 52c6f93c9a.
2025-01-22 13:58:50 +00:00
Art4
5a40fdd7e1 Call App::load() on App::processConsole() and procesEjabberd() 2025-01-22 13:53:30 +00:00
Art4
c9bcc45d7c Provide $_SERVER to App::processConsole() 2025-01-22 13:47:58 +00:00
Art4
15446f35a5 Inject AppHelper into App::loadDefaultTimezone() via parameter 2025-01-22 13:19:17 +00:00
Art4
7cc37ff2cb Inject AppHelper into App::load() via parameter 2025-01-22 13:17:53 +00:00
Art4
e57424ec35 Inject profiler into App::load() via parameter 2025-01-22 12:46:24 +00:00
Art4
6c0a2eaefc Inject config into App::loadDefaultTimezone() via parameter 2025-01-22 12:36:14 +00:00
Art4
fdb14f23f2 Inject config into App::load() via parameter 2025-01-22 12:13:57 +00:00
Art4
52c6f93c9a Inject Mode into App::runFrontend() via parameter 2025-01-22 12:11:06 +00:00
Art4
76aec2d575 Inject Mode into App::load() via parameter 2025-01-22 12:06:53 +00:00
Art4
064b70f4c0 Move Mode::setExecutor() call inside App::runFrontend() 2025-01-22 11:59:24 +00:00
Art4
bf28afb651 Remove dependency for ServerRequestInterface in App::load() 2025-01-22 11:56:23 +00:00
Art4
b9f5a4f745 Rename back App::load() 2025-01-22 10:53:34 +00:00
Art4
ac187f1e9c Merge branch 'develop' into deprecation-process 2025-01-22 10:31:50 +00:00
Art4
6309d4c43d Merge branch 'develop' into fix-code-style-for-pr-14688 2025-01-22 09:07:59 +00:00
Michael
1eaab5e410 Issue 14692: Prevent loops with remote servers 2025-01-22 06:42:47 +00:00
Michael
c6a9e7aa4c New option to only update contacts with local relations 2025-01-22 06:40:04 +00:00
Michael Vogel
bb252e326f
Merge pull request #14688 from Art4/refactor-logger-class-with-logger-object
Replace Logger class with LoggerInterface implementation
2025-01-22 07:20:26 +01:00
Tobias Diekershoff
3080250888
Merge pull request #14715 from MarekBenjamin/bugfix/photoalbum-button-appeareance
fix photo albums button appeareance for dark appereance in frio theme
2025-01-22 06:22:22 +01:00
Marek Bachmann
8c8067c624 fixed button readabilid in media browser for dark appereance in frio theme 2025-01-21 19:27:15 +00:00
Tobias Diekershoff
ee25c69cd7
Merge pull request #14708 from annando/exception
Fix exception "Argument #2 ($jsonld) must be of type array, string given"
2025-01-19 17:36:54 +01:00
Michael
d2b1eaaaa9 Fix codestyle 2025-01-19 13:26:22 +00:00
Michael
d42b31bee6 Fix exception "Argument #2 ($jsonld) must be of type array, string given" 2025-01-19 13:24:59 +00:00
Artur Weigandt
11593bb887
Adjust fromat 2025-01-16 16:07:32 +01:00
Tobias Diekershoff
cd79d26ed5
Merge pull request #14703 from annando/atp-archive
Improved handling of archive posts
2025-01-16 06:36:09 +01:00
Michael
860dbacf1b Fixed codestyle 2025-01-15 21:52:44 +00:00
Michael
aad362fee3 Improved handling of archive poszs 2025-01-15 21:51:10 +00:00
Art4
e8df01fab6 Merge branch 'develop' into deprecation-process 2025-01-14 19:31:59 +00:00
Artur Weigandt
3dc467e208
Increase BC to 6 months 2025-01-14 20:29:20 +01:00
Artur Weigandt
3801382ffe
Update doc/Developers-Intro.md 2025-01-14 19:52:03 +01:00
Jakobus Schürz
6e6903e073 add upload for video/*, audio/* and application/* via dropzone
Upload videos, audios and documents (all mimetype application/*) via
Drag&Drop and Copy&Paste in new postings and comments as attachments.
The same as images before with placeholder on insert-position.
You can write text while upload is done.
2025-01-14 11:17:48 +01:00
Art4
3698ab5aaa Merge branch 'refactor-logger-class-with-logger-object' into fix-code-style-for-pr-14688 2025-01-14 09:29:35 +00:00
Art4
04161a0a5f Merge branch 'develop' into refactor-logger-class-with-logger-object 2025-01-14 09:16:06 +00:00
Tobias Diekershoff
f3106097af
Merge pull request #14697 from annando/updatecontact
Only update a contact when it should be updated
2025-01-14 07:36:33 +01:00
Michael
8345ada757 Fixed codestyle 2025-01-14 06:06:39 +00:00
Michael
dc382b5288 Changed contact update rule / added logging 2025-01-14 06:06:28 +00:00
Jakobus Schürz
c47323e358 do not change cursor position while replacing upload-placeholder
fixes #14695

Save caret position just before replacing the upload-placeholder.
replace upload-placeholder
Set caret position to the position in textarea as before replacing action.
Setting caret position considers the position before or after
placeholder and therefore the textlength of server-response to find the
right place.
2025-01-14 05:49:48 +01:00
Artur Weigandt
34e6d29d1f
Apply suggestions from code review 2025-01-13 23:56:27 +01:00
Art4
0de00003c6 add Backward Compatibility Promise 2025-01-13 22:38:07 +00:00
Art4
581f4c6194 Merge branch 'develop' into introduce-phpmd 2025-01-13 21:22:52 +00:00
Art4
1a391fc9c3 Merge branch 'develop' into refactor-logger-class-with-logger-object 2025-01-13 19:19:45 +00:00
Hypolite Petovan
47946b1cb7
Merge pull request #14682 from Art4/refactor-logger
Create LoggerManager
2025-01-13 13:31:35 -05:00
Art4
3eab8eb3dd Merge branch 'develop' into refactor-logger 2025-01-13 16:54:48 +00:00
Art4
f9b7b6a413 Clean private static properties of LoggerManager via tearDown method 2025-01-13 16:52:05 +00:00
Art4
39088ab003 Clean static private properties of LoggerManager after test 2025-01-13 16:41:35 +00:00
Art4
c1dde29ef6 Add description for LegacyLoggerFactory 2025-01-13 15:17:20 +00:00
Art4
d38edfc6ca Fix code style 2025-01-13 13:40:31 +00:00
Art4
0e59dba914 Fix code style 2025-01-13 13:31:54 +00:00
Art4
d4697a17a3 Remove unused import statements 2025-01-13 13:27:50 +00:00
Art4
5caa3b13e6 Remove call of non-existing Logger::init() method in tests 2025-01-13 13:24:40 +00:00
Art4
abe6bf7947 Replace Logger with DI::logger() in OnePoll Worker classes 2025-01-13 13:21:19 +00:00
Art4
90a76ec60b Replace Logger with DI::logger() in Notifier Worker classes 2025-01-13 13:20:33 +00:00
Art4
8fe3383976 Replace Logger with DI::logger() in many Worker classes 2025-01-13 13:19:24 +00:00
Art4
1762d1e72d Replace Logger with DI::logger() in Remove Worker classes 2025-01-13 13:13:50 +00:00
Art4
c90b485089 Replace Logger with DI::logger() in Process Worker classes 2025-01-13 13:07:14 +00:00
Art4
bcf784254f Replace Logger with DI::logger() in Expire Worker classes 2025-01-13 13:06:00 +00:00
Art4
c2f65af8bf Replace Logger with DI::logger() in Update Worker classes 2025-01-13 13:04:29 +00:00
Art4
0ce0aa4d2c Replace Logger with DI::logger() in Util classes 2025-01-13 12:53:09 +00:00
Art4
9306a56da0 Replace Logger with DI::logger() in Security classes 2025-01-13 12:47:34 +00:00
Art4
bc53c9b208 Replace Logger with DI::logger() in ActivityPub Protocol classes 2025-01-13 12:45:38 +00:00
Art4
6de75e4b9b Replace Logger with DI::logger() in ZOT Protocol class 2025-01-13 12:40:44 +00:00
Art4
ab1e0638fb Replace Logger with DI::logger() in Relay Protocol class 2025-01-13 12:39:50 +00:00
Art4
bf8df261ad Replace Logger with DI::logger() in Feed Protocol class 2025-01-13 12:39:20 +00:00
Art4
d4afcc0b7e Replace Logger with DI::logger() in Email Protocol class 2025-01-13 12:38:48 +00:00
Art4
6ead2d1738 Replace Logger with DI::logger() in Diaspora Protocol class 2025-01-13 12:37:44 +00:00
Art4
abc456e587 Replace Logger with DI::logger() in Delivery Protocol class 2025-01-13 12:37:29 +00:00
Art4
5d6be2aeb4 Replace Logger with DI::logger() in DFRN Protocol class 2025-01-13 12:36:39 +00:00
Art4
c335754dec Change static methods to dynamic in Mastodon Search class 2025-01-13 12:07:05 +00:00
Art4
33b5ba35d4 Replace Logger with DI::logger() in Object classes 2025-01-13 12:01:48 +00:00
Art4
0b20a9c923 Replace Logger with DI::logger() in Network classes 2025-01-13 11:58:35 +00:00
Art4
c6cef6bbce Replace Logger with $this->logger in all Module classes 2025-01-13 11:56:22 +00:00
Art4
d4873dbc6b Replace Logger with $this->logger in Module Twitter classes 2025-01-13 11:55:30 +00:00
Art4
b0a5494a8f Replace Logger with $this->logger in Module Mastodon classes 2025-01-13 11:53:38 +00:00
Art4
6f91b16403 Replace Logger with $this->logger in Module OAuth classes 2025-01-13 11:43:47 +00:00
Art4
c9588fcbb0 Replace Logger with $this->logger in Module ActivityPub classes 2025-01-13 11:41:58 +00:00
Art4
8643231019 Replace Logger with $this->logger in Module classes 2025-01-13 11:00:50 +00:00
Art4
105c737609 Replace Logger with $this->logger in Module BaseApi class 2025-01-13 10:32:57 +00:00
Art4
f817308080 Replace Logger with DI::logger() in Moderation classes 2025-01-13 10:17:26 +00:00
Art4
a0e2c82c62 Replace Logger with DI::logger() in Model classes 2025-01-13 10:16:02 +00:00
Art4
5b4faf811f Replace Logger with DI::logger() in Model Contact classes 2025-01-13 10:04:49 +00:00
Art4
b88fd9168f Replace Logger with DI::logger() in Factory classes 2025-01-13 10:00:51 +00:00
Art4
39448160f1 Replace Logger with DI::logger() in Model Post classes 2025-01-13 09:51:46 +00:00
Art4
615f96012f Replace Logger with DI::logger() in Database classes 2025-01-13 09:44:21 +00:00
Art4
0213001acb Replace Logger with DI::logger() in Worker classes 2025-01-13 09:41:37 +00:00
Art4
e3cf6b9c54 Replace Logger with DI::logger() in Core classes 2025-01-13 09:39:19 +00:00
Art4
8c89c37775 Replace Logger with DI::logger() in Content namespace 2025-01-13 09:32:41 +00:00
Art4
d4c90d41a0 remove unused Logger imports 2025-01-13 09:26:08 +00:00
Art4
ef0fe65c07 Replace Logger with DI::logger() in mod folder 2025-01-13 08:56:33 +00:00
Art4
ace375aacb Replace Logger with DI::logger() in theme folder 2025-01-13 08:55:34 +00:00
Art4
16d3c36391 Replace Logger with DI::logger() in update.php 2025-01-13 08:54:34 +00:00
Art4
6fc6fa0f41 Merge branch 'develop' into refactor-logger-class-with-logger-object 2025-01-13 08:04:17 +00:00
Hypolite Petovan
71e47ce976
Merge pull request #14683 from annando/issue-14681
Issue 14681: enable path "remote_follow/{nickname}"
2025-01-12 22:47:27 -05:00
Hypolite Petovan
5de04f965a
Merge pull request #14687 from Art4/fix-console-addon-list
Fix list enabled/disabled addons
2025-01-12 22:46:55 -05:00
Art4
cb7534c823 Replace Logger with DI::logger() in Contact namespace 2025-01-12 21:14:33 +00:00
Art4
bf3004e4bf Replace Logger with DI::logger() in Page and BaseModule class 2025-01-12 21:13:19 +00:00
Art4
e7eaa8d8a9 Add composer script to partial fix code style 2025-01-12 21:04:38 +00:00
Art4
7b241cebeb Fix code style 2025-01-12 20:48:53 +00:00
Art4
9fbdbcb054 Fix list enabled/disabled addons 2025-01-12 20:38:55 +00:00
Hypolite Petovan
1a68fed349
Merge pull request #14678 from xundeenergie/dropzone-placeholder
Dropzone placeholder
2025-01-12 08:32:52 -05:00
Art4
148c9cdfe6 Fix PHP warning 2025-01-12 13:20:01 +00:00
Art4
ea35ec4d6e Rename method to setup logger 2025-01-12 13:19:47 +00:00
Art4
9d09b10537 Remove unused Friendica\Core\Logger::enableWorker() and disableWorker() 2025-01-12 13:07:05 +00:00
Art4
2f811f99de Fix PHPStan error, fix code style 2025-01-12 13:04:49 +00:00
Art4
7ebb57c82b Fix code style 2025-01-12 08:23:45 +00:00
Art4
510f4e02c8 Add support for WorkerLogger decorator in LoggerManager, deprecate core Logger class, deprecate DI::workerLogger() 2025-01-12 08:21:30 +00:00
Michael
dbf42db0fc Issue 14681: enable path "remote_follow/{nickname}" 2025-01-12 07:33:33 +00:00
Art4
0804413c41 LegacyLoggerFactory uses Logger as factory 2025-01-11 21:05:35 +00:00
xundeenergie
5c3aba176d
Update view/js/dropzone-factory.js
accept suggestion

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-11 18:22:16 +01:00
xundeenergie
da9f9d8964
Update view/js/dropzone-factory.js
accept suggestion

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-11 18:22:00 +01:00
xundeenergie
61e0a2a0f4
Update view/js/dropzone-factory.js
accept suggestion

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-11 18:21:33 +01:00
Art4
b40db06ef3 Merge branch 'develop' into refactor-logger 2025-01-11 17:08:07 +00:00
Hypolite Petovan
6c43cac067
Merge pull request #14677 from Art4/refactor-container
Refactor Container and App class
2025-01-11 11:37:54 -05:00
Art4
48154a090a Create LoggerManager::changeLogChannel() 2025-01-11 08:05:50 +00:00
Jakobus Schürz
f55ed01fb5 enable dropzone on jot for mentions 2025-01-10 23:26:15 +01:00
Art4
d9af357663 Create LegacyLoggerFactory 2025-01-10 21:58:21 +00:00
Jakobus Schürz
29cb0211db add placeholder for uploading images 2025-01-10 18:53:43 +01:00
Art4
2df76617c1 Rename LoggerFactory into LoggerManager 2025-01-10 15:21:56 +00:00
Art4
c339dc1a07 Add support for LogLevel and LogChannel 2025-01-10 15:15:58 +00:00
Art4
96af0e6ebb LoggerFactory can create ProfilerLogger 2025-01-10 13:28:42 +00:00
Art4
f65a838594 Always return NullLogger if debug is disabled 2025-01-10 12:36:13 +00:00
Art4
4a8533aa11 LoggerFactory returns same object 2025-01-10 10:33:55 +00:00
Art4
9bcb470caa Create new LoggerFactory 2025-01-10 10:30:11 +00:00
Jakobus Schürz
d0ccd5d263 remove unneeded newlines 2025-01-10 09:40:09 +01:00
Art4
a5d4475f45 Increase class complexity rule to 700 2025-01-10 07:27:21 +00:00
Art4
b845524134 Move Item::getGravity() into ItemInserter 2025-01-09 21:21:42 +00:00
Art4
27ba28237a Move Item::prepareItemData() into ItemInserter 2025-01-09 21:04:12 +00:00
Art4
61a975bf36 Extract Item::prepareOriginPost() into ItemInserter 2025-01-09 20:57:39 +00:00
Art4
9b9432090b fix return type 2025-01-09 20:36:43 +00:00
Art4
53f046a74d Extract handleToplevelParent into own method 2025-01-09 20:30:39 +00:00
Art4
e93ff4243f extract Item::prepareItemD() into own method 2025-01-09 20:19:35 +00:00
Art4
7107acb15c Fix namespace for DiceContainer test 2025-01-09 19:53:47 +00:00
Art4
2a7f7af02c extract validating item data into separate method 2025-01-09 15:39:26 +00:00
Art4
92ae748498 Fix missing variable 2025-01-09 15:24:13 +00:00
Art4
5315ec0c10 Add license file for phpmd ruleset 2025-01-09 14:16:33 +00:00
Art4
f1af52baa1 Merge branch 'develop' into introduce-phpmd 2025-01-09 14:05:47 +00:00
Art4
2ef943394d Remove Container::setup() 2025-01-09 13:35:03 +00:00
Art4
f1dba9f89e Move setupLegacyServiceLocator() into App class 2025-01-09 13:34:10 +00:00
Art4
2f3ef5359f Remove unused import 2025-01-09 10:18:11 +00:00
Art4
7f643aadd8 Move setupContainerForLogger() and determine log channel into App class 2025-01-09 10:13:33 +00:00
Art4
870b3b9a1c Remove default logchannel from Container::setup() 2025-01-09 09:34:43 +00:00
Art4
f40fb6b099 Fix code style 2025-01-09 09:21:10 +00:00
Art4
27fa4c0cdf Remove Dice rules for unused $devLogger service 2025-01-09 09:16:52 +00:00
Art4
0869140756 remove unused DI::devLogger() method 2025-01-09 09:10:09 +00:00
Art4
08a50efb08 remove unused Logger::devLog() method 2025-01-09 09:08:14 +00:00
Art4
633c692083 Move registerErrorHandler() into App class 2025-01-09 08:53:07 +00:00
Art4
04fb9dd9e0 Move registerTemplateEngine() into App class 2025-01-09 08:36:47 +00:00
Art4
768d7961a6 Move setupContainerForAddons() into App 2025-01-09 08:17:43 +00:00
Art4
e899127137 Deprecate Container::setup() 2025-01-09 08:11:38 +00:00
Art4
57c96b89a1 Remove unused import 2025-01-08 23:10:31 +00:00
Art4
c762c62029 Remove DiceContainer::fromDice() 2025-01-08 23:00:38 +00:00
Art4
320fe18654 Create Container interface, add DiceContainer as implementation 2025-01-08 22:59:29 +00:00
Art4
316fac0161 Add tests for Container::fromBasePath() 2025-01-08 22:52:30 +00:00
Art4
37ffeb8121 Move creation of Dice into Container class 2025-01-08 22:35:27 +00:00
Art4
610267a3ea Move Console call into App class 2025-01-08 22:20:06 +00:00
Art4
744bf9f971 Fix depreation message for old bin files 2025-01-08 22:07:16 +00:00
Michael Vogel
275b383be7
Merge pull request #14671 from MrPetovan/bug/14469-content-after-post
Force exits in PushSubscription PUT, POST and DELETE handlers
2025-01-07 23:29:47 +01:00
Philipp
ae8450f4fb Make PHP-CS happy 2025-01-07 06:42:04 -05:00
Hypolite Petovan
f53292cb11 Force exits in PushSubscription PUT, POST and DELETE endpoints
- These add their own content to the response, which makes rawContent() redundant
2025-01-07 06:42:04 -05:00
Hypolite Petovan
4d146c93d4 Update messages.po main translation file 2025-01-07 06:42:04 -05:00
Hypolite Petovan
a7210f76d1 Revert "Fix installation"
This reverts commit 67a8c5073c.
2025-01-07 06:42:04 -05:00
Hypolite Petovan
101f0e8181 Revert "QuickFix: 2FA - App specific password"
This reverts commit dc4eac2742.
2025-01-07 06:42:04 -05:00
Hypolite Petovan
ef9c2cb223 Revert "Issue 14325: Process "post" requests only once"
This reverts commit 0b710ce4fb.
2025-01-07 06:42:04 -05:00
Hypolite Petovan
f6afc5a2bb
Merge pull request #14675 from annando/get
New function to handle "get" requests
2025-01-07 06:40:50 -05:00
Michael
e090fd4495 Improved code style 2025-01-06 22:15:41 +00:00
Michael
8e76d13a96 New function to handle "get" requests 2025-01-06 22:04:45 +00:00
Hypolite Petovan
c2eae676bf
Merge pull request #14659 from nupplaphil/feat/worker_console
Move 'bin/worker.php' to 'bin/console.php worker'
2025-01-06 14:42:00 -05:00
Philipp
c4f15706ee
Add cons 2025-01-06 18:59:22 +01:00
Philipp
127e522ed8
Update deprecated version 2025-01-06 18:45:33 +01:00
Philipp
b9dde78466
Centralize deprecated check 2025-01-05 23:13:49 +01:00
Philipp
77c9f54f5c
Fix default log channel 2025-01-05 23:13:48 +01:00
Philipp
be8fe24b6e
Make PHP-CS happy 2025-01-05 23:13:47 +01:00
Philipp
f1e93be694
Use correct typing 2025-01-05 23:13:46 +01:00
Philipp
22ce079222
Make PHP-CS happy :-) 2025-01-05 23:13:45 +01:00
Philipp
560bf345da
Add UnitTest for Container 2025-01-05 23:13:44 +01:00
Philipp
2238ea8d52
Add license 2025-01-05 23:13:43 +01:00
Philipp
c726675189
Add doc & fix test 2025-01-05 23:13:43 +01:00
Philipp
b7a0c53b0b
Update src/Console/Worker.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-05 23:13:42 +01:00
Philipp
5fe9d53cfa
Fixup LogChannels 2025-01-05 23:13:41 +01:00
Philipp
40fbb02149
Move Container logic into own class 2025-01-05 23:13:41 +01:00
Philipp
6d77eb9b10
Make PHP-CS happy 2025-01-05 23:13:40 +01:00
Philipp
eb0c38f90f
Adapt run-command for console.php executions 2025-01-05 23:13:40 +01:00
Philipp
c79f0c83a7
Replace 'bin/worker.php' calls and help 2025-01-05 23:13:39 +01:00
Philipp
7b952e3c94
Replace 'bin/daemon.php' and 'bin/jetstream.php' calls and help 2025-01-05 23:13:38 +01:00
Philipp
8f43ab9573
Update doc 2025-01-05 23:13:37 +01:00
Philipp
c58cd835d2
Move 'bin/worker.php' to 'bin/console.php worker' 2025-01-05 23:13:37 +01:00
Philipp
07c4e606e1
Merge pull request #14673 from annando/issue-14275
Issue 14275: Avoid "Data too long" error
2025-01-05 22:03:55 +00:00
Michael
c2e940c4f9 Code Style fixed for "Photo.php" 2025-01-05 21:43:16 +00:00
Michael
fff8cf1c34 Issue 14275: Avoid "Data too long" error 2025-01-05 21:35:06 +00:00
Hypolite Petovan
7a7a74d93e
Merge pull request #14668 from annando/mime
Use the fetched mimetype if present / improved detection of quoted posts
2025-01-05 10:34:24 -05:00
Michael
9bcd00bfa8 Fix code style Receiver.php 2025-01-05 08:48:02 +00:00
Michael
8d1971e0b2 Fix code style Media.php 2025-01-05 08:29:10 +00:00
Michael
503e33a683 Use the fetched mimetype if present 2025-01-04 22:19:16 +00:00
Philipp
1c63cc7ee9
Merge pull request #14663 from MrPetovan/bug/fatal-errors
Restore template engine registration for Worker execution
2025-01-03 09:43:02 +00:00
Hypolite Petovan
c2dbd40027 Restore template engine registration for Worker execution
- Template engine is used in BBCode processing
2025-01-02 18:30:30 -05:00
Hypolite Petovan
e177ad55c1
Merge pull request #14660 from annando/set-quote-id
Set the quote-uri-id when a post is linked
2025-01-02 12:05:35 -05:00
Michael
4a61867f79 Set the quote-uri-id when a post is linked 2025-01-02 16:57:30 +00:00
Hypolite Petovan
28b26c892b
Merge pull request #14658 from tobiasd/20250102-note
CHANGELOG note for 2025.02
2025-01-02 08:42:11 -05:00
Tobias Diekershoff
4198236f6a
Update CHANGELOG
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-02 14:37:53 +01:00
Hypolite Petovan
8215b5de83
Merge pull request #14655 from nupplaphil/feat/worker_daemon
Add JetStream to Console
2025-01-02 07:40:03 -05:00
Philipp
0d2419e402
updated message 2025-01-02 13:06:42 +01:00
Philipp
efa912c373
Add deprecation notice 2025-01-02 13:03:28 +01:00
Philipp
9cdc1dde0e
remove dependency 2025-01-02 12:54:46 +01:00
Philipp
1f9e1285af
Move Addon/Hook dependency where it belongs :) 2025-01-02 12:54:45 +01:00
Philipp
96332720e5
Update messages.po ... 2025-01-02 12:54:43 +01:00
Philipp
320103af77
Make PHP-CS even more happy :) 2025-01-02 12:54:42 +01:00
Philipp
bc5d3b6c3a
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2025-01-02 12:54:40 +01:00
Philipp
2b5882855b
Make PHP-CS even more happy :) 2025-01-02 12:54:39 +01:00
Philipp
f2ce5647f2
Make PHP-CS super-happy :) 2025-01-02 12:54:37 +01:00
Philipp
3e5872d0b1
Add docs :-) 2025-01-02 12:54:35 +01:00
Philipp
3d2524532f
Add Jetstream daemon to console 2025-01-02 12:54:34 +01:00
Philipp
64e66acb01
Add system daemon class 2025-01-02 12:54:19 +01:00
Tobias Diekershoff
b2ea4dbab7 CHANGELOG note for 2025.02
This adds a note to the CHANGELOG so the important deprecation information is not forgotten.

see #14642
2025-01-02 07:42:07 +01:00
Hypolite Petovan
092958441b
Merge pull request #14656 from nupplaphil/feat/fix-codestyle
Add `bin/dev/fix-codestyle.sh`
2025-01-01 21:01:34 -05:00
Philipp
ad549cc5d6
Execute COMMAND=fix TARGET_BRANCH=develop bin/dev/fix-codestyle.sh 2025-01-02 02:03:58 +01:00
Philipp
0ff7a1c72b
temporary add App.php 2025-01-02 02:01:34 +01:00
Philipp
7cead7b168
Add fix-codestyle.sh 2025-01-02 02:01:31 +01:00
Michael Vogel
999d5d58ec
Merge pull request #14645 from MrPetovan/docs/making-new-friends
Fix links in Quick-Start-makingnewfriends
2025-01-01 22:56:00 +01:00
Michael Vogel
d540ec7f8d
Merge pull request #14654 from MrPetovan/bug/14607-view-group
Prevent contact id = 0 case in VCard
2025-01-01 22:54:06 +01:00
Hypolite Petovan
e3aa9b8121 Prevent contact id = 0 case in VCard 2025-01-01 16:17:31 -05:00
Hypolite Petovan
c0d4cb918a Fix links in Quick-Start-makingnewfriends
- Update German version as well
2025-01-01 15:51:26 -05:00
Hypolite Petovan
d2dce46184
Merge pull request #14652 from nupplaphil/ci/stable_pick
[CI] Fix releaser
2025-01-01 15:45:29 -05:00
Philipp
0ece5a530c [CI] Fix releaser 2025-01-01 15:45:06 -05:00
Hypolite Petovan
ee9f6d73d6
Merge pull request #14653 from nupplaphil/fix/messages_po
Fix messages.po - Happy new year ;-)
2025-01-01 15:40:06 -05:00
Philipp
ec2fefee30
Fix messages.po - Happy new year ;-) 2025-01-01 20:31:42 +01:00
Hypolite Petovan
8b47378720 Welcome version 2025.02-dev!
# Conflicts:
#	CHANGELOG
#	VERSION
#	database.sql
#	src/App.php
#	view/lang/C/messages.po
2025-01-01 12:16:35 -05:00
Tobias Diekershoff
22732678cd 2024.12 2024-12-31 22:13:29 +01:00
Tobias Diekershoff
3ec12bb27b CHANGELOG for 2024.12 2024-12-31 22:07:35 +01:00
Tobias Diekershoff
c6c1833c0b
Merge pull request #14496 from tobiasd/2024.09-CHANGELOG
CHANGELOG for 2024.10
2024-12-31 21:58:14 +01:00
Tobias Diekershoff
b0adddf07f
Merge pull request #14497 from tobiasd/2024.09-Credits
updated credits
2024-12-31 19:34:20 +01:00
Hypolite Petovan
acf98cc6d4
Merge pull request #14642 from nupplaphil/feat/console/daemon
Moving the daemon to a Console class
2024-12-30 11:50:53 -05:00
Hypolite Petovan
6fdd12611c
Merge pull request #14644 from nupplaphil/vagrant
[Vagrant] Upgrade & Fixup
2024-12-30 11:49:52 -05:00
Philipp
eebc2d9a79
Don't feed the daemons! 2024-12-30 17:48:53 +01:00
Hypolite Petovan
268af9517a
Merge pull request #14643 from nupplaphil/ci/warnings
[CI] Fixup warnings & use php-cs directly
2024-12-30 11:48:46 -05:00
Philipp
7a14548c04
Fixing name 2024-12-30 17:44:40 +01:00
Philipp
cf76659257
[CI] Fix "bad_habit" warnings from woodpecker 2024-12-30 16:13:07 +01:00
Philipp
24e7bb1806
Improve vagrant provisioning 2024-12-30 15:40:33 +01:00
Philipp
b5748601e3
Add php-intl 2024-12-30 15:30:48 +01:00
Philipp
53e315b417
[Vagrant] Upgrade to bookworm 2024-12-30 15:30:43 +01:00
Philipp
a5649bdaeb
Make PHP-CS happy 2024-12-30 12:46:24 +01:00
Philipp
22ce71e792
Move daemon to Console Command 2024-12-30 12:41:14 +01:00
Philipp
b0ec3ad0c9
Move daemon to Console Command 2024-12-30 12:40:42 +01:00
Hypolite Petovan
afa2969b39
Merge pull request #14637 from Art4/refactor-entrypoint-jetstream.php
Refactor entrypoint `jetstream.php`
2024-12-29 10:51:54 -05:00
Art4
515ae7693b Merge branch 'develop' into refactor-entrypoint-jetstream.php 2024-12-29 07:43:27 +00:00
Hypolite Petovan
3f39b6366f
Merge pull request #14628 from Art4/refactor-entrypoint-worker.php
Refactor entrypoint `worker.php`
2024-12-28 20:11:41 -05:00
Hypolite Petovan
f484dc8bd8
Merge pull request #14635 from Art4/remove-dice-from-router
Remove DICE from router
2024-12-28 20:07:45 -05:00
Art4
3309bc818a Fix duplicate usage of the $mode variable 2024-12-28 23:36:15 +00:00
Art4
0fd84f5864 Let phpstan check the jetstream.php file 2024-12-28 23:04:50 +00:00
Art4
84d7188f0c remove unused use statements 2024-12-28 23:01:22 +00:00
Art4
1bfcd0ac6e refactor App::processJetstream 2024-12-28 23:00:23 +00:00
Art4
8fef32b954 run setup functions 2024-12-28 22:57:24 +00:00
Art4
318c57df12 Inline jetstream.php code into App::processJetstream() 2024-12-28 22:53:54 +00:00
Art4
6e44d6c7e4 add shutdown handler as anonymous function 2024-12-28 22:50:49 +00:00
Art4
24ce6180c4 require dice dependency 2024-12-28 22:44:23 +00:00
Art4
bb0900093d refactor chdir() call 2024-12-28 22:39:20 +00:00
Tobias Diekershoff
d4b83ed92f
updated CHANGELOG for addons 2024-12-28 22:55:13 +01:00
Tobias Diekershoff
fc81be2c50
updated CHANGELOG 2024-12-28 22:49:36 +01:00
Tobias Diekershoff
f2c1b326cb
Merge pull request #14636 from annando/fix-get-did
DID has to be fetched all the time
2024-12-28 22:25:04 +01:00
Michael
494bc8b8f1 DID has to be fetched all the time 2024-12-28 20:40:53 +00:00
Art4
dde8291597 Move getModule() code into App class 2024-12-28 16:36:07 +00:00
Art4
4d0a695588 use $dice_profiler_threshold in Router not as property 2024-12-28 16:30:33 +00:00
Hypolite Petovan
f9f24b3881
Merge pull request #14633 from bmillwood/fix-scope-check
Fix duplicate SCOPE_WRITE check
2024-12-28 09:04:09 -05:00
Ben Millwood
442dcd1688 Fix duplicate SCOPE_WRITE check
It's pretty clear from context this is intended to be SCOPE_FOLLOW. It's
been like this ever since it was introduced in revision 49207a8
2024-12-28 09:03:09 -05:00
Hypolite Petovan
9944311b95
Merge pull request #14632 from annando/issue-13943
Issue 13943: Notify users on login that they are blocked
2024-12-28 09:00:49 -05:00
Art4
fa315cf44a remove constructor injection of Dice in Router 2024-12-28 13:10:28 +00:00
Art4
182732b112 Extract create module into own method 2024-12-28 13:07:07 +00:00
Art4
7cb962de82 move Router creation into App::runFrontend() 2024-12-28 12:58:09 +00:00
Art4
126ec1977b Merge branch 'develop' into refactor-entrypoint-worker.php 2024-12-28 07:01:04 +00:00
Michael
7342c6e468 Issue 13943: Notify users on login that they are blocked 2024-12-28 00:35:44 +00:00
Michael Vogel
c7c029a044
Merge pull request #14631 from mexon/mat/schemaorg
Repair schema.org context.
2024-12-27 21:41:47 +01:00
Matthew Exon
ba26e9c06d Only replace schema.org if it is a top-level context 2024-12-27 21:28:11 +01:00
Hypolite Petovan
5af1dce914
Merge pull request #14626 from Art4/refactor-entrypoint-daemon.php
Refactor entrypoint `daemon.php`
2024-12-27 15:16:35 -05:00
Hypolite Petovan
f29c927b75
Merge pull request #14629 from annando/uri-search
Improve URL detection in searches
2024-12-27 15:14:19 -05:00
Art4
84f4c8d3fa Merge branch 'refactor-entrypoint-daemon.php' into refactor-entrypoint-worker.php 2024-12-27 18:55:27 +00:00
Art4
f0824903b9 Merge branch 'develop' into refactor-entrypoint-daemon.php 2024-12-27 18:55:05 +00:00
Matthew Exon
b2012947ac Repair schema.org context. Fixes #14630 2024-12-27 17:51:43 +01:00
Hypolite Petovan
02662ecd11
Merge pull request #14625 from Art4/refactor-entrypoint-console.php
Refactor entrypoint `console.php`
2024-12-27 10:03:58 -05:00
Michael
951999957e Improve URL detection in searches 2024-12-27 13:08:09 +00:00
Art4
83a3bc44af Split method Item::insert() 2024-12-27 11:45:28 +00:00
Art4
5d5d1ca7b2 Merge branch 'develop' into introduce-phpmd 2024-12-27 11:28:55 +00:00
Art4
030905fafa Merge branch 'refactor-entrypoint-daemon.php' into refactor-entrypoint-worker.php 2024-12-27 11:19:17 +00:00
Art4
82d987cb1d Merge branch 'refactor-entrypoint-console.php' into refactor-entrypoint-daemon.php 2024-12-27 11:19:00 +00:00
Art4
1fab37f74e Merge branch 'develop' into refactor-entrypoint-console.php 2024-12-27 11:02:42 +00:00
Hypolite Petovan
e3067095f4
Merge pull request #14616 from Art4/refactor-dice-rules
Refactor DICE rules
2024-12-26 23:23:59 -05:00
Art4
04e92766fc Refactor calling process repository 2024-12-26 19:29:23 +00:00
Art4
867eba7381 Replace DI::basePath() with BasePath service 2024-12-26 19:17:18 +00:00
Art4
caec1ed576 replace DI::mode() with container 2024-12-26 19:15:33 +00:00
Art4
3ae9ae8728 use registerErrorHandler() in processWorker() 2024-12-26 19:13:34 +00:00
Art4
e0a249f9a4 Refactor r init service locator 2024-12-26 19:12:32 +00:00
Art4
31deac5117 Refactor setup Container for Logger 2024-12-26 19:11:54 +00:00
Art4
8edca631e6 Refactor setup Container for addons 2024-12-26 19:11:21 +00:00
Art4
c5d7f26a8c Move code from worker.php into App::processWorker() 2024-12-26 19:04:27 +00:00
Art4
bb9e09ef51 check worker.php with PHPStan 2024-12-26 18:58:07 +00:00
Art4
2d1142743e Merge branch 'refactor-entrypoint-daemon.php' into refactor-entrypoint-worker.php 2024-12-26 18:44:15 +00:00
Art4
0300447298 Merge branch 'refactor-entrypoint-console.php' into refactor-entrypoint-daemon.php 2024-12-26 18:42:47 +00:00
Art4
9d25db0e86 Merge branch 'develop' into refactor-entrypoint-console.php 2024-12-26 18:37:44 +00:00
Art4
962a76759f Fix indentation 2024-12-26 18:36:40 +00:00
Hypolite Petovan
5518672677
Merge pull request #14623 from Art4/refactor-entrypoint-auth_ejabberd.php
Refactor entrypoint `auth_ejabberd.php`
2024-12-26 12:10:25 -05:00
Art4
e685ff8837 Fix method call for App::setupLegacyServiceLocator 2024-12-26 17:06:41 +00:00
Art4
2623ff5484 Merge branch 'refactor-entrypoint-console.php' into refactor-entrypoint-daemon.php 2024-12-26 17:04:35 +00:00
Art4
adee070ee6 Merge branch 'refactor-entrypoint-auth_ejabberd.php' into refactor-entrypoint-console.php 2024-12-26 17:03:42 +00:00
Art4
2ed1b969fb rename App::setupLegacyServiceLocator() 2024-12-26 16:59:15 +00:00
Hypolite Petovan
7a17d7ab02
Merge pull request #14624 from tobiasd/20241226-lng
updated translations
2024-12-26 09:56:43 -05:00
Art4
bb911296a6 require dice rules 2024-12-26 14:08:40 +00:00
Art4
51b24cbac9 refactor getopt() call 2024-12-26 13:57:46 +00:00
Art4
06f0c6c32c Merge branch 'refactor-entrypoint-daemon.php' into refactor-entrypoint-worker.php 2024-12-26 13:56:49 +00:00
Art4
cdf3361f2a update messages.po 2024-12-26 13:44:57 +00:00
Art4
3c2db734d6 Merge branch 'refactor-entrypoint-daemon.php' into refactor-entrypoint-worker.php 2024-12-26 12:23:07 +00:00
Art4
5ca887d839 Check more bin files with PHPStan 2024-12-26 12:22:39 +00:00
Art4
619cb730ef Fix possible falsy return of getopt() 2024-12-26 12:18:03 +00:00
Art4
40927178f4 refactor chdir() in worker.php 2024-12-26 11:56:25 +00:00
Art4
894cd5814f remove HTTPInputData as argument 2024-12-26 11:41:37 +00:00
Art4
17ff47f6d5 remove dependency to global $_GET 2024-12-26 11:35:32 +00:00
Art4
082ed8745b rename server vars 2024-12-26 11:33:45 +00:00
Art4
a09e182238 work with PSR-7 Request in App::runFrontend() 2024-12-26 11:33:00 +00:00
Art4
11540a8bff Replace DI::system() with container 2024-12-26 10:49:34 +00:00
Art4
aba54ebbbe Replace DI::basePath() with container 2024-12-26 10:46:54 +00:00
Art4
bcbdcbd1ff Replace DI::keyValue() with container 2024-12-26 10:42:41 +00:00
Art4
f3703f433e resolve double used variable name 2024-12-26 10:38:10 +00:00
Art4
81d28bbb4c Replace DI::config() with container 2024-12-26 10:34:32 +00:00
Art4
502d0d1b53 Replace DI::mode() with container 2024-12-26 10:30:09 +00:00
Art4
cb5a1daa40 extract dependency for $_SERVER 2024-12-26 10:27:44 +00:00
Art4
eb0e1c393f Fix indent for HEREDOC 2024-12-26 10:26:10 +00:00
Art4
68e729e192 refactor using registerErrorHandler 2024-12-26 10:18:03 +00:00
Art4
dc65958c17 refactor setup DI 2024-12-26 10:17:22 +00:00
Art4
8ed5dd3a30 refactor setup container for addons and logger 2024-12-26 10:16:01 +00:00
Art4
a2c4585914 simplify class names 2024-12-26 10:13:04 +00:00
Art4
bac5f00190 Move daemon.php code into App::processDaemon() method 2024-12-26 10:07:03 +00:00
Art4
d8509b426d Register shutdown function as anonymous function 2024-12-26 09:31:36 +00:00
Art4
4348b0b873 Move daemon code into anonymous function 2024-12-26 09:30:44 +00:00
Art4
287e50f81a require the dependencies.config.php file 2024-12-26 09:26:23 +00:00
Art4
341f5b46f6 refactor getopt() call 2024-12-26 09:24:12 +00:00
Art4
0cd2b8e2c0 Refactor chdir() call 2024-12-26 09:05:50 +00:00
Art4
38ad97f24f Refactor App::load() method 2024-12-26 08:45:57 +00:00
Art4
ba6bde9b09 move up registerTemplateEngine call 2024-12-26 08:29:11 +00:00
Art4
a6385bed71 Refactor registering template engine 2024-12-26 08:27:02 +00:00
Art4
e9b92aea7b Move call of register the template engine into App 2024-12-26 08:24:19 +00:00
Art4
ffbc7d0ea1 Remove multiple calls of DI::init() 2024-12-26 08:15:20 +00:00
Art4
0afa5aba63 Setup container with explicit LogChannel 2024-12-26 08:10:06 +00:00
Art4
cf8ce380b7 Refactor App::processConsole() 2024-12-26 08:01:30 +00:00
Tobias Diekershoff
593b4fcb2d updated translations 2024-12-26 08:45:47 +01:00
Art4
f40b428ac2 Move code from console.php into App::processConsole() 2024-12-26 07:44:19 +00:00
Art4
907e07a4c4 Replace global $argv with $_SERVER 2024-12-26 07:39:43 +00:00
Art4
486a6ba8c6 require dependencies.config.php file in console.php entry point 2024-12-26 07:29:39 +00:00
Art4
c99958c327 require dependencies.config.php file in index.php entry point 2024-12-26 07:26:04 +00:00
Art4
ed06480e75 Remove comment 2024-12-26 07:00:21 +00:00
Art4
e59dd9d9d4 Merge branch 'develop' into refactor-entrypoint-auth_ejabberd.php 2024-12-26 06:31:21 +00:00
Hypolite Petovan
a8963c3ba2
Merge pull request #14618 from Art4/merge-2024.09-rc-into-develop
Merge `2024.09-rc` into `develop`
2024-12-25 22:38:07 -05:00
Hypolite Petovan
9921abc8bd
Merge pull request #14619 from Art4/remove-di-app-method
Remove `DI::app()`
2024-12-25 22:36:25 -05:00
Hypolite Petovan
90181759cd
Merge pull request #14620 from Art4/refactor-entrypoint-index.php
Refactor entrypoint in `index.php`
2024-12-25 22:27:42 -05:00
Art4
26f1c5f1dc inline App::setupContainerForRunningFrontend() method 2024-12-25 21:27:08 +00:00
Art4
ce7fd1b0e2 extract setup of DI class 2024-12-25 21:20:08 +00:00
Art4
d2f2d1d0b9 Use App::registerErrorHandler() 2024-12-25 21:17:02 +00:00
Art4
f7c661b5e9 Extract call of AddonLoader into App::setupContainerForAddons() 2024-12-25 21:16:00 +00:00
Art4
34b2419427 Move auth_ejabberd.php code into App::processEjabberd() 2024-12-25 21:12:24 +00:00
Art4
e0dadea0ff Refactor path to dice rules 2024-12-25 21:01:24 +00:00
Art4
b94697678e refactor chdir() call 2024-12-25 20:43:15 +00:00
Art4
530a93794f Fix PHPStan error 2024-12-25 18:37:13 +00:00
Art4
d55830902b Reduce cyclomatic complexity in GServer::detect() 2024-12-25 18:33:04 +00:00
Art4
6684f0d5c7 Reduce cyclomatic complexity in APContact::getByURL() 2024-12-25 18:21:27 +00:00
Art4
c83099c8d0 Change output format in Github 2024-12-25 16:17:31 +00:00
Art4
19659296eb enable cache and colors in phpmd 2024-12-25 15:59:16 +00:00
Art4
9ed137a119 Add phpmd as code quality check in github actions 2024-12-25 15:28:05 +00:00
Art4
36dbae7642 Add script to run phpmd with composer 2024-12-25 15:25:34 +00:00
Art4
5fe7af6489 Add very tolerant ruleset for friendica code 2024-12-25 15:19:31 +00:00
Art4
f775d6e049 install phpmd 2024-12-25 10:41:37 +00:00
Art4
7d10d04768 Extract register error handler into separate method 2024-12-23 15:30:42 +00:00
Art4
3c4da64348 Refactor App::setupContainerForRunningFrontend() 2024-12-23 15:28:57 +00:00
Art4
66822c6a81 Rename App variable 2024-12-23 15:26:35 +00:00
Art4
856f8fb908 Move adding Dice rules into App 2024-12-23 15:22:27 +00:00
Art4
ae0cab36dc Improve BasePath tests 2024-12-23 14:51:58 +00:00
Art4
0bd8118673 Fix code style 2024-12-23 14:51:41 +00:00
Art4
dd4fbc0194 Replace Util class names with FQCN 2024-12-23 14:34:57 +00:00
Art4
899ac663fc Replace Network class names with FQCN 2024-12-23 14:34:23 +00:00
Art4
011c098c63 Replace Model class names with FQCN 2024-12-23 14:32:47 +00:00
Art4
c33223a0eb Replace Database class names with FQCN 2024-12-23 14:31:41 +00:00
Art4
ce5789690d Replace Core class names with FQCN 2024-12-23 14:30:14 +00:00
Art4
5edc36d6fc Fix PHPDoc and add link to DICE docs 2024-12-23 14:28:01 +00:00
Art4
31a731deb7 Refactor dependency for $_COOKIE 2024-12-23 14:23:58 +00:00
Art4
48bd6b2f81 Refactor dependency for $basepath 2024-12-23 14:22:52 +00:00
Art4
b4762238ed Replace DiceInstanceManager class names with FQCN 2024-12-23 14:19:31 +00:00
Art4
7587517499 Refactor dependency for $_GET 2024-12-23 14:18:22 +00:00
Art4
c53a75bc38 Refactor dependency for $_SERVER 2024-12-23 14:12:37 +00:00
Art4
5803c1e760 Replace Hooks class names with FQCN 2024-12-23 14:11:45 +00:00
Art4
f1405cdb6c Replace Config class names with FQCN 2024-12-23 14:06:04 +00:00
Art4
4a766b9750 Replace class names with FQCN 2024-12-23 14:03:32 +00:00
Art4
b9b44931ac Remove Dice rules for $basepath 2024-12-23 13:42:01 +00:00
Art4
4deb28f24e Refactor DI::basePath() to use BasePath class 2024-12-23 13:40:53 +00:00
Art4
3a491b879c Replace more calls of dirname() with $basepath 2024-12-23 13:35:46 +00:00
Art4
a0e77032cf remove $basepath from global namespace 2024-12-23 13:34:10 +00:00
Art4
73fb1f1549 Remove DI::app() method 2024-12-23 12:39:11 +00:00
Art4
22b1f871a8 Merge branch 'develop' into refactor-dice-rules 2024-12-23 12:08:38 +00:00
Art4
b1d78e34db Remove checks if result body is not an object 2024-12-23 11:37:52 +00:00
Art4
ae2b6e3bb7 Fix PHPStan errors from upstream 2024-12-23 10:45:15 +00:00
Art4
1b4d0d0bb0 Merge branch '2024.09-rc' into merge-2024.09-rc-into-develop 2024-12-23 10:18:56 +00:00
Hypolite Petovan
19cd11cc8e
Merge pull request #14538 from Art4/restore-github-actions
Add optional GitHub Action for PHP tests
2024-12-22 22:06:58 -05:00
Art4
6f570a08e5 declare strict mode in unit tests 2024-12-22 18:48:46 +00:00
Art4
75772d874f refactor BasePathTest 2024-12-22 18:47:57 +00:00
Art4
704ddc2089 simplify basepath 2024-12-22 18:03:54 +00:00
Hypolite Petovan
1b3ba3199e
Merge pull request #14613 from annando/documentation
Documentation to connectors updated
2024-12-22 12:01:39 -05:00
Art4
9987c90faf Refactor getting the basepath 2024-12-22 16:29:47 +00:00
Art4
b801e176aa Merge database and unit tests into one workflow 2024-12-22 14:36:19 +00:00
Art4
432f28ecd1 merge code quality checks into on workflow 2024-12-22 14:29:13 +00:00
Michael
2cb212ba28 Documentation to connectors updated 2024-12-22 08:12:13 +00:00
Michael Vogel
6d983c906a
Merge pull request #14612 from nupplaphil/bug/ci
[CI] Fix codecov
2024-12-22 09:09:17 +01:00
Philipp
071cb70817
Fix codecov token env 2024-12-22 08:54:54 +01:00
Philipp
cf59c64489
Update messages.po 2024-12-22 08:45:30 +01:00
Philipp
2ea1576f0f
[CI] Fix codecov 2024-12-22 08:37:49 +01:00
Art4
af4cac91b1 Run PHP-CS-Fixer with PHP 8.3 2024-12-22 07:27:07 +00:00
Art4
f8b96c562a Add codestyle check 2024-12-22 07:23:49 +00:00
Art4
af655ff392 rename workflows and test cases 2024-12-22 07:05:25 +00:00
Art4
9803bd731c Merge branch 'develop' into restore-github-actions 2024-12-22 07:02:24 +00:00
Art4
3b8aac4c55 Add tests with PHP 8.5 2024-12-22 06:56:30 +00:00
Art4
1b4ace329e Rename tests, use composer v2 2024-12-22 06:55:09 +00:00
Art4
dd4467043a Set bin path to phpunit 2024-12-22 06:51:37 +00:00
Art4
57da3416c5 clone addon repository 2024-12-22 06:41:11 +00:00
Art4
ab22464d55 better healtcheck for mariadb 2024-12-22 06:38:16 +00:00
Hypolite Petovan
e7e0ae3784
Merge pull request #14603 from Art4/create-app-from-container
Add `App::fromDice()` factory method
2024-12-21 21:35:01 -05:00
Hypolite Petovan
183e3c48e6
Merge pull request #14611 from annando/issue-14609
Issue 14609: Avoid endless worker repetition in case of an execution error
2024-12-21 21:31:52 -05:00
Michael
322b24ea05 Issue 14609: Avoid endless worker repetition in case of an execution error 2024-12-21 21:46:23 +00:00
Hypolite Petovan
6e0d155b43
Merge pull request #14604 from annando/issue-14344
Issue 14344: Contact import is relocated to a dedicated place
2024-12-21 15:59:25 -05:00
Hypolite Petovan
775624ec24
Merge pull request #14610 from annando/media-post
Improved check for attached Fediverse posts
2024-12-21 11:47:09 -05:00
Hypolite Petovan
4728d1919f
Merge pull request #14608 from annando/atproto
Unneeded line removed / improved status handling
2024-12-21 11:43:32 -05:00
Michael
9e19e90b75 Improved check for attached Fediverse posts 2024-12-21 15:25:24 +00:00
Michael
794bfcff1d Unneeded line removed / improved status handling 2024-12-21 08:26:56 +00:00
Art4
c949032fc7 Remove src tests 2024-12-20 21:49:34 +00:00
Art4
722164711c test only src tests 2024-12-20 21:36:06 +00:00
Art4
2fba79929d add tests workflow 2024-12-20 21:32:59 +00:00
Art4
81b87e9ca4 Add workflow for unit tests 2024-12-20 21:26:05 +00:00
Art4
d9841eeea3 Add Github workflow for PHPStan 2024-12-20 21:07:53 +00:00
Art4
0bdc1d9f57 Let phpstan check index.php 2024-12-20 20:56:26 +00:00
Art4
2f9f873f4b refactor App::runFrontend() 2024-12-20 13:38:38 +00:00
Art4
7a4542cd50 refactor App 2024-12-20 13:24:25 +00:00
Art4
ea07b83fd0 adjust tests 2024-12-20 13:21:35 +00:00
Art4
0ab9c23bb9 Refactor App::fromDice() 2024-12-20 12:30:26 +00:00
Art4
9e4f39b4fb Inline runFrontend() call into App::processRequest() method 2024-12-20 10:07:59 +00:00
Art4
ee5b210682 Inline mode call into App::processRequest() 2024-12-20 10:05:13 +00:00
Art4
7a7b8d3e27 Inline App::load() call in new processRequest() method 2024-12-20 10:04:02 +00:00
Art4
40fa8559e5 Merge branch 'develop' into create-app-from-container 2024-12-20 09:26:14 +01:00
Michael
ea5417a6a3 Issue 14344: Contact import is relocated to a dedicated place 2024-12-20 08:22:56 +00:00
Hypolite Petovan
3e3fe92567
Merge pull request #14602 from Art4/remove-apphelper-implementation-from-app
Remove `AppHelper` implementation in `App` class
2024-12-19 17:58:14 -05:00
Art4
9ef3fdc857 move load() call outside of constructor to remove side effects 2024-12-19 21:01:41 +00:00
Art4
23e3af4a09 Create tests for App 2024-12-19 20:37:56 +00:00
Art4
af51441d88 require AppHelper in App 2024-12-19 20:26:38 +00:00
Art4
241031f1fa inject container inside app instance 2024-12-19 20:24:24 +00:00
Art4
16bdd76be1 Create PSR-7 request 2024-12-19 20:07:37 +00:00
Art4
d6ec1d7d6b Prevent App class to be used with dependency injection 2024-12-19 20:03:42 +00:00
Art4
d05b2dd8c2 Merge branch 'remove-apphelper-implementation-from-app' into create-app-from-container 2024-12-19 19:51:51 +00:00
Art4
1c4d021b67 Merge branch 'develop' into remove-apphelper-implementation-from-app 2024-12-19 19:50:36 +00:00
Hypolite Petovan
d0d9712ac3
Merge pull request #14593 from Art4/replace-app-with-apphelper-in-tests
Replace App with AppHelper in tests
2024-12-19 07:30:33 -05:00
Art4
ce6ae1d98c Merge branch 'develop' into restore-github-actions 2024-12-18 22:27:07 +00:00
Art4
1c7446bf9a Create App::fromDice() factory method 2024-12-18 22:16:34 +00:00
Art4
23b19b76b5 Provide appHelper in Page run() method 2024-12-18 21:57:39 +00:00
Art4
6b948c82d7 Remove AppHelper implementation from App class 2024-12-18 21:30:36 +00:00
Art4
a583cc9b0e replace more calls of DI::app(), add workaround for tests 2024-12-18 21:19:01 +00:00
Art4
ba65cad1cd Replace DI::app() with DI::appHelper() in more tests 2024-12-18 21:06:55 +00:00
Art4
b2a383a9cb Replace DI::app() with DI::appHelper() in Module\Api\Friendica namespace tests 2024-12-18 20:55:39 +00:00
Art4
1d441ab657 remove unnecessary Di::app() all 2024-12-18 19:57:00 +00:00
Art4
e16d9ace34 Merge branch 'develop' into replace-app-with-apphelper-in-tests 2024-12-18 19:47:57 +00:00
Hypolite Petovan
1aca64d0d6
Merge pull request #14600 from annando/warnings
Fix some notices / reduce the number of warnings
2024-12-17 07:18:51 -05:00
Michael
2856b1126c Fix some notices / reduce the number of warnings 2024-12-17 04:46:55 +00:00
Hypolite Petovan
2ebac8207f
Merge pull request #14599 from Art4/fix-phpstan-errors
Fix phpstan errors
2024-12-16 21:01:36 -05:00
Art4
99d6599747 Merge branch 'fix-phpstan-errors' into replace-app-with-apphelper-in-tests 2024-12-16 22:37:37 +00:00
Art4
228ca0bfac Fix type 2024-12-16 22:36:15 +00:00
Art4
cc9ff34e45 Fix phpstan errors 2024-12-16 22:32:12 +00:00
Art4
c70da6641f Merge branch 'develop' into replace-app-with-apphelper-in-tests 2024-12-16 22:13:47 +00:00
Hypolite Petovan
657ccaf226
Merge pull request #14597 from Art4/rearange-testcases
Rearrange testcases
2024-12-16 09:23:40 -05:00
Hypolite Petovan
65ca688da6
Merge pull request #14598 from Art4/merge-2024.09-rc-into-develop
Merge 2024.09-rc into develop
2024-12-16 09:22:10 -05:00
Hypolite Petovan
012cce1ac7
Merge pull request #14590 from Art4/phpstan-level-2-in-addons
Fix PHPStan errors level 2 in addons
2024-12-16 09:14:29 -05:00
Art4
c6c29b29b1 Merge branch '2024.09-rc' into merge-2024.09-rc-into-develop 2024-12-16 11:06:45 +01:00
Art4
4f1b917e42 Remove unused AppDouble class 2024-12-15 22:15:46 +00:00
Art4
c24d36c02e Merge branch 'rearange-testcases' into replace-app-with-apphelper-in-tests 2024-12-15 22:03:06 +00:00
Art4
f7d8240d2c Merge branch 'develop' into replace-app-with-apphelper-in-tests 2024-12-15 21:58:13 +00:00
Art4
b60f9863c6 clean use statements 2024-12-15 21:51:22 +00:00
Art4
f8bb565fa5 Rename StorageTest with StorageTestCase 2024-12-15 21:36:40 +00:00
Art4
8401b5b0ee rename StorageConfigTest to StorageConfigTestCase 2024-12-15 21:32:23 +00:00
Art4
b09fb1047f Rename AbstractLoggerTest to LoggerTestCase 2024-12-15 21:28:34 +00:00
Art4
75632a1490 Rename LockTest to LockTestCase 2024-12-15 21:15:21 +00:00
Art4
a676e738e0 Rename MemoryCacheTest to MemoryCacheTestCase 2024-12-15 21:09:57 +00:00
Art4
0826cb50bd Rename CacheTest to CacheTestCase 2024-12-15 21:06:49 +00:00
Art4
75fee6784e Rename PConfigTest to PConfigTestCase 2024-12-15 16:13:53 +00:00
Art4
78f7285e00 Merge branch 'develop' into phpstan-level-2-in-addons 2024-12-15 06:57:52 +00:00
Hypolite Petovan
8210f5c7e5
Merge pull request #14584 from Art4/phpstan-level-2
PHPStan level 2
2024-12-14 16:54:02 -05:00
Art4
f3f52efe18 Inline KeyValueStorageTest into DBKeyValueStorageTest 2024-12-14 21:33:16 +00:00
Art4
7e05416da6 Renemae Notification entity alias 2024-12-14 20:12:04 +00:00
Hypolite Petovan
a7160e4a1f
Merge pull request #14596 from annando/probe-at-proto
Native probe support for AT-Proto
2024-12-14 12:08:19 -05:00
Michael
ec702f2deb Native probe support for AT-Proto 2024-12-14 15:27:18 +00:00
Art4
76e5495e15 Remove unused use statement 2024-12-14 14:58:34 +00:00
Art4
59404752f9 Change return type 2024-12-14 14:58:19 +00:00
Art4
6a2e8739d1 Rename variable 2024-12-14 14:53:56 +00:00
Art4
8178f87e61 Rename class alias 2024-12-14 14:49:52 +00:00
Artur Weigandt
18d847275a
Update src/Contact/FriendSuggest/Repository/FriendSuggest.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-12-14 15:45:50 +01:00
Art4
54ee36a6aa Rename ConsoleTest to ConsoleTestCase 2024-12-14 08:16:37 +00:00
Art4
9f8023b91f rename and move ApiTest to ApiTestCase 2024-12-14 07:56:34 +00:00
Art4
cb6269eddb Fix path to tests 2024-12-14 07:55:22 +00:00
Art4
346b42fba5 Fix use statements 2024-12-14 07:55:22 +00:00
Art4
5430d65799 rename DatabaseTest to DatabaseTestCase 2024-12-14 07:55:22 +00:00
Art4
42b543cd24 rename FixtureTest to FixtureTestCase 2024-12-14 07:55:22 +00:00
Art4
ee579280c7 Rename MockedTest to MockedTestCase 2024-12-14 07:55:22 +00:00
Art4
9a28eee477 Add suffix for PHPUnit test cases 2024-12-14 07:55:22 +00:00
Art4
e8c1f4ec2b Fix path to tests 2024-12-13 22:47:32 +00:00
Art4
b3cf518628 rename and move ApiTest to ApiTestCase 2024-12-13 22:42:27 +00:00
Art4
06667fc37c Fix use statements 2024-12-13 22:22:50 +00:00
Art4
4f02c9ca88 rename DatabaseTest to DatabaseTestCase 2024-12-13 22:10:30 +00:00
Art4
c00a7c571a rename FixtureTest to FixtureTestCase 2024-12-13 22:04:16 +00:00
Hypolite Petovan
59f7f87226
Merge pull request #14594 from annando/media-types
Reduce the number of HTTP requests in the media handling
2024-12-13 16:46:32 -05:00
Michael
e7d9c6c254 Reduce the number of HTTP requests in the media handling 2024-12-13 19:18:32 +00:00
Art4
90f148afaf Merge branch 'phpstan-level-2' into phpstan-level-2-in-addons 2024-12-13 16:04:32 +01:00
Art4
3b694741cc Merge branch 'develop' into phpstan-level-2 2024-12-13 15:59:36 +01:00
Hypolite Petovan
955c8a18f0
Merge pull request #14581 from Art4/phpstan-level-1-in-addons
PHPStan level 1 in addons
2024-12-13 07:46:21 -05:00
Art4
1d177ed907 Rename MockedTest to MockedTestCase 2024-12-11 22:45:17 +00:00
Art4
b378f5b0a7 Add suffix for PHPUnit test cases 2024-12-11 22:44:51 +00:00
Hypolite Petovan
69345432e1
Merge pull request #14592 from annando/fix-14591
Fix PR 14591 - improve blurhash creation
2024-12-09 21:37:56 -05:00
Art4
3406dbb29c Merge branch 'phpstan-level-2' into phpstan-level-2-in-addons 2024-12-09 22:46:11 +00:00
Art4
4c80eb98e5 Fix errors from #14578 2024-12-09 22:45:47 +00:00
Art4
3589dca717 Merge branch 'phpstan-level-2' into phpstan-level-2-in-addons 2024-12-09 22:32:03 +00:00
Art4
535baaebcf Merge branch 'phpstan-level-1-in-addons' into phpstan-level-2 2024-12-09 22:31:13 +00:00
Art4
9867bdfcff Fix errors from #14578 2024-12-09 22:26:24 +00:00
Michael
17c335238f Fix PR 14591 - improve blurhash creation 2024-12-09 22:23:01 +00:00
Art4
97605498a6 Merge branch 'develop' into phpstan-level-1-in-addons 2024-12-09 22:11:29 +00:00
Hypolite Petovan
65c6cb05ee
Merge pull request #14588 from Art4/merge-2024.09-rc-into-develop
Merge 2024.09-rc branch into develop
2024-12-09 07:09:26 -05:00
Hypolite Petovan
9a8554e40a
Merge pull request #14591 from annando/animated-gif
Improve the speed for blurhash generation
2024-12-09 07:08:24 -05:00
Art4
3cd098bfc7 Fix Util Strings 2024-12-08 22:20:20 +00:00
Michael
8b796e0c94 Improve the speed for blurhash generation 2024-12-08 21:21:20 +00:00
Art4
020d1f6e30 Ignore missing SMTP class in PHPMailer 2024-12-08 21:17:56 +00:00
Art4
cf6d7fbb76 Ignore vender class UnitConverter.php 2024-12-07 22:08:27 +00:00
Art4
5422ba42b6 add checks for addon folder 2024-12-07 21:18:48 +00:00
Art4
98229a5ace clone develop branch of addon repository 2024-12-07 18:23:36 +00:00
Art4
1c43d57233 Merge branch '2024.09-rc' into merge-2024.09-rc-into-develop 2024-12-07 15:40:08 +00:00
Art4
e976126f2e Update messages.po 2024-12-07 15:25:30 +00:00
Art4
c3586cb51a Fix errors in Worker namespace 2024-12-07 15:23:38 +00:00
Art4
7abdc17711 Fix errors in Util namespace 2024-12-07 15:21:21 +00:00
Art4
780bfe0cbe Fix errors in Security namespace 2024-12-07 15:10:13 +00:00
Art4
d4e4c1505b Fix errors in Protocol namespace 2024-12-07 14:45:47 +00:00
Art4
47c2715568 Ignore errors in addon folder 2024-12-07 14:40:10 +00:00
Art4
8aa54fe9fd Ignore missing IMAP\Connection class in PHP 7.4 and 8.0 2024-12-07 14:35:59 +00:00
Art4
053dc2bea5 ignore PHPStan errors for PHP 7.4 compatability 2024-12-07 14:31:24 +00:00
Art4
68ce03797a GdImage is not available on PHP 7.4 2024-12-07 09:01:04 +00:00
Art4
f36e118609 fix non-capturing catch for PHP 7.4 support 2024-12-07 07:11:28 +00:00
Art4
b55dc0ac48 remove unused $e 2024-12-07 07:03:48 +00:00
Art4
2838e3319b remove unnecessary properties from BaseEntity 2024-12-07 06:58:11 +00:00
Art4
99603d3d90 fix errors in Protocoll namespace 2024-12-06 22:55:58 +00:00
Artur Weigandt
d9ab7efcd6
Update src/Module/Security/OpenID.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-12-06 23:23:33 +01:00
Art4
8b15bb9e66 Fix errors in Object namespace 2024-12-06 21:55:04 +00:00
Hypolite Petovan
6cebe766bd
Merge pull request #14578 from annando/jetstream
Jetstream daemon to to receive atproto messages
2024-12-06 16:53:38 -05:00
Art4
b35c45bf5a Fix errors in Module namespace 2024-12-06 21:12:29 +00:00
Michael
aae57a6903 Jetstream daemon to to receive atproto messages 2024-12-06 17:09:05 +00:00
Art4
650e65d4b4 Ignore phpstan error for magic setter in LightOpenID class 2024-12-04 21:53:15 +00:00
Art4
7b892fac9c add comment in Model User 2024-12-04 21:45:13 +00:00
Art4
07e9f0f54a Fix errors in Model namespace 2024-12-04 21:41:41 +00:00
Art4
2c801abb06 Fix errors in Model namespace 2024-12-03 22:46:40 +00:00
Art4
06e3051ad1 Fix errors in Factory namespace 2024-12-03 21:44:35 +00:00
Art4
1fe730f514 Fix errors in Database namespace 2024-12-03 20:36:29 +00:00
Art4
496f0755b1 Fix errors in Core namespace 2024-12-03 20:11:46 +00:00
Art4
6ad1dd72d6 Merge branch 'phpstan-level-1-in-addons' into phpstan-level-2 2024-12-02 19:13:15 +00:00
Art4
867253436d bump to phpstan level 1 2024-12-02 19:02:14 +00:00
Art4
fb4ddb7d8d Merge branch 'develop' into phpstan-level-1-in-addons 2024-12-02 19:01:39 +00:00
Hypolite Petovan
7a8be0e87e
Merge pull request #14571 from Art4/phpstan-level-0-in-addons
Phpstan level 0 in addons
2024-12-02 09:29:16 -05:00
Art4
fb3a3ea7e6 Fix errors in Content namespace 2024-12-01 22:53:53 +00:00
Art4
f628c540a4 Fix errors in Contact namespace 2024-12-01 22:11:04 +00:00
Art4
88f693bb71 Fix errors in Console namespace 2024-12-01 21:24:43 +00:00
Art4
fef844cc68 Fix errors in Collection namespace 2024-12-01 21:03:06 +00:00
Art4
139ddbd1de fix errors in BaseModel 2024-12-01 20:51:57 +00:00
Art4
685e058fe6 bump phpstan to level 2 2024-12-01 20:46:04 +00:00
Art4
7c499c2212 set PHPStan level to 0 for now 2024-12-01 08:13:25 +00:00
Art4
3ec5119933 Merge branch 'develop' into phpstan-level-0-in-addons 2024-12-01 07:39:41 +00:00
Art4
6ee0890c5e Merge branch 'develop' into phpstan-level-1-in-addons 2024-12-01 07:38:06 +00:00
Hypolite Petovan
e34d38182c
Merge pull request #14559 from Art4/phpstan-level-1
Phpstan level 1
2024-11-30 21:40:29 -05:00
Art4
796db5dfae Merge branch 'phpstan-level-1' into phpstan-level-1-in-addons 2024-11-30 21:06:36 +00:00
Art4
56b8b6cd03 update messages.po 2024-11-30 20:47:49 +00:00
Art4
b9e9af0361 Ignore errors in vendors in pumpio addon 2024-11-30 20:12:10 +00:00
Art4
e17012801f Merge branch 'develop' into phpstan-level-1-in-addons 2024-11-30 19:23:36 +00:00
Art4
f44b261cd7 Update messages.po 2024-11-30 07:12:25 +00:00
Art4
cbcb4374fc Merge branch 'develop' into phpstan-level-0-in-addons 2024-11-30 07:05:19 +00:00
Art4
bdae3c56c0 Revert "remove ->toArray() call"
This reverts commit e797db8d48.
2024-11-29 20:53:15 +00:00
Hypolite Petovan
a06e18a4bd
Merge pull request #14570 from Art4/replace-app-with-apphelper
[Refactoring] Replace App with AppHelper
2024-11-29 15:50:51 -05:00
Art4
b2eee3ffd3 Merge branch 'phpstan-level-1' into phpstan-level-1-in-addons 2024-11-29 20:18:25 +00:00
Art4
e797db8d48 remove ->toArray() call 2024-11-29 19:50:48 +00:00
Art4
69f30a2631 Merge branch 'develop' into phpstan-level-1 2024-11-29 19:32:37 +00:00
Hypolite Petovan
c133884ce4
Merge pull request #14579 from Art4/port-2024.09-rc-into-develop
Merge 2024.09-rc branch into develop
2024-11-29 12:48:51 -05:00
Tobias Diekershoff
d48d23afa1
Merge pull request #14580 from annando/shortcut
Added check for shortcut icon url parts
2024-11-29 07:06:10 +01:00
Michael
8647a5d08a Added check for shortcut icon url parts 2024-11-29 05:17:26 +00:00
Art4
66d7ec5734 Merge branch '2024.09-rc' into port-2024.09-rc-into-develop 2024-11-28 15:11:11 +00:00
Art4
86721490e1 clone addon repository for tests 2024-11-28 12:56:04 +00:00
Art4
937739cb0d Move phpstan step back into phpunit pipeline 2024-11-28 12:55:37 +00:00
Art4
d3be886dac Rename code style check job 2024-11-28 12:42:03 +00:00
Art4
07f7632d64 move phpstan check into code_standards_check pipeline 2024-11-28 12:41:40 +00:00
Art4
6fed376c50 let phpstan ignore addon lang folders 2024-11-28 12:39:26 +00:00
Art4
8f66cbee91 remove unused parameter 2024-11-28 08:26:26 +00:00
Art4
a0da648214 remove unused call for DI::app() 2024-11-28 08:17:04 +00:00
Art4
9c7066ae35 Merge branch 'develop' into replace-app-with-apphelper 2024-11-28 08:11:21 +00:00
Art4
ec5d3e55c7 Use Status object in User object 2024-11-28 08:04:53 +00:00
Art4
0b58562a4e Merge branch 'develop' into phpstan-level-1 2024-11-28 07:58:50 +00:00
Hypolite Petovan
760e98c5d4
Merge pull request #14577 from annando/restrictions
No restrictions check on connector networks
2024-11-27 07:06:38 -05:00
Michael
aa63b5260e No restrictions check on connector networks 2024-11-27 04:29:44 +00:00
Michael Vogel
4e8820b225
Merge pull request #14576 from tobiasd/20241126-lng
Updating translations
2024-11-26 20:27:43 +01:00
Tobias Diekershoff
456e636b16 Updating translations 2024-11-26 07:47:14 +01:00
Hypolite Petovan
b7329679d3
Merge pull request #14574 from annando/jetstream
Preparation for the Bluesky Jetstream firehose
2024-11-25 21:25:16 -05:00
Michael
c85d979fea Preparation for the Bluesky Jetstream firehose 2024-11-24 06:51:00 +00:00
Art4
763d66f367 exclude vendor pathes from scan 2024-11-23 23:06:45 +00:00
Art4
9d4dc61807 scan addon folder with PHPStan level 0 2024-11-23 22:15:04 +00:00
Art4
5b281d22ed Remove parameter App from addons __addon_admin_post() functions 2024-11-23 12:25:03 +00:00
Art4
3819ec9dd1 Remove call for DI::app() 2024-11-23 12:18:07 +00:00
Art4
f93915075e remove requirement for DI::app() in addon_install()
see https://github.com/friendica/friendica-addons/pull/1364
2024-11-23 08:38:37 +00:00
Art4
5f829ac1cd Remove DI::app() call from LegacyModule 2024-11-23 08:27:40 +00:00
Art4
76d25a27b4 Remove requirement for App class in legacy mods 2024-11-23 08:26:59 +00:00
Art4
7dbf1bb8bb remove unused call of DI::app() 2024-11-23 08:18:31 +00:00
Art4
d7c25ce0b5 Remove unused DI::app() call 2024-11-23 07:41:34 +00:00
Art4
c5ca4df389 remove try block 2024-11-22 11:04:04 +00:00
Art4
bc76f2af67 refactor confusing finally block 2024-11-22 11:02:54 +00:00
Art4
4e9d129dd3 remove unnecessary finally blocks 2024-11-22 11:02:27 +00:00
Art4
d4504c39c6 remove confusing finally block 2024-11-22 10:53:26 +00:00
Hypolite Petovan
84f9c0ef1f
Merge pull request #14567 from Art4/merge-2024.09-rc-into-develop
Merge 2024.09-rc branch into develop
2024-11-21 10:06:57 -05:00
Art4
702abb2830 Remove unused calls of DI::app() 2024-11-21 10:12:27 +00:00
Art4
4f1a4c4c8a Replace App with AppHelper 2024-11-21 09:56:56 +00:00
Art4
c30327c043 Merge branch '2024.09-rc' into merge-2024.09-rc-into-develop 2024-11-21 09:27:28 +00:00
Artur Weigandt
b8d2a352ae
Update src/Module/Post/Tag/Remove.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-21 10:09:27 +01:00
Art4
11dba90440 Merge branch 'develop' into phpstan-level-1 2024-11-21 08:58:55 +00:00
Artur Weigandt
ca956408f6
Update src/Module/Item/Display.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-21 09:57:07 +01:00
Michael Vogel
9e2b192054
Merge pull request #14566 from MrPetovan/bug/phpstan-follow-up
Differentiate both UserGServer types used in Content/Conversation
2024-11-20 22:43:38 +01:00
Hypolite Petovan
e88606a4f8
Merge pull request #14565 from annando/media-insert
New function to update media entries
2024-11-20 12:24:39 -05:00
Hypolite Petovan
0e5b79f1dd Differentiate both UserGServer types used in Content/Conversation
- Address https://forum.friendi.ca/display/0b6b25a8-5967-3d08-355b-14b668843210
2024-11-20 11:51:46 -05:00
Michael
6b360858ec New function to update media entries 2024-11-20 07:22:36 +00:00
Art4
81be4c238c Fix namespace in PlaintextTest 2024-11-19 09:08:03 +00:00
Art4
c311a65073 Fix Plaintext class 2024-11-19 09:05:55 +00:00
Art4
2ff280d34c Fix more errors 2024-11-19 08:40:48 +00:00
Art4
caa826ca06 Fix errors in Content namespace 2024-11-19 08:30:26 +00:00
Art4
3c84c21318 Remove unused parameters in AddonInvalidConfigFileException 2024-11-19 08:05:34 +00:00
Art4
b8e15b42fa Refactor DatabaseCache 2024-11-19 08:04:06 +00:00
Art4
0f785e8bd0 Remove unused parameters in ConfigFileException 2024-11-19 07:54:17 +00:00
Art4
58e447f7bb Refactor ConfigFileManager 2024-11-19 07:48:43 +00:00
Art4
cde93c68dc Fix session factory 2024-11-19 07:46:52 +00:00
Art4
c1c158ccda Fix errors in Core namespace 2024-11-19 07:40:46 +00:00
Art4
2b81529844 Refactor Session factory 2024-11-19 07:33:07 +00:00
Art4
a5f623a86a Fix errors in Database namespace 2024-11-19 07:24:27 +00:00
Artur Weigandt
17e5ba715e
Update src/Model/GServer.php 2024-11-19 08:14:00 +01:00
Artur Weigandt
92666e4444
Update src/Model/GServer.php 2024-11-19 08:13:48 +01:00
Art4
92eff402af fix errors in all models 2024-11-18 23:30:37 +00:00
Art4
c61ae5da42 Refactor Item model 2024-11-18 23:23:47 +00:00
Art4
65a3bff645 Refactor GServer Model and platforms.config.php 2024-11-18 23:22:16 +00:00
Art4
3c1599323b Fix docs for themes and theme_admin() 2024-11-18 22:28:35 +00:00
Art4
f254283dc6 Fix errors in all modules 2024-11-18 22:20:28 +00:00
Art4
6cb9676250 Refactor Conversations class 2024-11-18 22:04:05 +00:00
Art4
ec0c3bf96e Refactor Conversation Timeline 2024-11-18 22:00:02 +00:00
Art4
c79f3cde22 Merge branch 'develop' into phpstan-level-1 2024-11-18 21:45:42 +00:00
Artur Weigandt
5ab976dd51
Update src/Network/Probe.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-18 22:40:34 +01:00
Artur Weigandt
4faad61a7c
Update src/Module/Post/Tag/Remove.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-18 22:40:05 +01:00
Hypolite Petovan
17dba36e77
Merge pull request #14542 from Art4/refactoring-of-app-class
[Refactoring] Extract App methods into AppHelper
2024-11-18 10:37:24 -05:00
Art4
b612180c22 check for path parts 2024-11-18 14:33:26 +00:00
Art4
ae52648950 Fix annotation from review 2024-11-18 14:20:57 +00:00
Artur Weigandt
817eeb9734
Update src/Module/Item/Display.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-18 15:15:58 +01:00
Art4
46f6a041a0 Merge branch 'develop' into refactoring-of-app-class 2024-11-18 13:14:29 +00:00
Hypolite Petovan
74802edd44
Merge pull request #14561 from Art4/introduce-apphelper
Create AppHelper interface
2024-11-18 07:51:14 -05:00
Art4
55709169eb Remove dreamhost_error_hack
This was introduced in commit 2c5ba7fc15 but might never worked
because $dreamhost_error_hack was never defined
2024-11-18 08:53:09 +00:00
Art4
e4ec14767f Refactor module Item Display 2024-11-18 08:39:06 +00:00
Art4
9422b016d7 Refactor Magic module 2024-11-18 08:28:32 +00:00
Art4
78444ff25c Improve search for user in Modration module 2024-11-18 08:09:59 +00:00
Art4
3d97280f52 Refactor OAuth Token 2024-11-18 08:02:22 +00:00
Art4
5772c70216 Check for explicit types 2024-11-18 07:44:26 +00:00
Artur Weigandt
2b40e49e6e
Update src/Protocol/ActivityPub/Processor.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-18 08:38:12 +01:00
Artur Weigandt
219b258a54
Update src/Protocol/ActivityPub/ClientToServer.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-18 08:35:45 +01:00
Art4
e26f435c2e Remove set_include_path() call 2024-11-18 07:32:01 +00:00
Art4
24f75cd618 Add return type never, fix more errors 2024-11-17 22:55:42 +00:00
Art4
12ed714a9e Fix more errors 2024-11-17 22:26:43 +00:00
Art4
08ecf2c9a4 fix more errors 2024-11-17 22:13:01 +00:00
Art4
36484309d1 fix errors in Object namespace 2024-11-17 21:43:06 +00:00
Art4
f7b4f57028 Merge branch 'introduce-apphelper' into refactoring-of-app-class 2024-11-17 20:26:02 +00:00
Art4
ab2f7d8845 Fix Authentication 2024-11-17 20:22:01 +00:00
Art4
6dc193500d Recreate messages.po 2024-11-17 20:16:29 +00:00
Art4
0e23f35438 Add Dice rule for AppHelper 2024-11-17 20:11:43 +00:00
Art4
34845910ec Create AppHelper interface and AppLegacy class 2024-11-17 20:06:34 +00:00
Art4
603af2fb19 Rename DI::apphelper() to DI::appHeler() 2024-11-17 20:00:34 +00:00
Art4
e320b010c7 Fix method order in App class 2024-11-17 19:53:17 +00:00
Art4
9ebdd9f95c Improve Page.php 2024-11-17 19:50:45 +00:00
Art4
d09e19ce1d fix property scope 2024-11-17 19:50:01 +00:00
Art4
9638113244 Fix all errors in Protocol namespace 2024-11-17 18:39:17 +00:00
Art4
5469637f2b Merge branch 'develop' into phpstan-level-1 2024-11-17 07:53:09 +00:00
Art4
5696a5249f Merge branch 'develop' into refactoring-of-app-class 2024-11-17 07:37:58 +00:00
Hypolite Petovan
1f99e2924d
Merge pull request #14558 from Art4/run-phpstan-in-ci-pipeline
Add phpstan check in woodpecker ci
2024-11-16 20:52:13 -05:00
Art4
8bbf9d25b6 Merge branch 'develop' into phpstan-level-1 2024-11-16 19:59:32 +00:00
Art4
ceb4747eea Fix phpstan errors 2024-11-16 19:36:08 +00:00
Art4
a24a65de2f Merge branch 'develop' into refactoring-of-app-class 2024-11-16 19:29:56 +00:00
Art4
6e17b3b76e Move phpstan into own workflow step 2024-11-16 19:03:15 +00:00
Art4
f75fc9a2fb Merge branch 'develop' into run-phpstan-in-ci-pipeline 2024-11-16 18:59:55 +00:00
Hypolite Petovan
112df46200
Merge pull request #14555 from Art4/merge-2024.09-rc-branch
Merge 2024.09-rc branch into develop
2024-11-16 13:00:28 -05:00
Art4
e97231683a fix erros in Util namespace 2024-11-16 17:16:26 +00:00
Art4
c74ed3d2b9 Fix errors for missing DB_UPDATE_VERSION const 2024-11-16 15:54:48 +00:00
Art4
bb37e87b6e bump phpstan to level 1 2024-11-16 15:54:24 +00:00
Hypolite Petovan
15904332b3
Merge pull request #14556 from annando/remove.unneeded
Unneeded variable removed
2024-11-16 10:33:01 -05:00
Art4
d2ea53deb1 Remove App dependency in test 2024-11-16 14:27:31 +00:00
Art4
6909f5cba6 Recreate lang 2024-11-16 12:22:39 +00:00
Art4
84048617c9 Remove phpstan ignored errors 2024-11-16 10:41:14 +00:00
Art4
fca8de40a1 Remove dependency for twitter addon 2024-11-16 10:37:48 +00:00
Art4
551cb5f50f Recreate messages.po 2024-11-16 10:27:54 +00:00
Art4
1f2c97f76f Fix tests for now because of side effect in Friendica\App class 2024-11-16 10:21:29 +00:00
Art4
2b6cc5378f Fix command, move it to top 2024-11-16 09:17:07 +00:00
Art4
c1b48be75c Merge branch 'develop' into refactoring-of-app-class 2024-11-16 09:08:22 +00:00
Art4
d3df0ff1d3 Add phpstan check in woodpecker ci 2024-11-16 09:01:20 +00:00
Art4
e5b837f183 bump version to 2024.12-dev 2024-11-16 08:39:37 +00:00
Art4
eb04f3b079 Merge branch 'develop' into merge-2024.09-rc-branch 2024-11-16 08:32:25 +00:00
Michael
3b1f5f13b7 Unneeded variable removed 2024-11-15 23:15:52 +00:00
Hypolite Petovan
b8aa6f15c9
Merge pull request #14529 from Art4/add-static-code-analysis
Add static code analysis with PHPStan level 0
2024-11-15 13:52:45 -05:00
Art4
5595bfc0d8 Merge branch '2024.09-rc' into merge-2024.09-rc-branch 2024-11-15 14:32:05 +00:00
Tobias Diekershoff
2bccd64c6c
Merge pull request #14553 from annando/issue-14524
Issue 14524: Fix Open Search
2024-11-15 08:22:43 +01:00
Tobias Diekershoff
38d19c1cd7
Merge pull request #14552 from annando/notice
Fix notice because of missing "gsid"
2024-11-15 08:21:03 +01:00
Michael
b276b89777 Issue 14524: Fix Open Search 2024-11-15 06:55:21 +00:00
Michael
24a4b477ea Fix notice because of missing "gsid" 2024-11-15 04:51:35 +00:00
Hypolite Petovan
e0290d22ec
Merge pull request #14549 from annando/wordwrap
Message split at commas, exclamation mark or question mark
2024-11-14 15:35:11 -05:00
Michael
8fdd78ef95 Message split at commas, exclamation mark or question mark 2024-11-14 14:37:44 +00:00
Art4
2ef9982f63 refactor Receiver::processObject() method 2024-11-14 07:32:25 +00:00
Art4
ee2cdc7763 replace method with anonymous function 2024-11-13 07:49:29 +00:00
Artur Weigandt
3e523ddd09
Update src/Protocol/ActivityPub/Receiver.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-12 22:03:09 +01:00
Art4
ca51b45f04 Upgrade to PHPStan 2.0 2024-11-12 21:02:21 +00:00
Hypolite Petovan
cf220928c6
Merge pull request #14550 from annando/log-warning
Avoid useless "warning" logging
2024-11-12 08:14:49 -05:00
Michael
818ea3e33e Avoid useless "warning" logging 2024-11-12 11:12:04 +00:00
Tobias Diekershoff
a9d7767497
Merge pull request #14548 from annando/wordwrap
Improved message splitting when posting to Bluesky or Twitter
2024-11-12 08:25:33 +01:00
Michael
6cb1794c35 Improved message splitting when posting to Bluesky or Twitter 2024-11-12 07:20:10 +00:00
Art4
9a04f90bbd Improve check for unlisted receiver 2024-11-12 00:20:30 +00:00
Art4
12d5e4da44 use get_class() instead of static() in BaseCollection 2024-11-11 23:40:45 +00:00
Hypolite Petovan
08d09bcbdf
Merge pull request #14547 from annando/svg-disabled
New option to disable SVG icons / Functionality added to Vier
2024-11-11 10:51:34 -05:00
Michael
f36353e010 New option to disable SVG icons / Functionality added to Vier 2024-11-11 15:43:57 +00:00
Hypolite Petovan
eded4209d2
Merge pull request #14546 from annando/color-white
Fix for white svg icons
2024-11-11 09:35:17 -05:00
Michael Vogel
59f2b97d5b
Merge pull request #14545 from loma-one/friendica
Add missing platform icon
2024-11-11 10:50:18 +01:00
loma-one
a60028e0da
Update ContactSelector.php
Add tumblr
2024-11-11 09:08:52 +01:00
Michael
6de167173c Fix for white svg icons 2024-11-11 07:58:36 +00:00
loma-one
c34d26f6a1
Add missing platform icon
Add tumblr icon and licence
2024-11-11 08:20:04 +01:00
Hypolite Petovan
079c0482b4
Merge pull request #14544 from annando/more-white
More white icons added / automated style
2024-11-10 20:31:07 -05:00
Art4
20f5a96fe0 refactor usage of Friendica\App namespace 2024-11-11 00:30:58 +00:00
Art4
629c4af3c8 Replace typehint App with AppHelper in view folder 2024-11-10 23:53:03 +00:00
Art4
5baa54e81c Fix variable names 2024-11-10 23:51:04 +00:00
Art4
2a132718d0 Replace typehint App with AppHelper in mod folder 2024-11-10 23:37:46 +00:00
Art4
14ec1950b9 Replace typehint App with AppHelper in all classes 2024-11-10 23:33:28 +00:00
Michael
c80fb8bad4 More white icons added / automated style 2024-11-10 23:12:36 +00:00
Michael Vogel
c6754fe838
Merge pull request #14543 from Art4/fix-continous-deployment-pipeline
Fix composer installation in woodpecker pipelines
2024-11-11 00:08:42 +01:00
Art4
712b9e9610 Fix lang strings object in PhpToPo command 2024-11-10 22:50:59 +00:00
Art4
68fb214f85 Fix composer installation in woodpecker pipelines 2024-11-10 21:17:41 +00:00
Art4
59292571e0 Merge branch 'add-static-code-analysis' into refactoring-of-app-class 2024-11-10 21:11:05 +00:00
Art4
31665e795c Merge branch 'develop' into add-static-code-analysis 2024-11-10 21:03:31 +00:00
Hypolite Petovan
e4e190bdfa
Merge pull request #14541 from annando/style-select
Preparation for multiple icon styles / improved code
2024-11-10 15:51:43 -05:00
Hypolite Petovan
a7bc4010b9
Merge pull request #14526 from Art4/improve-tests
Improve tests
2024-11-10 15:14:07 -05:00
Michael
a4c5d7539c Preparation für multiple icon styles / improved code 2024-11-10 19:50:01 +00:00
Art4
d87f24f17a Replace calls for App::redirect() with AppHelper 2024-11-10 16:19:02 +00:00
Art4
2c0db2f043 Replace calls for App::setCurrentTheme() with AppHelper 2024-11-10 16:09:30 +00:00
Art4
c495461ffb Fix missing $app 2024-11-10 12:13:32 +00:00
Art4
782271aa3c Refactor App class 2024-11-10 12:02:31 +00:00
Art4
4abfc3907b Replace calls for App::getCurrentTheme() with AppHelper 2024-11-10 11:59:43 +00:00
Art4
e6b39e5f1c Fix cs in App and AppLegacy classes 2024-11-10 11:42:59 +00:00
Art4
ae75ffc31a replace calls for App::getBasePath() with AppHelper 2024-11-10 10:57:13 +00:00
Art4
79f9e78daf Replace temp variable with property 2024-11-10 08:53:36 +00:00
Art4
81c0c56e5a Replace calls for App with AppHelper in Module\Install 2024-11-10 08:46:50 +00:00
Art4
d9d1e9e0e0 Merge branch 'add-static-code-analysis' into refactoring-of-app-class 2024-11-10 08:10:17 +00:00
Art4
9c7a0f7e58 Merge branch 'develop' into restore-github-actions 2024-11-10 07:49:06 +00:00
Art4
89801f043f recreate messages.po 2024-11-10 07:45:24 +00:00
Art4
d2151f9cd0 add composer script to recreate lang file 2024-11-10 07:44:58 +00:00
Art4
82a95367ae fix code style 2024-11-10 00:23:35 +00:00
Art4
221dad7663 Merge branch 'improve-tests' into add-static-code-analysis 2024-11-10 00:20:29 +00:00
Art4
5305286312 Improve phpunit testsuites, add script for unit tests 2024-11-10 00:12:47 +00:00
Art4
bbf7e4a936 Fix code style 2024-11-09 23:56:59 +00:00
Art4
8b500926ee Refactor tests for Util\Crypto 2024-11-09 23:50:06 +00:00
Art4
940884e4bd Refactor Crypto::randomDigits() 2024-11-09 23:18:13 +00:00
Art4
29c0473b64 Merge branch 'develop' into improve-tests 2024-11-09 22:51:40 +00:00
Michael Vogel
e1efa09260
Merge pull request #14539 from Art4/fix-composer-install-in-woodpecker-ci
Fix woodpecker ci pipelines
2024-11-09 15:59:23 +01:00
Art4
35c01b9685 Fix code style 2024-11-09 10:08:40 +00:00
Art4
dcc8cca6cd Merge branch 'improve-tests' into add-static-code-analysis 2024-11-09 10:05:06 +00:00
Art4
37b2c3faab Merge branch 'fix-composer-install-in-woodpecker-ci' into improve-tests 2024-11-09 10:02:52 +00:00
Art4
64751b7b5a create empty addon folder in phpunit tests 2024-11-09 09:57:16 +00:00
Art4
1946d4f470 Create empty addon folder 2024-11-09 09:50:47 +00:00
Art4
9623645cfa Add copyright notes 2024-11-09 09:32:35 +00:00
Art4
5a10bd3d4b Merge branch 'develop' into restore-github-actions 2024-11-09 09:22:23 +00:00
Art4
d4f6b3bbef Merge branch 'develop' into improve-tests 2024-11-09 09:06:33 +00:00
Michael Vogel
c2be44a848
Merge pull request #14523 from Art4/update-composer-v2
Update to Composer v2
2024-11-09 06:15:27 +01:00
Art4
7de79fc753 Replace calls for App:::getThemeInfoValue() with AppHelper 2024-11-08 23:23:01 +00:00
Art4
536234a9c6 Replace calls for App::getThemeInfo() with AppHelper 2024-11-08 23:14:08 +00:00
Art4
2ac926dfb2 Replace all calls for App::setThemeInfoValue() with AppHelper 2024-11-08 23:11:59 +00:00
Art4
be193a236e Replace all calls for App::getTimeZone() with AppHelper 2024-11-08 23:08:40 +00:00
Art4
d9087b4f7c Replace all calls for App::getContactId() with AppHelper 2024-11-08 23:04:52 +00:00
Art4
cad3311afb Replace calls for App::setContactId() with AppHelper 2024-11-08 22:50:08 +00:00
Art4
6f14645a5f Replace calls for App::getProfileOwner() with AppHelper 2024-11-08 22:45:14 +00:00
Hypolite Petovan
c8a4b67414
Merge pull request #14537 from annando/fix-ap-logo
black/white Activitypub icon added
2024-11-08 16:00:58 -05:00
Michael
9312aeb13c black/white Activitypub icon added 2024-11-08 19:14:05 +00:00
Art4
6a6a5af3b2 Replace calls of App::setProfileOwner with AppHelper 2024-11-08 16:20:55 +00:00
Art4
9477e1b55f Move AppHelper code to AppLegacy, create interface for AppHelper 2024-11-08 16:07:24 +00:00
Hypolite Petovan
d4802e89ea
Merge pull request #14527 from annando/svg
SVG icons for various fediverse systems
2024-11-08 10:12:03 -05:00
Art4
85f74c80e8 extract redirect method into AppHelper 2024-11-08 12:13:20 +00:00
Art4
470c47f45c Extract config methods into AppHelper 2024-11-08 12:06:30 +00:00
Art4
0fc9f7f0b4 extract ThemeInfo methods into AppHelper 2024-11-08 11:05:02 +00:00
Art4
6fd74bccb0 Remove unused dependencies 2024-11-08 09:44:01 +00:00
Michael
e73566c0a1 SVG icons for various fediverse systems 2024-11-08 09:43:19 +00:00
Art4
48b2cff53d extract getter and setter for current theme into AppHelper 2024-11-08 09:39:16 +00:00
Art4
bbf7d50295 Merge branch 'add-static-code-analysis' into refactoring-of-app-class 2024-11-08 08:31:31 +00:00
Art4
256ed12b51 Move test into Unit test namespace 2024-11-08 08:17:27 +00:00
Art4
dc80d35088 Fix cs 2024-11-08 08:15:03 +00:00
Art4
4203ce5d51 Merge branch 'add-static-code-analysis' into refactoring-of-app-class 2024-11-08 08:03:16 +00:00
Art4
1c3a33ab49 Fix namespace 2024-11-08 08:01:07 +00:00
Art4
60a9833130 Replace App with AppHelper in Worker classes 2024-11-08 07:42:35 +00:00
Art4
1d5fc6a4bf Extract Queue getter and setter into AppHelper 2024-11-08 07:30:36 +00:00
Art4
aa6ddb73fe Restore ports 2024-11-08 07:23:35 +00:00
Art4
10497e9231 Try different port 2024-11-07 13:47:02 +00:00
Art4
5601c8b6a1 Try mariadb 11.1 2024-11-07 13:38:43 +00:00
Art4
5066e4b6e0 Try different port style 2024-11-07 13:34:50 +00:00
Art4
7176ba5a0a remove interactive timeout 2024-11-06 23:02:24 +00:00
Art4
6985808624 remove wait-timeout 2024-11-06 23:01:20 +00:00
Art4
3ac97e44ab add command args as options 2024-11-06 22:59:45 +00:00
Art4
6477179231 remove wrong parameter 2024-11-06 22:55:01 +00:00
Art4
2662fce74d try to keep mariadb alive 2024-11-06 22:53:04 +00:00
Art4
f48311051e Improve workflow for PHP 2024-11-06 22:41:56 +00:00
Art4
b6a972c5fe Update php versions, remove code coverage upload 2024-11-06 22:25:48 +00:00
Art4
d959c07e25 remove bin/dev/setup-phpunit.sh 2024-11-06 22:02:44 +00:00
Art4
50cf3bf4f7 Revert "remove GitHub Action for PHP tests"
This reverts commit f1e268ee0a.
2024-11-06 21:57:23 +00:00
Art4
f0ce7ea61e Extract App::getProfileOwner() and setProfileOwner() into AppHelper 2024-11-06 13:36:38 +01:00
Art4
b5317f8e46 Refactor App, add AppHelper in constructor 2024-11-06 12:26:33 +00:00
Art4
00d2e24dd2 Refactor Security\Authentication class, remove dependency for App instance 2024-11-06 13:21:57 +01:00
Art4
c0bd3b5ff0 Extract App::setContactId() and App::getContactId() into AppHelper 2024-11-06 13:11:26 +01:00
Art4
94b4009397 Improve code style in Security\Authentication 2024-11-06 13:06:54 +01:00
Art4
ae36d66ddc Replace App with AppHelper in Calendar/Event/API.php 2024-11-06 12:52:48 +01:00
Art4
7c6505cc55 Replace App with AppHelper in Network classes 2024-11-06 08:14:50 +00:00
Art4
9074258b78 Replace static calls of DI::app() with DI::apphelper() 2024-11-06 07:57:43 +00:00
Art4
4f16bbe5f5 deprecate App::ge DI::app(),tTimeZone() and App::setTimezone() 2024-11-06 07:52:46 +00:00
Art4
81b0bab084 Create AppHelper class 2024-11-06 07:32:07 +00:00
Art4
d29a18e56f Refactor App class 2024-11-06 07:21:50 +00:00
Tobias Diekershoff
435c37bff4
Merge pull request #14533 from annando/warning
Fixes "foreach() argument must be of type array|object, string given"
2024-11-06 06:29:04 +01:00
Tobias Diekershoff
bf4695365a
Merge pull request #14534 from annando/connector
"Connector" added as parcel
2024-11-06 06:27:07 +01:00
Michael
97b38b99df Fixes "foreach() argument must be of type array|object, string given" 2024-11-05 19:10:32 +00:00
Art4
dfb821d3b5 Ignore false positive PHPStan error
see https://github.com/friendica/friendica-addons/pull/1363
2024-11-05 15:26:24 +00:00
Art4
a28a207774 Fix name of Mode class 2024-11-05 12:20:43 +00:00
Art4
eff96cc140 add missing use statement 2024-11-05 12:17:41 +00:00
Art4
4b971f84fd Fix returns in Console commands 2024-11-05 12:13:18 +00:00
Art4
01ba276455 Add missing return
This needs some refactoring: returning nothing implicit returns null, thas will be convert to int 0.
I return false instead of nothing to keep this behaviour for BC.
2024-11-05 11:52:23 +00:00
Art4
bf04b3e57d Fix usage of static 2024-11-05 11:27:29 +00:00
Art4
f024de4350 add missing property in FixAPDeliveryWorkerTaskParameters 2024-11-05 11:25:35 +00:00
Michael
1226cd4487 "Connector" added as parcel 2024-11-05 11:04:57 +00:00
Tobias Diekershoff
805321d00b
Merge pull request #14532 from annando/notifier-again
Notifier: Only relay public posts
2024-11-05 08:50:16 +01:00
Michael
29310562a5 Notifier: Only relay public posts 2024-11-05 07:41:14 +00:00
Art4
3c229443e8 Remove missleading template phpdoc 2024-11-05 07:14:24 +00:00
Art4
4e49c45021 Remove support for apc 2024-11-05 07:07:58 +00:00
Tobias Diekershoff
6a3dfdb26b
Merge pull request #14530 from annando/fix-install
Fix installation
2024-11-04 22:39:33 +01:00
Tobias Diekershoff
f79be879fa
Merge pull request #14531 from annando/ap-delivery
Only transmit via AP if the relayed post is an AP post
2024-11-04 22:38:52 +01:00
Michael
f6b4f974f0 Only transmit via AP if the relayed post is an AP post 2024-11-04 21:08:06 +00:00
Art4
8448d719e7 Remove support for apc
apc is deprecated since PHP 5.5 and not compatible with PHP 7
2024-11-04 20:34:42 +00:00
Michael
67a8c5073c Fix installation 2024-11-04 20:27:17 +00:00
Art4
ad6be21b56 Fix defaults in Contact model 2024-11-04 20:02:44 +00:00
Art4
28f2b7fc81 Fix variable name
The variable was renamed but this line was accidently overseen

see 62eb16e9ad (diff-785d24b46fdf749363656f33208f941ea0eca809c7c76452180a0bfc16df68a3R2555)
2024-11-04 15:28:10 +00:00
Art4
3535c7c4cd Remove unused code 2024-11-04 15:09:33 +00:00
Art4
71add60f59 remove unused code
this code was never called because $body is never declared
and hence the if could never be true
2024-11-04 15:04:06 +00:00
Art4
57c188d01d Fix wrong use of static 2024-11-04 13:46:33 +00:00
Art4
4a9c7d2f30 Remove call of non-existing functions
This functions were removed in commit a97b3f690c9e4476ba638236897507100f77af6f

- twitter_statuses_show()
- twitter_media_entities()
- twitter_expand_entities()

see a97b3f690c
2024-11-04 13:56:08 +01:00
Art4
b5c2cbc597 Refactor Friendica\Module\Debug\ItemBody class 2024-11-04 13:36:57 +01:00
Art4
979468e7fb refactor of Friendica\Object\Api\Mastodon\Preferences class 2024-11-04 13:30:26 +01:00
Art4
0bb8e3af80 add test for Preferences class 2024-11-04 13:22:26 +01:00
Art4
9ae7b9cf01 Fix warnings in Receiver.php 2024-11-04 11:58:08 +00:00
Art4
3a8058ec09 Extract visible_whitespace() into separate method in ActivityPubConversion 2024-11-03 15:54:37 +01:00
Art4
e984057ceb Extract visible_whitespace() into separate method 2024-11-03 15:52:46 +01:00
Art4
c5dac44c8f add missing return statement 2024-11-03 15:49:44 +01:00
Tobias Diekershoff
c21e6b5e6d
Merge pull request #14528 from annando/deletion
Process deletions via ActivityPub
2024-11-03 13:48:22 +01:00
Art4
adb1bd2ad0 Add license note an scan directory for PHPStan 2024-11-03 11:24:15 +01:00
Michael
ea9d0fb9b0 Process deletions via ActivityPub 2024-11-03 06:10:25 +00:00
Art4
0965a84929 install PHPStan for static code analysis 2024-11-02 22:24:10 +01:00
Art4
cf92446cf3 Fix tests 2024-11-02 22:06:02 +01:00
Art4
04d4c6d8f0 Fix mocking namespace 2024-11-02 20:57:11 +01:00
Art4
5ecee2b9f7 Fix namespace in IntallerTest, mock function_exists() with PHPMock 2024-11-02 17:43:43 +01:00
Art4
7de3b16dc3 Fix namespace for CryptoTest 2024-11-01 21:46:09 +00:00
Art4
f575f6c94c require php-mock/php-mock-phpunit for mocking php builtin functions 2024-11-01 21:45:45 +00:00
Art4
2d248ec8ca autoload addons via classmap instead of psr-4 2024-11-01 21:15:34 +00:00
Tobias Diekershoff
0560091ae2
Merge pull request #14521 from annando/delivery
Improved delivery / fix falsely delivery content via DFRN
2024-11-01 20:56:48 +01:00
Art4
87491dc3b5 replace bower-asset/fork-awesome with npm-asset/fork-awesome 2024-11-01 14:45:38 +00:00
Art4
0126aa5018 replace bower-asset/dompurify with npm-asset/dompurify 2024-11-01 14:40:10 +00:00
Art4
c15671fa78 replace bower-asset/chart-js with npm-asset/chart.js 2024-11-01 14:37:31 +00:00
Art4
5a201819ac fix path name for chart.js 2024-11-01 12:29:14 +00:00
Art4
f799ab563c Remove fxp-asset config 2024-11-01 12:11:16 +00:00
Art4
b7e007c37b install all bower and npm dependencies with composer 2024-11-01 13:07:32 +01:00
Art4
fa22e11c5f replace composer/installers with oomphinc/composer-installers-extender 2024-11-01 11:46:04 +00:00
Art4
4c02205454 install composer/installers, add asset-packagist as new repository 2024-11-01 11:27:42 +00:00
Art4
d62eee3379 remove fxp/composer-asset-plugin dependency 2024-11-01 11:17:55 +00:00
Michael
5e3f9d1235 Improved delivery / fix falsely delivery content via DFRN 2024-10-31 18:41:17 +00:00
Art4
2c325eb124 Update to Compose v2 2024-10-31 14:40:00 +00:00
Tobias Diekershoff
a3f38d36b9
Merge pull request #14517 from annando/dont-revive-contacts
Prevent dead contacts from being revived
2024-10-30 06:16:57 +01:00
Michael
94ad35a5df Prevent dead contacts from being revived 2024-10-30 05:07:58 +00:00
Michael Vogel
e4511c700e
Merge pull request #14515 from tobiasd/20241029-errors
fix gettext error
2024-10-29 10:41:13 +01:00
Tobias Diekershoff
718722419f recreate messages.po 2024-10-29 08:02:33 +01:00
Tobias Diekershoff
db95def246 fix gettext error
xgettext was complaining that the term 'Error' was used once without the plural form
2024-10-29 07:59:44 +01:00
Michael Vogel
b2b879851c
Merge pull request #14514 from tobiasd/issue14512
remove old reverence to addons.friendi.ca
2024-10-29 07:29:21 +01:00
Tobias Diekershoff
9a5405d33f
Merge pull request #14513 from annando/issue-14478
Issue 14478: Always use an existing application for OAuth
2024-10-29 06:59:11 +01:00
Tobias Diekershoff
61435984b0 remove old reverence to addons.friendi.ca
fixes #14512

The URL of the addon repository is corrected with this PR as well.
2024-10-29 06:57:00 +01:00
Michael
42117a391c Issue 14478: Always use an existing application for OAuth 2024-10-28 20:57:20 +00:00
Tobias Diekershoff
7e446e8100
Merge pull request #14507 from annando/issue-14491
Issue 14491: CSS class for pictures with or without alt descriptions
2024-10-28 06:52:59 +01:00
Tobias Diekershoff
a73319fa98
Merge pull request #14508 from annando/issue-13270
Issue 13270: Fix display of private comments on the profile page
2024-10-28 06:51:04 +01:00
Michael Vogel
830e8c9a49
Merge pull request #14509 from nupplaphil/doc/prometheus-exporter
Add Prometheus exporter link to docs
2024-10-27 20:37:46 +01:00
Michael
815d886677 messages.po updated 2024-10-27 19:18:58 +00:00
Michael
89bc4af2c6 Issue 13270: Fix display of private comments on the profile page 2024-10-27 19:14:51 +00:00
Philipp
e614c2a68a
Add Prometheus exporter link 2024-10-27 20:13:41 +01:00
Michael
e9064aff32 Issue 14491: CSS class for pictures with or without alt descriptions 2024-10-27 15:48:06 +00:00
Tobias Diekershoff
2d7964ad7c
Merge pull request #14504 from annando/archive-unarchive
The code for archiving and unarchiving contacts is improved
2024-10-27 07:27:53 +01:00
Tobias Diekershoff
f48e1d1a9d
Merge pull request #14503 from annando/improved-context
Improved cached context file
2024-10-27 07:26:31 +01:00
Tobias Diekershoff
e5991069ed
Merge pull request #14501 from annando/issue-14495
Issue 14495: Rich HTML content with embedded pictures
2024-10-27 07:25:21 +01:00
Tobias Diekershoff
561ac9e4ee
Merge pull request #14502 from annando/platform-name
Don't show "(AP)" at platform names anymore
2024-10-27 07:23:47 +01:00
Michael
ea5a19972e The code for archiving and unarchiving contacts is improved 2024-10-26 15:48:12 +00:00
Michael
306a07ca3c Improved cached context file 2024-10-26 15:43:23 +00:00
Michael
676f54b7b2 Don't show "(AP)" at platform names anymore 2024-10-26 15:36:41 +00:00
Michael
9261f29553 Issue 14495: Rich HTML content with embedded pictures 2024-10-26 15:34:17 +00:00
Tobias Diekershoff
4c3c4bd58d
Merge pull request #14499 from annando/issue-14478-2
Issue 14478: Fix OAuth registration with Buffer
2024-10-26 07:49:07 +02:00
Michael
63b1adecea Issue 14478: Fix OAuth registration with Buffer 2024-10-25 19:52:47 +00:00
Tobias Diekershoff
3b6030346f
Merge pull request #14498 from annando/issue-14478
Issue 14478: Improved logging
2024-10-25 17:39:04 +02:00
Michael
122f61a603 Issue 14478: Improved logging 2024-10-25 12:50:25 +00:00
Michael Vogel
9f6806fd0c
Merge pull request #14494 from tobiasd/20241024-docs
update docs
2024-10-25 05:29:10 +02:00
Tobias Diekershoff
9b435274a1 updated credits
regenerated the CREDITS.txt file for the 2024.10 release
2024-10-24 20:28:17 +02:00
Tobias Diekershoff
f5b44f7849 CHANGELOG for 2024.10
This shall be the last PR merged before the 2024.10 release.
2024-10-24 19:15:14 +02:00
Tobias Diekershoff
7dd517e020 update docs
fixes #14492
2024-10-24 18:18:48 +02:00
Tobias Diekershoff
f1097d9323
Merge pull request #14493 from annando/issue-14488
Issue 14488: Extended date change range for signatures
2024-10-24 08:59:31 +02:00
Michael
1c081ced74 Issue 14488: Extended date change range for signatures 2024-10-23 21:13:45 +00:00
Tobias Diekershoff
a0a8aeb304
Merge pull request #14486 from annando/issue-14145
Issue 14145: Fix communication with Hubzilla
2024-10-21 18:31:24 +02:00
Michael
58cd216eb7 Issue 14145: Fix communication with Hubzilla 2024-10-21 06:08:28 +00:00
Michael Vogel
4b662f919f
Merge pull request #14485 from nupplaphil/feat/admin_stats
Add admin info to stats Endpoint
2024-10-21 08:05:01 +02:00
Philipp
7ca4e6e338
Add admin info to stats Endpoint 2024-10-21 07:24:24 +02:00
Michael Vogel
e8ab8a84af
Merge pull request #14484 from nupplaphil/fix/2f_app_specific
QuickFix: 2FA - App specific password
2024-10-20 22:13:38 +02:00
Philipp
77dc675a79
Update messages.po 2024-10-20 21:53:50 +02:00
Philipp
dc4eac2742
QuickFix: 2FA - App specific password 2024-10-20 21:46:22 +02:00
Tobias Diekershoff
04cb2c43e3
Merge pull request #14482 from annando/issue-14126
Issue 14126: Workaround for wrong content types
2024-10-20 21:00:52 +02:00
Michael
d13dba7445 Issue 14126: Workaround for wrong content types 2024-10-20 18:38:16 +00:00
Tobias Diekershoff
4380d7fa12
Merge pull request #14481 from annando/issue-14121
Issue 14121: Show precise contact counts for own user
2024-10-20 20:03:53 +02:00
Michael
94ef7c55c0 Issue 14121: Show precise contact counts for own user 2024-10-20 17:46:01 +00:00
Tobias Diekershoff
6417d75259
Merge pull request #14479 from annando/block
Improved block behaviour
2024-10-20 14:58:27 +02:00
Michael
d867d73a23 Improved block behaviour 2024-10-20 08:33:16 +00:00
Tobias Diekershoff
7e84699bdd
Merge pull request #14477 from annando/issue-14212
Issue 14212: exclude channel only posts from the API timeline
2024-10-19 22:07:46 +02:00
Michael
acb305cf73 Issue 14212: exclude channel only posts from the API timeline 2024-10-19 19:56:20 +00:00
Tobias Diekershoff
8c6ff3f876
Merge pull request #14474 from annando/issue-14174
Issue 14174 and 14421: Option to hide emojis and pictures without description
2024-10-19 07:50:48 +02:00
Tobias Diekershoff
01cedc0c95
Merge pull request #14475 from annando/upload-type
Fix image posts done by Buffer
2024-10-19 07:48:54 +02:00
Michael
55381329b3 Fix image posts done by Buffer 2024-10-19 03:35:21 +00:00
Michael
301717802d Issue 14174 and 14421: Option to hide emojis and pictures without description 2024-10-18 19:13:07 +00:00
Tobias Diekershoff
159e6e79dc
Merge pull request #14473 from annando/issue-14471
Issue 14471: Fix webfinger request
2024-10-18 06:46:12 +02:00
Michael
b10255ca44 Issue 14471: Fix wegfinger request 2024-10-17 22:04:31 +00:00
Michael Vogel
65fe8fcf41
Merge pull request #14466 from tobiasd/issue14464
reorder 2FA  buttons
2024-10-16 08:04:23 +02:00
Michael Vogel
7771b87a92
Merge pull request #14467 from tobiasd/lng20241016
Update translations
2024-10-16 08:03:31 +02:00
Tobias Diekershoff
cfe32397ab fix reuse for translation files 2024-10-16 05:40:44 +00:00
Tobias Diekershoff
0faaad75c0 Update translation files
This updates various translation po files with the current state from Transifex and regenerates the string.php files from them
2024-10-16 05:37:07 +00:00
Tobias Diekershoff
124c55d3cf reorder 2FA buttons
The first button is selected by default, moving the disable button down, so by default the recover codes will be displayed if a user huts ENTER after typing their password.

fixes 14464
2024-10-16 04:54:39 +00:00
Tobias Diekershoff
b9a5b1c48b
Merge pull request #14465 from annando/fix-follow
Fix the following of accounts with "?" in the URL
2024-10-16 06:20:04 +02:00
Michael
93536f31e8 Fix the following of accounts with "?" in the URL 2024-10-16 03:00:20 +00:00
Tobias Diekershoff
c4aaff181c
Merge pull request #14463 from bmillwood/doc-fixes
Fix Apache instructions and PHP extension list
2024-10-15 06:24:26 +02:00
Tobias Diekershoff
7bd076fce9 bump version 2024.09-rc 2024-10-15 04:00:50 +00:00
Ben Millwood
6bd73ea66c Fix Apache instructions and PHP extension list
For the Apache instruction, the Options directive does exist, but it's
not the one that controls .htaccess usage, that's AllowOverride.

For the PHP module, correct mbstrings to mbstring and remove hash, since
the [hash extension][1] has been included in PHP since 5.1.2, and is core
since PHP 7.4, both of which are above the minimum Friendica version.

[1]: https://www.php.net/manual/en/hash.installation.php
2024-10-14 23:36:37 +01:00
Michael Vogel
434aa1b174
Merge pull request #14462 from tobiasd/reuseOct
more REUSE information
2024-10-14 10:02:33 +02:00
Tobias Diekershoff
e0c9ada5f2 added missing license 2024-10-14 04:45:03 +00:00
Tobias Diekershoff
9c6dd96d22 more REUSE information 2024-10-13 10:51:21 +02:00
Tobias Diekershoff
bbd4117ed4
Merge pull request #14459 from annando/fix-contact-settings
Fix: changing contact settings
2024-10-11 07:25:03 +02:00
Michael
fc3ab1762e Fix: changing contact settings 2024-10-08 20:49:24 +00:00
Tobias Diekershoff
a3dff95c2b
Merge pull request #14457 from annando/length-check
Fix for the string truncation for "latin1" charset
2024-10-08 08:06:31 +02:00
Tobias Diekershoff
342eb53a41
Merge pull request #14456 from annando/linefeeds
Fix linefeeds in "detected languages" popup
2024-10-08 08:05:18 +02:00
Michael
53015140d9 Fix linefeeds in "detected languages" popup 2024-10-07 20:47:10 +00:00
Michael
d8bcf38a78 Fixed for the string truncation for "latin1" charset 2024-10-07 20:44:45 +00:00
Tobias Diekershoff
452cdadaa3
Merge pull request #14455 from haheute/textarea-event-description
add rows=8 for event description textarea
2024-10-03 15:06:49 +02:00
Hannes Heute
f99edf86d3 little typo in the CSS file 2024-10-03 13:48:59 +02:00
Hannes Heute
1ae74d08a2 add rows=8 for event description textarea 2024-10-03 12:16:15 +02:00
Tobias Diekershoff
e7b6624dc0
Merge pull request #14453 from annando/platform-icons
Platform icons assigned for Hometown and Akkoma
2024-09-30 07:51:41 +02:00
Michael
7e405f6b61 Platform icons assigned for Hometown and Akkoma 2024-09-29 18:14:14 +00:00
Tobias Diekershoff
7fa3e361dc
Merge pull request #14452 from annando/issue-14451
Issue 14451: Accept GZIP content encoding
2024-09-28 08:46:14 +02:00
Michael
eb9d8f19d7 Issue 14451: Accept GZIP content encoding 2024-09-27 19:34:49 +00:00
Tobias Diekershoff
bac9511475
Merge pull request #14449 from annando/issue-14448
Issue 14448: Fix the Pertube context
2024-09-25 06:45:54 +02:00
Michael
43fa03db36 Issue 14448: Fix the Pertube context 2024-09-24 20:35:42 +00:00
Tobias Diekershoff
a2ad3080e1
Merge pull request #14444 from annando/Emoji-count
Fix counter for emoji reactions
2024-09-22 17:35:26 +02:00
Michael Vogel
ece982f68d
Merge pull request #14445 from haheute/dropzone-overflow
remove unnecessary overflow:scroll from compose template
2024-09-21 07:57:50 +02:00
Hannes Heute
f9f565ed4f messages.po 2024-09-19 14:20:34 +02:00
Hannes Heute
789270ad11 remove unnecessary overflow:scroll from compose template 2024-09-19 14:08:41 +02:00
Michael Vogel
c30b901110
Merge pull request #14441 from loma-one/loma-one-patch-5
Saving the post content using localstorage
2024-09-19 07:34:35 +02:00
Michael
e2a82886a4 Fix counter for emoji reactions 2024-09-18 20:49:30 +00:00
Tobias Diekershoff
30aac5f1b3
Merge pull request #14443 from annando/webp-animated
Issue 14419: Avoid fatal errors with animated WebP images and GDlib
2024-09-18 06:56:38 +02:00
Michael
7525d80d03 Issue 14419: Avoid fatal errors with animated WebP images and GDlib 2024-09-18 04:06:57 +00:00
loma-one
54370319fe
Saving the post content using localstorage
If a post is created and the browser window crashes or the Composer window is hard-closed in some other way, all content is lost. Content is now saved temporarily so that it can be displayed again when the browser is restarted.

The content in the localstorage is discarded after 10 minutes after the editor has been exited.

The system now checks whether the editor field is filled. If there are no characters, there is no reload check.
2024-09-16 18:22:58 +02:00
loma-one
9a224a8ca9
Saving the post content using localstorage
If a post is created and the browser window crashes or the Composer window is hard-closed in some other way, all content is lost. 
Content is now saved temporarily so that it can be displayed again when the browser is restarted.
2024-09-15 17:55:50 +02:00
Tobias Diekershoff
38ff423716
Merge pull request #14437 from annando/network-blank
Avoid blank network page on database issues
2024-09-15 09:03:07 +02:00
Tobias Diekershoff
5b8dd38114
Merge pull request #14436 from annando/hls
Support for HLS added
2024-09-15 09:01:29 +02:00
Michael
47478fe8f7 Avoid blank network page on database issues 2024-09-15 05:35:30 +00:00
Michael
072123af8f Basic support for HLS added 2024-09-14 18:06:59 +00:00
Tobias Diekershoff
32f8b652ad
Merge pull request #14431 from annando/fix-poll
Fix polling of feeds
2024-09-14 16:05:01 +02:00
Michael
44f4876d58 Fix polling of feeds 2024-09-12 12:41:23 +00:00
Tobias Diekershoff
844eafa47a
Merge pull request #14387 from annando/ostatus
OStatus support removed
2024-09-11 07:39:55 +02:00
Michael
e8a3be6820 OStatus support removed 2024-09-11 03:44:40 +00:00
Tobias Diekershoff
eb066b258d
Merge pull request #14430 from annando/warning
Fixes warning "Undefined array key "@type"
2024-09-10 22:25:20 +02:00
Michael
4712d562b5 Fixes warning "Undefined array key "@type" 2024-09-10 11:23:06 +00:00
Tobias Diekershoff
d48d07e18d
Merge pull request #14428 from annando/gserver-loop
Prevent a loop when trying to detect the server type
2024-09-10 07:30:30 +02:00
Michael
bb9dadf2ec Prevent a loop when trying to detect the server type 2024-09-09 21:26:07 +00:00
Tobias Diekershoff
fd5af4fb82
Merge pull request #14426 from annando/expire-limit
The limit for the expiry can now be configured
2024-09-09 07:58:37 +02:00
Michael
d5ab92f695 The limit for the expiry can now be configured 2024-09-09 03:27:18 +00:00
Tobias Diekershoff
1f59dce99d
Merge pull request #14425 from annando/expiry
Changed order of expiry commands
2024-09-08 18:59:57 +02:00
Michael
092ec00cdb Changed order of expiry commands 2024-09-08 16:19:01 +00:00
Tobias Diekershoff
37faff6d98
Merge pull request #14423 from annando/remove-custom-emojis
Remove custom emojis from contact names
2024-09-07 15:39:42 +02:00
Tobias Diekershoff
8eff24d693
Merge pull request #14411 from annando/content-type
Feeds: Check the content type before fetching feeds
2024-09-07 15:34:11 +02:00
Michael
72d5011ded Remove custom emojis from contact names 2024-09-07 07:33:39 +00:00
Tobias Diekershoff
c8dbafad83
Merge pull request #14422 from annando/issue-14370
Issue 14370: Improved content negogiation
2024-09-07 08:28:29 +02:00
Michael
a9fbad0afe Issue 14370: Improved content negogiation 2024-09-06 18:05:36 +00:00
Michael
c94a19375d Feeds: Check the content type before fetching feeds 2024-09-06 08:21:23 +00:00
Tobias Diekershoff
a54dcd2eb3
Merge pull request #14416 from annando/no-fetchfull
The redundant function "fetchfull" is removed
2024-09-06 07:23:09 +02:00
Tobias Diekershoff
300ddc6bf2
Merge pull request #14418 from annando/issue-14413
Issue 14413: Ensure that the expiry is performed
2024-09-06 07:17:39 +02:00
Michael
9bdf7d806b Issue 14413: Ensure that the expiry is performed 2024-09-05 06:35:38 +00:00
Michael
22828388c0 The redundant function "fetchfull" is removed 2024-09-04 17:04:45 +00:00
Tobias Diekershoff
9bf5b27362
Merge pull request #14414 from ne20002/fix/14407
fix upload of csv server blocklist
2024-09-04 08:30:35 +02:00
ne20002
2ea54e7031
Fixes #14407 2024-09-03 16:36:22 +00:00
Michael Vogel
30f0a0673f
Merge pull request #14412 from ne20002/feat/dev-container
devcontainer: align the containter with the Friendica docker setup
2024-09-03 05:18:52 +02:00
Michael Vogel
089c9ece39
Merge pull request #14409 from loma-one/develop
User message if the browser window is refreshed unintentionally
2024-09-03 05:14:13 +02:00
ne20002
cf255f4538
Aligining the Dockerfile with the version in friendica/docker repository 2024-09-02 14:31:52 +00:00
Tobias Diekershoff
ee24685cd7
Merge pull request #14406 from friendica/issue-14294
Issue 14294: Fix event parsing
2024-09-02 06:49:05 +02:00
Tobias Diekershoff
55a54fa2e0
Merge pull request #14410 from annando/no-exception
AVoid throwing an error / store the size of pages
2024-09-02 06:28:31 +02:00
Michael
99dfb7d59e Issue 14294: Fix event parsing 2024-09-02 04:11:40 +00:00
Michael
7fdf244bae AVoid throwing an error / store the size of pages 2024-09-02 04:10:27 +00:00
ne20002
f1301aec73
Aligining the Dockerfile with the version in friendica/docker repository 2024-09-01 17:14:49 +00:00
loma-one
ca46f8d1e0
User message if the browser window is refreshed unintentionally
If a post is created in the modal, not sent and the user refreshes the browser window, all content is lost. 

This change ensures that the user receives a notification if a post is unsent while the browser window is unintentionally refreshed.
2024-09-01 10:06:13 +02:00
Tobias Diekershoff
4dd64b1a5d
Merge pull request #14408 from annando/media
Fix fetching additional media information
2024-09-01 08:33:22 +02:00
Michael
9da42e551d Fix fetching additional media information 2024-09-01 04:52:38 +00:00
ne20002
07d6500700
Updated dev container configuration
- moved vscode launch.json to .devcontainer
 - added forwardPorts to devcontainer.json
 - create log file in postCreate.sh
2024-08-31 14:20:26 +00:00
Tobias Diekershoff
dc145bb440
Merge pull request #14404 from annando/error
Fix exception "($shorthand) must be of type string, null given,"
2024-08-28 19:13:04 +02:00
Michael
2e9b482de8 Fix exception "($shorthand) must be of type string, null given," 2024-08-28 12:08:36 +00:00
Tobias Diekershoff
e676a3db15
Merge pull request #14401 from annando/issue-14373
Issue 14373: Avoid exception in BBCode parser
2024-08-27 22:35:34 +02:00
Michael
79524e950c Issue 14373: Avoid exception in BBCode parser 2024-08-27 19:27:56 +00:00
Michael Vogel
c9f330ea48
Merge pull request #14399 from tobiasd/reuse
5th batch of REUSE information
2024-08-26 16:34:18 +02:00
Tobias Diekershoff
71d58eea0e REUSE added some more image information 2024-08-26 08:28:23 +02:00
Tobias Diekershoff
e53aceca90 REUSE vscode config 2024-08-26 07:54:41 +02:00
Tobias Diekershoff
29a0b48eaa Merge branch 'develop' into reuse 2024-08-26 07:48:32 +02:00
Tobias Diekershoff
a405e78509 REUSE information for some default profile pictures 2024-08-26 07:48:04 +02:00
Tobias Diekershoff
642f2c73d7 REUSE some more JS files from the themes 2024-08-26 06:59:37 +02:00
Tobias Diekershoff
b878e6d4d2 REUSE added some image licenses 2024-08-26 06:57:42 +02:00
Tobias Diekershoff
177b180a2d removed appnet logo 2024-08-26 06:57:05 +02:00
Tobias Diekershoff
9bfeebaf03
Merge pull request #14398 from annando/exceptions
Exception handling added at many places
2024-08-25 20:45:32 +02:00
Michael
518382036b Exception handling added at many places 2024-08-25 18:35:24 +00:00
Tobias Diekershoff
9d650ebf21 REUSE added licenses of some logos 2024-08-25 16:12:09 +02:00
Tobias Diekershoff
e6daaf49ce
Merge pull request #14396 from annando/issue-14307
Issue 14307: prevent exception on post update
2024-08-25 12:29:08 +02:00
Michael
79e4ff2f32 Issue 14307: prevent exception on post update 2024-08-25 10:21:05 +00:00
Michael Vogel
da9c7c4b21
Merge pull request #14395 from tobiasd/reuse
4th batch of REUSE compliance
2024-08-25 11:06:28 +02:00
Tobias Diekershoff
cea4414fdd REUSE some more work 2024-08-25 10:46:03 +02:00
Tobias Diekershoff
5af3b9dedd REUSE more work on bin and view directories 2024-08-25 08:45:08 +02:00
Tobias Diekershoff
19993bea31 REUSE more Licenses in use 2024-08-25 08:44:03 +02:00
Tobias Diekershoff
fb9ef9e081 REUSE themes and used libs 2024-08-24 23:15:49 +02:00
Michael Vogel
f485699b83
Merge pull request #14394 from tobiasd/reuse
3rd batch REUSE
2024-08-24 20:32:55 +02:00
Tobias Diekershoff
453df9f26a REUSE template files 2024-08-24 20:23:27 +02:00
Tobias Diekershoff
c8e010fa04 REUSE hopefully fix github issue templates 2024-08-24 19:59:05 +02:00
Tobias Diekershoff
1b3aa74b87
Merge pull request #14389 from annando/expire-media
Delete unused media attachments
2024-08-24 19:51:32 +02:00
Michael
425f23bbdc Delete unused media attachments 2024-08-24 17:40:25 +00:00
Michael Vogel
af28b82858
Merge pull request #14391 from tobiasd/reuse
2nd batch REUSE compliance
2024-08-24 19:34:25 +02:00
Tobias Diekershoff
dc2d894a26 Merge branch 'develop' into reuse 2024-08-24 19:20:00 +02:00
Tobias Diekershoff
767829e20b
Merge pull request #14385 from nupplaphil/feat/php-cs-fixer-update
[PHP-CS] Moving the php-cs-fixer dependency to the right place
2024-08-24 19:19:24 +02:00
Philipp
0880ced2a3
Fixup 2024-08-24 19:03:41 +02:00
Philipp
10cb502f16
Fix deprecation warnings & remove old php_cs.dist 2024-08-24 19:03:39 +02:00
Philipp
6be1cd895a
Fixing PHP-CS config 2024-08-24 19:03:28 +02:00
Philipp
8c9dcbb271
[PHP-CS] Moving the php-cs-fixer dependency to the right place 2024-08-24 19:03:27 +02:00
Tobias Diekershoff
3a0af8ce23 syntax fix 2024-08-24 19:03:20 +02:00
Tobias Diekershoff
b84a9073c2 syntax fix 2024-08-24 18:58:27 +02:00
Tobias Diekershoff
34db34d830 REUSE minor fix 2024-08-24 18:55:55 +02:00
Tobias Diekershoff
dcc6c7d6e9 REUSE use reuse lint in ci 2024-08-24 18:18:04 +02:00
Tobias Diekershoff
f597d7aac7
Merge pull request #14392 from annando/issue-14377
Disallow posting to restricted groups
2024-08-24 18:14:10 +02:00
Michael
dace658d5d Disallow posting to restricted groups 2024-08-24 16:05:43 +00:00
Tobias Diekershoff
627fa95417
Merge pull request #14390 from annando/issue-14381
Issue 14381: Fix automated register policy on first install
2024-08-24 15:58:54 +02:00
Tobias Diekershoff
2e1a419b7f coment out license check for now 2024-08-24 15:54:55 +02:00
Tobias Diekershoff
cfa27f62be REUSE view directory 2024-08-24 15:50:10 +02:00
Tobias Diekershoff
80ba415593 REUSE some more files. 2024-08-24 15:32:32 +02:00
Tobias Diekershoff
30a5ef33b0 REUSE src directory 2024-08-24 15:27:00 +02:00
Michael
24209c4374 Issue 14381: Fix automated register policy on first install 2024-08-24 12:48:20 +00:00
Tobias Diekershoff
5dbb2d00ca REUSE static directory 2024-08-24 14:38:14 +02:00
Tobias Diekershoff
c4b58df927 REUSE tests directory 2024-08-24 14:31:41 +02:00
Tobias Diekershoff
ac6b17e34c Merge branch 'develop' into reuse 2024-08-24 14:16:05 +02:00
Tobias Diekershoff
4cbc213dda REUSE view directory 2024-08-24 14:15:18 +02:00
Michael Vogel
07e845f494
Merge pull request #14376 from tobiasd/reuse
added initial REUSE stuff
2024-08-24 12:35:17 +02:00
Tobias Diekershoff
dbec42d422 REUSE licenses added 2024-08-24 12:23:11 +02:00
Tobias Diekershoff
506983aff1 REUSE more work on the themes 2024-08-24 12:20:23 +02:00
Tobias Diekershoff
4d8ee76b3b REUSE frio theme frameworks 2024-08-24 09:18:45 +02:00
Tobias Diekershoff
62fdcbad6a mark content of the doc folder with SPDX 2024-08-24 08:23:55 +02:00
Tobias Diekershoff
a3a8b6c9ec
Merge pull request #14378 from annando/contact-cleanup
Remove unused contacts
2024-08-24 07:38:55 +02:00
Michael
6f7d8d4c09 Remove unused contacts 2024-08-24 04:46:30 +00:00
Michael Vogel
1e302fb234
Merge pull request #14383 from loma-one/develop
Optimisation of the Composer Editor
2024-08-24 06:41:21 +02:00
Tobias Diekershoff
3896b07c9e SPDX headers for PHP files in bin and mod 2024-08-23 15:11:15 +02:00
Tobias Diekershoff
7cb66681d8 fix php syntax 2024-08-23 08:23:28 +02:00
Tobias Diekershoff
3a2c7a1f74 fix php syntax 2024-08-23 08:23:28 +02:00
Tobias Diekershoff
f1ebfa1dd9 added REUSE config file 2024-08-23 08:23:28 +02:00
Tobias Diekershoff
622a060936 added RESUE config and LICENSES dir 2024-08-23 08:23:28 +02:00
Tobias Diekershoff
f19b14bd88 added SPDX header information to some files
In the end of this progress Friendica will hopefully be [REUSE](https://reuse.software) complient but this is a longterm goal.
2024-08-23 08:23:28 +02:00
loma-one
b57cd3a925
Optimisation of the Composer Editor
As a result of the changes, the editor is started in a larger window. In addition, the authorisation settings for the article are hidden for the time being. These can be shown via a sandwitch menu if required. The reload of the page is prevented so that articles already created in the editor are not lost.

The Composer Editor is another editor in Friendica that is particularly suitable for entering longer texts (e.g. at the local workstation). The special feature is that the editor is loaded in a separate window and therefore does not distract from the timeline. The editor can still be used in mobile applications
2024-08-22 11:16:56 +02:00
loma-one
59530853de
Optimisation of the Composer Editor
As a result of the changes, the editor is started in a larger window. In addition, the authorisation settings for the article are hidden for the time being. These can be shown via a sandwitch menu if required.
The reload of the page is prevented so that articles already created in the editor are not lost.
ar.

The Composer Editor is another editor in Friendica that is particularly suitable for entering longer texts (e.g. at the local workstation). The special feature is that the editor is loaded in a separate window and therefore does not distract from the timeline. 
The editor can still be used in mobile applications
2024-08-22 10:59:06 +02:00
Tobias Diekershoff
4ac29047dc
Merge pull request #14380 from annando/issue-14377
Issue 14377: Support for "postingRestrictedToMods" added
2024-08-20 17:08:15 +02:00
Michael
d9d9cd45e4 Issue 14377: Support for "postingRestrictedToMods" added 2024-08-20 05:58:24 +00:00
Tobias Diekershoff
355273b13c
Merge pull request #14379 from annando/issue-14368
Issue 14368: Fix access to the global timeline
2024-08-20 06:58:31 +02:00
Michael
03543f1362 Issue 14368: Fix access to the global timeline 2024-08-19 20:01:31 +00:00
Michael Vogel
10eadd5cf5
Merge pull request #14372 from zotanmew/patch-1
Return rel=self link for xrd+xml webfinger responses
2024-08-19 08:29:40 +02:00
Michael Vogel
cb94ba7f2e
Merge pull request #14361 from tobiasd/20240815-federation.md
added FEDERATION.md / FEP-67ff
2024-08-18 08:57:59 +02:00
Tobias Diekershoff
bf6c6f4092 removed comment 2024-08-18 08:51:19 +02:00
Tobias Diekershoff
bcc290cdec updated descriptions in FEDERATION.md 2024-08-18 08:33:56 +02:00
Tobias Diekershoff
32831e6c0d updated links in FEDERATION.md 2024-08-18 07:00:41 +02:00
Laura Hausmann
c83f9c3fcb
Return rel=self link for xrd+xml webfinger responses 2024-08-17 23:05:45 +02:00
Tobias Diekershoff
60ffd8fe78 bumb version 2024.09-dev 2024-08-17 17:33:40 +02:00
Tobias Diekershoff
95229140f8 Merge branch 'stable' into develop 2024-08-17 17:29:18 +02:00
Tobias Diekershoff
6d605f24ee bumb version 2024.08 2024-08-17 17:28:43 +02:00
Tobias Diekershoff
c8c79ddc71 Merge branch '2024.06-rc' into stable 2024-08-17 17:22:22 +02:00
Tobias Diekershoff
664921b329
Merge pull request #14360 from tobiasd/202406-CHANGELOG
CHANGELOG for 2024.08
2024-08-17 17:21:23 +02:00
Tobias Diekershoff
abacfb6b2e added a fix to the CHANGELOG 2024-08-17 16:56:59 +02:00
Tobias Diekershoff
f37afcff3e
Merge pull request #14367 from annando/issue-14364-a
Issue 14364: Fix delivery of group posts to Friendica contacts
2024-08-17 05:50:31 +02:00
Michael
b6268d8d8d Issue 14364: Fix delivery of group posts to Friendica contacts 2024-08-17 03:04:00 +00:00
Tobias Diekershoff
2e0b104ebc
Merge pull request #14365 from annando/contact-deletion
Additional checks for deleting old contacts
2024-08-16 23:12:49 +02:00
Tobias Diekershoff
d4f91a92f2
Merge pull request #14366 from annando/issue-14364
Issue 14364: Fix post delivery of groups
2024-08-16 23:09:21 +02:00
Michael
4e094cc68f Issue 14364: Fix post delivery of groups 2024-08-16 19:29:44 +00:00
Michael
f1eb2bbfec Additional checks for deleting old contacts 2024-08-16 16:42:57 +00:00
Tobias Diekershoff
0094f3cf1a typo 2024-08-15 07:06:01 +02:00
Tobias Diekershoff
89ac1c829b
Merge pull request #14357 from annando/callstack
Additional checks against fetch loops
2024-08-15 07:03:45 +02:00
Tobias Diekershoff
67b081257a indentation fix 2024-08-15 06:57:48 +02:00
Tobias Diekershoff
84db6605f1 added DB cleanup to CHANGELOG 2024-08-15 06:56:15 +02:00
Tobias Diekershoff
e500d588f7
Merge pull request #14362 from annando/delete-apcontact
Remove apcontact and diaspora-contact entries that aren't connected to contacts
2024-08-15 06:50:53 +02:00
Michael
c9ba460817 Additional checks against fetch loops 2024-08-15 04:35:46 +00:00
Tobias Diekershoff
517e487d11 added 2024-08 addons 2024-08-15 06:22:57 +02:00
Michael
5fbba942de Remove apcontact and diaspora-contact entries that aren't connected to contacts 2024-08-15 04:17:14 +00:00
Tobias Diekershoff
e6ea1e5e30 added a link 2024-08-15 06:10:36 +02:00
Tobias Diekershoff
64cc428227 initial commit for FEDERATION.md FEP-67ff 2024-08-15 06:08:50 +02:00
Tobias Diekershoff
ba15a9e55b added contributor names 2024-08-14 17:29:50 +02:00
Tobias Diekershoff
5904ade15b
Merge pull request #14359 from annando/Configurable-recursion-depth-when-fetching-replies
Configurable recursion depth when fetching replies
2024-08-14 17:27:26 +02:00
Tobias Diekershoff
e7611cf0bd CHANGELOG for 2023.08 2024-08-14 17:13:44 +02:00
Michael
d6b37591f5 Configurable recursion depth when fetching replies 2024-08-14 08:16:33 +00:00
Michael Vogel
25cad5aae8
Merge pull request #14358 from tobiasd/20240814-lng
update AR, DE, FR, GD, HU, PL, RU translations
2024-08-14 09:34:47 +02:00
Tobias Diekershoff
87bda0c0e0 update AR, DE, FR, GD, HU, PL, RU translations 2024-08-14 07:54:11 +02:00
Tobias Diekershoff
602cb3b35b
Merge pull request #14356 from annando/fix-public
Fix restricted access to public timeline
2024-08-14 07:47:22 +02:00
Michael
c3ed9ba24a Fix restricted access to public timeline 2024-08-13 19:31:42 +00:00
Tobias Diekershoff
241d056473
Merge pull request #14353 from annando/stats
Increment inbound/outbound on mails per result
2024-08-13 07:19:38 +02:00
Tobias Diekershoff
9bb05d3cc4
Merge pull request #14352 from annando/fix-target-inboxes
Fix for fetching the target inboxes
2024-08-13 07:18:41 +02:00
Tobias Diekershoff
7801d3efe8
Merge pull request #14354 from annando/issue-14121
Issue 14121: Don't display contacts from unavailable networks via API
2024-08-13 07:17:45 +02:00
Tobias Diekershoff
5798d9f879
Merge pull request #14355 from annando/issue-14186
Issue 14186: Respect public restrictions for ttimeline API endpoint
2024-08-13 07:16:13 +02:00
Michael
c5844625b4 Issue 14186: Respect public restrictions for ttimeline API endpoint 2024-08-13 02:50:50 +00:00
Michael
60ebc62730 Issue 14121: Don't display contacts from unavailable networks via API 2024-08-13 01:49:27 +00:00
Michael
94c3331bcd Fix for fetching the target inboxes 2024-08-12 16:57:57 +00:00
Michael
f47c4c3dd6 Increment inbound/outbound on mails per result 2024-08-12 16:55:16 +00:00
Tobias Diekershoff
80bd572393
Merge pull request #14351 from annando/issue-14349
Issue 14349: Fix profile page for unrelated contacts
2024-08-11 12:21:43 +02:00
Michael
131e330e61 Issue 14349: Fix profile page for unrelated contacts 2024-08-11 06:44:24 +00:00
Tobias Diekershoff
66e9807876
Merge pull request #14345 from annando/stats
Statistics: Inbound/Outbound for more protocols
2024-08-09 13:37:10 +02:00
Tobias Diekershoff
5ea3f9e6b7
Merge pull request #14347 from annando/contact-redirect
Improved redirect for contact actions
2024-08-09 12:56:52 +02:00
Tobias Diekershoff
f9edb6ee93
Merge pull request #14348 from annando/double-replies
Prevent fetching replies when fetching replies
2024-08-09 12:55:28 +02:00
Michael Vogel
776f413783
Merge pull request #14343 from loma-one/2024.06-rc
Usability improvements trending_tags.tpl & CSS instructions for formatting in the notification.tpl
2024-08-08 09:57:29 +02:00
loma-one
6b7561e8f7
Remove comments as they are not relevant trending_tags.tpl 2024-08-08 06:27:31 +02:00
loma-one
4f877ad6b6
Comments in English trending_tags.tpl 2024-08-08 06:09:41 +02:00
loma-one
14fa0528cd
Correction tab global.css 2024-08-07 14:26:09 +02:00
loma-one
5cc3b1f2f5
Template and css separated 2024-08-07 13:57:13 +02:00
loma-one
5e2687e7ea
css instructions notification.tpl global.css 2024-08-07 13:28:47 +02:00
loma-one
2083fca753
CSS instructions for formatting in the notification.tpl
A space has been inserted between the user icon and the outlined text. Texts are wrapped after 70 characters.
2024-08-07 12:43:00 +02:00
loma-one
66f4c70bfe
Merge pull request #2 from loma-one/revert-1-loma-one-patch-3
Revert "CSS instructions for formatting in the notification.tpl"
2024-08-07 12:39:33 +02:00
loma-one
1bacdf83b7
Merge branch 'friendica:2024.06-rc' into 2024.06-rc 2024-08-07 12:29:56 +02:00
loma-one
e16ee01b4c
Revert "CSS instructions for formatting in the notification.tpl" 2024-08-07 12:27:24 +02:00
loma-one
d856e923e0
Merge pull request #1 from loma-one/loma-one-patch-3
CSS instructions for formatting in the notification.tpl
2024-08-07 12:24:18 +02:00
loma-one
f8be6f8057
CSS instructions for formatting in the notification.tpl
A space has been inserted between the user icon and the outlined text. Texts are wrapped after 70 characters.
2024-08-07 12:22:39 +02:00
Michael
63d4f1cace Prevent fetching replies when fetching replies 2024-08-06 21:52:25 +00:00
Michael
342c9088d3 Improved redirect for contact actions 2024-08-06 21:35:59 +00:00
Michael
7e8a6335ae Fix the datetime of the last cron execution 2024-08-06 05:47:41 +00:00
Michael
bdf95e8305 Statistics: Inbound/Outbound for more protocols 2024-08-05 20:34:17 +00:00
Tobias Diekershoff
3776cf8919
Merge pull request #14335 from annando/fix-follow
Fix follow/unfollow
2024-08-04 19:13:09 +02:00
Tobias Diekershoff
470b98697d
Merge pull request #14338 from annando/owa
Don't query the OWA data if already set
2024-08-04 17:00:50 +02:00
Tobias Diekershoff
22dbc1e7ae
Merge pull request #14340 from annando/issue-14312
Issue 14312: fix uimport path / restore POST endpoints
2024-08-04 16:58:09 +02:00
Tobias Diekershoff
be7e2e4984
Merge pull request #14342 from annando/issue-14303
Issue 14303: Fixes %3f problem with OAuth login
2024-08-04 16:56:33 +02:00
loma-one
7695f08e7b
Usability improvements trending_tags.tpl
The tranding tags don't look very nice. The changes are intended to make them more attractive. 

 - For this purpose, each tag is preceded by a "fa fa-hashtag".
 - The # in front of the word has been removed
 - Clicking on a hashtag searches with a hashtag as usual.
 - Other tags were previously displayed indented
 - Now it is ensured that all hashtags are in one line

This is a suggestion that can be discarded at any time. I would still be happy if the changes could be adopted.
2024-08-04 12:33:56 +02:00
Michael
efee399397 Issue 14303: Fixes %3f problem with OAuth login 2024-08-03 19:21:29 +00:00
Michael Vogel
89084c6b05
Merge pull request #14337 from loma-one/2024.06-rc
Update compose.tpl
2024-08-03 17:10:09 +02:00
loma-one
a8a65913c0
Update compose.tpl
Corrected indentation
2024-08-03 15:28:38 +02:00
Michael
1a6e381206 Issue 14312: fix uimport path / restore POST endpoints 2024-08-03 12:20:56 +00:00
loma-one
da293cfbd2
Update compose.tpl
Corrected indentation
2024-08-03 07:41:59 +02:00
Michael
f4791649dd Don't query the OWA data if already set 2024-08-02 09:49:42 +00:00
Michael
534db0d09a Fix follow/unfollow 2024-08-02 05:50:01 +00:00
loma-one
974c8fad9b
Update compose.tpl
The change ensures that the input dialogue is expanded when the bottom line is reached.
2024-08-01 21:10:33 +02:00
Michael Vogel
bfe18e854c
Merge pull request #14309 from ne20002/feat/dev-container
devcontainer: network connectivity
2024-07-31 21:38:31 +02:00
Tobias Diekershoff
26f8392754
Merge pull request #14333 from haheute/superfluous-spaces
Superfluous spaces
2024-07-31 09:27:16 +02:00
Tobias Diekershoff
e31f94e93e
Merge pull request #14334 from annando/tests
Fix tests
2024-07-31 06:44:23 +02:00
Michael
1f18e096fe Fix tests 2024-07-31 04:38:03 +00:00
Hannes Heute
574e39aec4 messages.po 2024-07-30 22:17:00 +02:00
Hannes Heute
f8fe47ae88 removed some superfluous spaces in doctype tags 2024-07-30 22:13:08 +02:00
Tobias Diekershoff
2c9f312e33
Merge pull request #14331 from annando/issue-14329
Issue 14329: Fixes "Can't send a post"
2024-07-30 21:41:23 +02:00
Tobias Diekershoff
69ca4342a8
Merge pull request #14330 from annando/post
ACL works again
2024-07-30 21:33:05 +02:00
Tobias Diekershoff
9d94b13bf0
Merge pull request #14332 from annando/incorrectinteger
Fixes "Incorrect integer value: 'true'"
2024-07-30 21:31:58 +02:00
Michael
efc7efc279 Fixes "Incorrect integer value: 'true'" 2024-07-30 15:00:35 +00:00
Michael
d3c86ba2ad Issue 14329: Fixes "Can't send a post" 2024-07-30 14:51:40 +00:00
Michael
fadff0dc84 ACL works again 2024-07-30 14:45:49 +00:00
ne20002
f1da30c578
dev container network connectivity 2024-07-29 17:31:34 +00:00
Tobias Diekershoff
3768558cb4
Merge pull request #14328 from annando/rawcontent
Use "post" instead of "rawContent"
2024-07-28 12:35:56 +02:00
Michael
28d67bfef0 Use "post" instead of "rawContent" 2024-07-28 09:58:02 +00:00
Tobias Diekershoff
344c5fa595
Merge pull request #14327 from annando/issue-14324
Issue 14324: Sanitize profile input
2024-07-28 08:46:49 +02:00
Tobias Diekershoff
24f6239c94
Merge pull request #14326 from annando/issue-14325
Issue 14325: Execute "rawContent" only for GET requests
2024-07-28 08:45:24 +02:00
Michael
ef71840ddc Issue 14324: Sanitize profile input 2024-07-28 04:36:16 +00:00
Michael
0b710ce4fb Issue 14325: Process "post" requests only once 2024-07-27 17:35:14 +00:00
Tobias Diekershoff
aae004d3d2
Merge pull request #14318 from annando/stats
Count inbound and outbound packets
2024-07-26 20:44:49 +02:00
Tobias Diekershoff
7b8381fb1a
Merge pull request #14323 from annando/styles
Removed deprecated parameter
2024-07-26 20:42:51 +02:00
Tobias Diekershoff
4f928b6fae
Merge pull request #14322 from annando/link-length
Configurable maximum link length
2024-07-26 20:40:54 +02:00
Michael
823a7bf780 Removed deprecated parameter 2024-07-24 21:03:26 +00:00
Michael Vogel
bc43cdea75
Merge pull request #14321 from friendica/bug/14285-search-restricted
Fix typo in SQL query in Model\Post\Content->countBySearch
2024-07-24 22:56:51 +02:00
Michael
e011b5956a Count inbound and outbound packets 2024-07-24 20:50:46 +00:00
Michael
ecc4f73007 Configurable maximum link length 2024-07-24 20:34:26 +00:00
Hypolite Petovan
1f8e8e4653
Fix typo in SQL query in Model\Post\Content->countBySearch 2024-07-24 15:16:39 -04:00
Tobias Diekershoff
ca5f93a4d5
Merge pull request #14317 from annando/stats2
More statistics variables added
2024-07-23 07:24:56 +02:00
Michael
3445e91781 More statistics variables added 2024-07-22 21:47:25 +00:00
Tobias Diekershoff
64433739c2
Merge pull request #14315 from annando/stats
New endpoint for monitoring services
2024-07-22 06:48:31 +02:00
Michael
53d121de51 New endpoint for monitoring services 2024-07-21 20:46:11 +00:00
Tobias Diekershoff
8e094a2dd0
Merge pull request #14314 from annando/remote-performance
Improve performance when visiting remote profiles
2024-07-21 10:48:19 +02:00
Michael
b7685375e8 Improve performance when visiting remote profiles 2024-07-21 07:15:49 +00:00
Tobias Diekershoff
6cf6f64296
Merge pull request #14313 from annando/fix-remote
Fix exception on remote authentication
2024-07-21 08:46:50 +02:00
Michael
a5f1525009 Fix exception on remote authentication 2024-07-21 06:25:12 +00:00
Tobias Diekershoff
76bf2fa6ce
Merge pull request #14308 from annando/fix-upload
Fix fatal error on upload
2024-07-21 06:31:38 +02:00
Michael
096ea13812 Fix fatal error on upload 2024-07-20 15:45:05 +00:00
Tobias Diekershoff
560106bd32
Merge pull request #14310 from friendica/children-callstack
Avoid fetching posts in a loop
2024-07-20 14:53:49 +02:00
Michael
45af374068 Avoid fetching posts in a loop 2024-07-20 09:48:48 +00:00
Michael Vogel
35e815b949
Merge pull request #14296 from mexon/mat/contact-gone
Remove contact immediately on 410 response code
2024-07-19 22:12:36 +02:00
Tobias Diekershoff
921aca432c
Merge pull request #14286 from annando/api-media-upload
API: The media upload (audio, video) is now possible
2024-07-19 07:47:42 +02:00
Tobias Diekershoff
0f232ad9f1
Merge pull request #14305 from annando/removeunused
Unused cached avatar files will be removed
2024-07-19 07:33:35 +02:00
Tobias Diekershoff
fb3021e4ff
Merge pull request #14301 from annando/ckearavatarcache
New console command to clear the avatar cache
2024-07-19 07:30:54 +02:00
Tobias Diekershoff
a4c08f080f
Merge pull request #14266 from annando/context
Store the context as a separate field
2024-07-19 07:18:28 +02:00
Michael
b014ec4548 New console command to clear the avatar cache 2024-07-18 10:53:49 +00:00
Michael
0ba57843c0 Unused cached avatar files will be removed 2024-07-18 10:41:47 +00:00
Michael
03189a1c8c Store the context as a separate field 2024-07-16 20:09:08 +00:00
Michael
7dc75d585e API: The media upload (audio, video) is now possible 2024-07-16 20:08:24 +00:00
Hypolite Petovan
e3c782010f
Merge pull request #14304 from annando/fatal
Fix fatal error for unknown contact ids
2024-07-16 15:32:16 -04:00
Michael
bce4539ff3 Fix fatal error for unknown contact ids 2024-07-16 18:15:30 +00:00
Hypolite Petovan
49044eac23
Merge pull request #14302 from ne20002/feat/dev-container
Initial version of devcontainer for friendica
2024-07-16 08:57:43 -04:00
ne20002
5b20bfc94c
Initial version of devcontainer for friendica 2024-07-16 07:32:42 +00:00
Tobias Diekershoff
fca67b3fcb
Merge pull request #14297 from annando/clear-avatar
Delete cached avatar data from storage
2024-07-16 07:22:42 +02:00
Tobias Diekershoff
aba11f5e5c
Merge pull request #14298 from annando/issue-14295
Issue 14295: Store the return url as hex string
2024-07-16 07:12:07 +02:00
Tobias Diekershoff
595dfbe037
Merge pull request #14299 from annando/processunprocessed
Process unprocessed queue entries in a separate worker process
2024-07-16 07:10:31 +02:00
Matthew Exon
2b617fc5c2 Remove contact immediately on 410 response code 2024-07-15 08:52:56 +02:00
Michael
be633abe02 Process unprocessed queue entries in a separate worker process 2024-07-15 05:28:45 +00:00
Michael
e2d2428444 Delete cached avatar data from storage 2024-07-15 04:25:15 +00:00
Michael
c42cff691a Issue 14295: Store the return url as hex string 2024-07-14 11:14:37 +00:00
Tobias Diekershoff
33e26b966e
Merge pull request #14287 from annando/warning
Fix warning
2024-07-12 08:19:34 +02:00
Tobias Diekershoff
efa0a8ce18
Merge pull request #14291 from annando/fix-pipeline
Fix pipeline error
2024-07-12 08:18:53 +02:00
Tobias Diekershoff
54dc95ec81
Merge pull request #14288 from annando/prevent-loop
Prevent to fetch loops
2024-07-12 08:18:17 +02:00
Tobias Diekershoff
a4cc49f0d2
Merge pull request #14289 from annando/fatal
Prevent fatal error
2024-07-12 08:17:04 +02:00
Tobias Diekershoff
9adcdecb64
Merge pull request #14290 from annando/notify-namecache
Fix fatal error in notifications
2024-07-12 08:16:19 +02:00
Michael Vogel
b76ba423f2
Merge pull request #14293 from mexon/mat/webfinger-no-resource
Return 400 error code when webfinger request omits resource parameter.
2024-07-11 18:42:35 +02:00
Matthew Exon
d4aa5d9aad Return 400 error code when webfinger request omits resource parameter. Fixes #14292 2024-07-11 18:18:54 +02:00
Michael
2b61e623b4 Fix pipeline error 2024-07-11 15:57:12 +00:00
Michael
f9a3b67318 Fix fatal error in notifications 2024-07-11 15:34:36 +00:00
Michael
a9e2a02312 Prevent fatal error 2024-07-11 15:21:53 +00:00
Michael Vogel
946337645d
Merge pull request #14282 from mexon/mat/malformed-webfinger-400
Return 400 error code on malformed request.
2024-07-11 16:11:55 +02:00
Michael
5154bf8313 Prevent to fetch loops 2024-07-11 12:19:05 +00:00
Michael
15ccd23778 Fix warning 2024-07-10 22:01:06 +00:00
Matthew Exon
958d0ba554 Match all schemes not just acct 2024-07-08 20:04:34 +02:00
Matthew Exon
1701156a18 Return 400 error code on malformed request. Fixes #14281 2024-07-08 19:23:20 +02:00
Michael Vogel
b2cddef723
Merge pull request #14278 from haheute/hide-inflated
Hide inflated widgets when Javascript is off
2024-07-06 16:52:57 +02:00
Hannes Heute
85d9774dff Hide inflated widgets when Javascript is off 2024-07-05 00:15:19 +02:00
Michael Vogel
27011cb0f3
Merge pull request #14277 from haheute/logs-table-straight
make logs table straight, don't use grid for table body
2024-07-04 17:37:46 +02:00
Hannes Heute
6d80df6849 make logs table straight, don't use grid for table body 2024-07-04 14:58:35 +02:00
Michael Vogel
d63edf5dfa
Merge pull request #14271 from haheute/log-view-mobile
improve log view table for mobile width using display:grid
2024-07-03 14:35:48 +02:00
Hannes Heute
cd526f4e1d improve log view table for mobile width using display:grid 2024-07-03 13:01:43 +02:00
Michael Vogel
491a5cab53
Merge pull request #14267 from mexon/mat/permanent-redirect
Update feed URL after permanent redirect
2024-07-03 09:33:10 +02:00
Matthew Exon
f32592e148 Use standard boolean operator 2024-07-03 08:03:33 +02:00
Matthew Exon
c7937300db Remove duplicate space 2024-07-03 08:02:41 +02:00
Michael Vogel
704fcfece8
Merge pull request #14268 from haheute/overflowing-log-messages
Overflowing of log messages in the admin log view
2024-07-03 07:42:11 +02:00
Tobias Diekershoff
aad210e891
Merge pull request #14270 from annando/api-platform
API: Provide platform data
2024-07-03 06:31:37 +02:00
Tobias Diekershoff
d93b7933d4
Merge pull request #14269 from annando/reply-loop
Avoid loops when fetching replies
2024-07-03 06:30:14 +02:00
Michael
efe2f5273d API: Provide platform data 2024-07-03 03:44:12 +00:00
Michael Vogel
7d2900c2e0
Merge pull request #14264 from HankG/mastodon-api-explicit-network-field
Add an explicit network field to the Mastodon API FriendicaExtension.php
2024-07-03 04:35:08 +02:00
Michael
b739bddd26 Avoid loops when fetching replies 2024-07-03 02:29:16 +00:00
Hannes Heute
6706fc2949 remove lines, forgotten to remove 2024-07-02 22:41:00 +02:00
Hannes Heute
01d1dc4f53 stop overflowing of messages in admin logs view 2024-07-02 22:29:08 +02:00
Matthew Exon
31f103a1f0 Update feed URL after permanent redirect 2024-07-01 18:50:13 +02:00
Michael Vogel
d0a66d4f7b
Merge pull request #14265 from mexon/mat/redirect-url
Use last URL from redirect chain
2024-07-01 17:42:30 +02:00
Matthew Exon
1049ac4779 Use last URL from redirect chain 2024-07-01 08:07:39 +02:00
Hank Grabowski
dd9f9ba7da Add an explicit network field to the Mastodon API FriendicaExtension.php 2024-06-30 14:19:33 -04:00
Hypolite Petovan
d6b9858143
Merge pull request #14258 from annando/fetch-replies
Fetch replies to fetched posts
2024-06-29 19:28:19 -04:00
Hypolite Petovan
918317fa49
Merge pull request #14261 from mexon/mat/default-adjust-poll-freq
Default to adjusting poll frequency automatically
2024-06-29 19:27:15 -04:00
Matthew Exon
848a132431 Default to adjusting poll frequency automatically 2024-06-29 14:02:10 +02:00
Michael
2eadad49db Fetch replies to fetched posts 2024-06-26 08:33:07 +00:00
Hypolite Petovan
a824572311
Merge pull request #14243 from annando/nodeinfo
Nodeinfo: We now parse Nodeinfo 2.1 and 2.2 as well
2024-06-24 03:59:12 -04:00
Hypolite Petovan
bb528a44d4
Merge pull request #14255 from haheute/dark-schemes-for-login
Add CSS for dark and black schemes for the login form
2024-06-24 03:56:06 -04:00
Tobias Diekershoff
9e84a952fd
Merge pull request #14256 from annando/network-seen
Set posts "seen" by a worker if too much rows are unseen
2024-06-24 08:06:12 +02:00
Michael
53f3b65887 Set posts "seen" by a worker if too much rows are unseen 2024-06-23 21:33:25 +00:00
Michael
e319621f63 Nodeinfo: We now parse Nodeinfo 2.1 and 2.2 as well 2024-06-23 21:32:16 +00:00
Hannes Heute
7ae9805308 Add CSS for dark and black schemes for the login form 2024-06-23 23:09:15 +02:00
Hypolite Petovan
c380a28039
Merge pull request #14247 from annando/queue-cleanup
Retrial counter for the inbox queue
2024-06-23 15:50:07 -04:00
Hypolite Petovan
16f5d2033d
Merge pull request #14248 from mexon/mat/moderation-tab-hook
Add addon hook for additional moderation tabs
2024-06-23 15:24:14 -04:00
Michael
a433a4623a Retrial counter for the inbox queue 2024-06-23 14:43:22 +00:00
Tobias Diekershoff
cd8189e859
Merge pull request #14254 from annando/missing-links
Issue 14249: Fix missing links in posts
2024-06-23 15:51:07 +02:00
Tobias Diekershoff
2a1c6a255b
Merge pull request #14251 from annando/issue-14250
Issue 14250: fix lost quoted posts
2024-06-23 15:46:51 +02:00
Michael
fff64c0490 Fix missing links in posts 2024-06-23 13:22:15 +00:00
Michael Vogel
1638adcb46
Merge pull request #14252 from haheute/event-owner-width
fix width of event-owner in event modal (better display of avatar ima…
2024-06-23 13:31:24 +02:00
Hannes Heute
aa57855a18 add messages.po again.. 2024-06-23 13:20:39 +02:00
Hannes Heute
c8f3c52b7b add messages.po 2024-06-23 13:10:38 +02:00
Hannes Heute
f1a2983233 fix width of event-owner in event modal (better display of avatar image and user name) 2024-06-23 12:41:49 +02:00
Michael
48ff4f4167 Issue 14250: fix lost quoted posts 2024-06-23 08:30:41 +00:00
Matthew Exon
8c60ea4640 Add addon hook for additional moderation tabs 2024-06-22 18:48:57 +02:00
Michael Vogel
0fc369a3aa
Merge pull request #14245 from tobiasd/20240621-lng
update DE, FR, RU translations
2024-06-21 20:42:12 +02:00
Tobias Diekershoff
5e13a48269 update DE, FR, RU translations 2024-06-21 20:18:21 +02:00
Hypolite Petovan
de19bf43d9
Merge pull request #14241 from annando/nodeinfo
Support for "nodeDescription" in nodeinfo
2024-06-18 02:11:58 -04:00
Hypolite Petovan
f8a53662d5
Merge pull request #14242 from annando/error
Accept "null" as value for the "about" text
2024-06-18 02:11:15 -04:00
Michael
c96b28ee63 Accept "null" as value for the "about" text 2024-06-18 05:49:04 +00:00
Michael
28921203b7 Support for "nodeDescription" in nodeinfo 2024-06-18 05:19:38 +00:00
Hypolite Petovan
269c67a185
Merge pull request #14238 from annando/responsible-contact
Issue 14231: Automatically add the relay owner as contact person
2024-06-17 15:59:08 -04:00
Michael
a27d55f6cf Issue 14231: Automatically add the relay owner as contact person 2024-06-17 03:45:24 +00:00
Hypolite Petovan
eb6297c472
Merge pull request #14236 from annando/nodeinfo
Add nodeinfo 2.1 and 2.2
2024-06-16 10:06:20 -04:00
Michael
06bc985072 Add nodeinfo 2.1 and 2.2 2024-06-16 08:38:37 +00:00
Hypolite Petovan
9dc4e611a9
Merge pull request #14235 from annando/img-alt
Improve adding of alt descriptions when linking images
2024-06-15 10:20:38 -04:00
Michael
a87e0ad63c Improve adding of alt descriptions when linking images 2024-06-15 12:39:49 +00:00
Tobias Diekershoff
86f238f379
Merge pull request #14233 from annando/media-scrolling
Fix paging on media pages
2024-06-15 13:47:10 +02:00
Tobias Diekershoff
03567ce04d
Merge pull request #14234 from annando/wordpress-groups
Don't display wordpress accounts in the forumlist
2024-06-15 13:42:36 +02:00
Michael
33b478d9ca Don't display wordpress accounts in the forumlist 2024-06-15 09:27:55 +00:00
Michael
47ab246441 Fix paging on media pages 2024-06-15 09:04:36 +00:00
Tobias Diekershoff
e9421d7eb6
Merge pull request #14232 from annando/issue-14220
Issue 14220: Sanitize profile data
2024-06-14 23:15:44 +02:00
Michael
8dd8ca23f7 Issue 14220: Sanitize profile data 2024-06-14 20:19:31 +00:00
Tobias Diekershoff
11f305de68
Merge pull request #14229 from annando/probing
Reduce probing / handle exception for invalid url / always check for https
2024-06-14 06:44:09 +02:00
Michael
ab06d1964c Reduce probing / handle exception for invalid url / always check for https 2024-06-13 06:16:52 +00:00
Michael Vogel
ae7001ebde
Merge pull request #14225 from tobiasd/20240710-lng
update DE, FR, HU translations
2024-06-10 14:27:26 +02:00
Tobias Diekershoff
fdeeb430a5 update DE, FR, HU translations 2024-06-10 07:37:29 +02:00
Tobias Diekershoff
d7cd450df5
Merge pull request #14224 from annando/performance
Improve the inbox performance
2024-06-09 17:25:12 +02:00
Michael
e587dcc7d3 Improve the inbox performance 2024-06-09 13:37:43 +00:00
Tobias Diekershoff
12f4eeb517
Merge pull request #14222 from annando/expiry
Further improvement of the expiring performance
2024-06-09 08:54:08 +02:00
Tobias Diekershoff
17f376a034
Merge pull request #14221 from annando/performance
Log the page execution performance
2024-06-09 08:52:29 +02:00
Michael
e645d45c2d Log the page execution performance 2024-06-09 06:25:28 +00:00
Michael
a2f463e60d Further improvement of the expiring performance 2024-06-09 06:24:18 +00:00
Tobias Diekershoff
e086e56354
Merge pull request #14219 from annando/expire-2
Improved performance when expiring posts
2024-06-07 06:54:34 +02:00
Michael
b33d603f96 Improved performance when expiring posts 2024-06-07 04:02:13 +00:00
Hypolite Petovan
3aedf53765
Merge pull request #14203 from mexon/mat/safety-doc
Add documentation on safety features
2024-06-05 18:47:18 -04:00
Matthew Exon
d38b2124a1 Small corrections and improved wording 2024-06-05 19:52:23 +02:00
Tobias Diekershoff
bfa7e3f7a7
Merge pull request #14211 from annando/lock-optimize
Lock for "optimize" / expire in chunks
2024-06-05 07:59:26 +02:00
Michael
385a0c8e8c Lock for "optimize" / expire in chunks 2024-06-05 05:39:31 +00:00
Hypolite Petovan
1e696d4bc0
Merge pull request #14209 from foss-/patch-14
Update Home.md add ToS to About section (de flavour)
2024-06-04 16:44:04 -04:00
Hypolite Petovan
4283248bf9
Merge pull request #14208 from foss-/patch-13
Update Home.md add ToS to About section
2024-06-04 16:43:36 -04:00
foss-
81840ad8ed
Update Home.md add ToS to About section (de flavour) 2024-06-04 21:52:07 +02:00
foss-
47350234e6
Update Home.md add ToS to About section 2024-06-04 21:50:07 +02:00
Tobias Diekershoff
72f6b07c88 2024.06-rc 2024-06-04 20:35:00 +02:00
Hypolite Petovan
03db8ee52c
Merge pull request #14202 from annando/fix-attachment
Fix: Posts with attached links work again
2024-06-03 15:20:55 -04:00
Michael
c088bab141 Fix: Posts with attached links work again 2024-06-03 15:10:42 +00:00
Hypolite Petovan
9eafb5edcb
Merge pull request #14200 from foss-/patch-14
Update Home.md: unify Links section (de variant)
2024-06-03 10:07:30 -04:00
Hypolite Petovan
a49c51f62e
Merge pull request #14199 from foss-/patch-13
Update Home.md: unify Links section
2024-06-03 10:07:12 -04:00
Michael Vogel
ba1d5bf578
Merge pull request #14204 from tobiasd/20240603-lng
DE, FR translation updates
2024-06-03 08:59:16 +02:00
Tobias Diekershoff
3685f37d4b DE, FR translation updates 2024-06-03 08:16:11 +02:00
Matthew Exon
2cb1111ebd Add documentation on safety features 2024-06-02 20:50:19 +02:00
foss-
cb10b7e673
Update Home.md: cleanup Links section (de variant) 2024-06-02 13:26:26 +02:00
foss-
492675d506
Update Home.md: unify Links section
- mailing list link uses https
- structure of all links unified
- simplified overall structure
2024-06-02 13:23:11 +02:00
Tobias Diekershoff
35beffc8a8
Merge pull request #14198 from annando/limited-search
Option to reduced search scope to improve the performance
2024-06-02 12:05:18 +02:00
Michael
259a676207 Option to reduced search scope to improve the performance 2024-06-02 09:27:05 +00:00
Tobias Diekershoff
d7e038a014
Merge pull request #14195 from annando/article
Option to define how posts with titles are transmitted
2024-06-01 12:55:51 +02:00
Michael
29187f1501 Option to define how posts with titles are transmitted 2024-06-01 08:19:09 +00:00
Hypolite Petovan
2cd860e028
Merge pull request #14193 from foss-/patch-14
Update Home.md (de version)
2024-05-30 20:26:33 -04:00
Hypolite Petovan
1fe8722159
Merge pull request #14192 from foss-/patch-13
Update Home.md
2024-05-30 18:15:45 -04:00
foss-
ff0c94c296
Update Home.md
edits for de variant of home.md
2024-05-31 00:08:14 +02:00
foss-
43f5c45fce
Update Home.md
many obvious cleanups, language simplifications
2024-05-30 13:02:08 +02:00
Michael Vogel
e25c7d236c
Merge pull request #14191 from annando/Fix-block
Fix: $self is not an array
2024-05-30 05:18:57 +02:00
Michael
e14a63d848 Fix: $self is not an array 2024-05-30 03:17:34 +00:00
Hypolite Petovan
83b286fafb
Merge pull request #14189 from annando/blocked-users
Blocked users need to be blocked
2024-05-29 10:32:06 -04:00
Michael
b61cfd193f Blocked users need to be blocked 2024-05-29 13:34:56 +00:00
Hypolite Petovan
eb2a8e47b0
Merge pull request #14185 from annando/authentication
OpenWebAuth moved to a separate class / Improved authentication handling
2024-05-28 19:22:10 -04:00
Michael
55cec6c61d OpenWebAuth moved to a separate class / Improved authentication handling 2024-05-28 21:59:52 +00:00
Hypolite Petovan
b3c7e96b73
Merge pull request #14188 from annando/feed
Improved hostname handling with feeds
2024-05-28 13:53:49 -04:00
Michael
fd3386fe20 Improved hostname handling with feeds 2024-05-28 05:20:53 +00:00
Hypolite Petovan
87da9c98f6
Merge pull request #14187 from annando/error
Fix "TypeError: Argument 1 passed to Friendica\Util\Strings::compareLink() must be of the type string, null given"
2024-05-27 19:08:06 -04:00
Michael
fd508fa423 Fix "TypeError: Argument 1 passed to Friendica\Util\Strings::compareLink() must be of the type string, null given" 2024-05-27 19:23:29 +00:00
Tobias Diekershoff
99aec68582
Merge pull request #14184 from annando/remote-login
Fix remote login issues between Friendica instances
2024-05-26 22:19:33 +02:00
Michael
95faba4446 Fix remote login issues between Friendica instances 2024-05-26 20:04:48 +00:00
Tobias Diekershoff
0966d5f1b4
Merge pull request #14183 from annando/issue-14102
Issue 14102: Display "channels only" contacts in circles
2024-05-26 19:52:07 +02:00
Michael
7808c89071 Issue 14102: Display "channels only" contacts in circles 2024-05-26 16:00:27 +00:00
Hypolite Petovan
e8da8c5a2b
Merge pull request #14182 from annando/magic
Improve "magic" with Hubzilla
2024-05-26 10:03:07 -04:00
Hypolite Petovan
1b022a91fa
Merge pull request #14181 from mexon/mat/block-doc
Add documentation about behaviour of blocks
2024-05-26 10:00:08 -04:00
Hypolite Petovan
e3100c62ce
Merge pull request #14180 from annando/authredirect
Provide OpenWebAuth related data
2024-05-26 09:57:50 -04:00
Michael
dca93a9606 Enable "magic" with Hubzilla 2024-05-26 12:44:08 +00:00
Matthew Exon
f70546d37b Add documentation about behaviour of blocks 2024-05-26 14:02:20 +02:00
Michael
4d3d4de972 Provide OpenWebAuth related data 2024-05-26 06:45:26 +00:00
Tobias Diekershoff
5751311e99
Merge pull request #14179 from annando/authredirect
Store the "authredirect" path of a server
2024-05-26 08:05:23 +02:00
Tobias Diekershoff
eba67fdd88
Merge pull request #14178 from annando/issue-14175
Issue 14175: Fix problems with upper case host names
2024-05-26 08:03:10 +02:00
Michael
1853f00a12 Store the "authredirect" path of a server 2024-05-26 00:07:06 +00:00
Michael
df0440ea97 Issue 14175: Fix problems with upper case host names 2024-05-25 19:00:53 +00:00
Hypolite Petovan
c432924d27
Merge pull request #14176 from annando/feed
Improved summary handling for feeds
2024-05-24 12:19:25 -04:00
Michael Vogel
b1e2675dff
Merge pull request #14177 from tobiasd/20240524-lng
translation updates
2024-05-24 10:17:16 +02:00
Tobias Diekershoff
14759ff50a translation updates 2024-05-24 07:59:09 +02:00
Michael
4066a5403c Improved summary handling for feeds 2024-05-23 19:45:42 +00:00
Hypolite Petovan
d20c5493ae
Merge pull request #14173 from annando/owa
OpenWebAuth path is now fetched during probing
2024-05-20 16:00:55 -04:00
Michael
da37516abf OpenWebAuth path is now fetched during probing 2024-05-20 19:46:29 +00:00
Tobias Diekershoff
ea5e1f1edc
Merge pull request #14172 from annando/fix-warning
Fix: Undefined array key "host"
2024-05-20 17:40:17 +02:00
Michael
92a7b65587 Fix: Undefined array key "host" 2024-05-20 14:49:36 +00:00
Tobias Diekershoff
6b04dcf90b
Merge pull request #14171 from annando/idn
Fix international domains
2024-05-20 12:08:58 +02:00
Michael
7176fed316 Fix international domains 2024-05-20 09:11:09 +00:00
Tobias Diekershoff
97c12055a2
Merge pull request #14169 from annando/issue-14160
Issue 14160: Don't add simple participants to "cc"
2024-05-19 17:58:05 +02:00
Michael
8ae1f0d0e9 Issue 14160: Don't add simple participants to "cc" 2024-05-19 14:52:41 +00:00
Tobias Diekershoff
4b3498710f
Merge pull request #14168 from annando/issue-14153
Issue 14153: Don't transmit activities to all participants
2024-05-19 13:52:10 +02:00
Michael
cb0b3e67be Issue 14153: Don't transmit activities to all participants 2024-05-19 08:37:18 +00:00
Hypolite Petovan
a5e12c82df
Merge pull request #14167 from annando/warning
Fix: Undefined array key "content-warning"
2024-05-18 07:45:48 -04:00
Michael
058499cd92 Fix: Undefined array key "content-warning" 2024-05-18 11:15:47 +00:00
Tobias Diekershoff
bda829665e
Merge pull request #14166 from annando/streams
Improved streams detection
2024-05-16 18:44:33 +02:00
Michael
846addf7b3 Improved streams detection 2024-05-16 15:26:46 +00:00
Hypolite Petovan
1f12d1e668
Merge pull request #14165 from annando/probe
Fixes "Undefined array key url"
2024-05-16 11:15:59 -04:00
Hypolite Petovan
570de6a91a
Merge pull request #14164 from loma-one/develop
Colour for fading in a comment adjusted
2024-05-16 11:14:26 -04:00
Hypolite Petovan
c81ee0d1c3
Merge pull request #14162 from annando/sensitive
Respect the "sensitive" flag for posts
2024-05-16 11:12:28 -04:00
Michael
4ce1911889 Fixes " Undefined array key url" 2024-05-16 10:54:59 +00:00
loma-one
367170a92a
Colour for fading in a comment adjusted
When a comment is called up via the notification, the comment is highlighted brightly. With a dark theme, this is disproportionately bright. 

The changed colour values represent a compromise between light and dark themes. 

https://github.com/friendica/friendica/issues/14052
2024-05-16 11:28:33 +02:00
Michael
0426572e92 Respect the "sensitive" flag for summaries 2024-05-15 12:17:06 +00:00
Hypolite Petovan
cad3a01b1c
Merge pull request #14161 from annando/error
Fix " Call to undefined method Friendica\App::getLoggedInUserNickname"
2024-05-15 07:56:56 -04:00
Michael
69b1958483 Fix " Call to undefined method Friendica\App::getLoggedInUserNickname" 2024-05-15 06:15:50 +00:00
Hypolite Petovan
3493b2c1b5
Merge pull request #14159 from annando/unparseurl
"Network::unparseURL" is replaced with "Uri::fromParts"
2024-05-14 19:49:33 -04:00
Michael
1c66d49599 "Network::unparseURL" is replaced with "Uri::fromParts" 2024-05-14 21:47:57 +00:00
Hypolite Petovan
a6f3c961dc
Merge pull request #14157 from annando/deprecated2
Some more deprecated function calls are replaced
2024-05-14 15:23:47 -04:00
Michael
e12f92e516 Some more deprecated function calls are replaced 2024-05-14 19:21:25 +00:00
Hypolite Petovan
bd6616e84f
Merge pull request #14155 from annando/deprecated
Many deprecated function calls are replaced
2024-05-13 18:40:38 -04:00
Michael
60f5fd8188 Many deprecated function calls are replaced 2024-05-13 21:37:15 +00:00
Hypolite Petovan
cfad5809ff
Merge pull request #14154 from annando/probe
Friendica probing simplified / Zot probing improved
2024-05-13 14:15:27 -04:00
Hypolite Petovan
104d355096
Merge pull request #14146 from annando/loglevels
Improve the log level display
2024-05-13 14:14:10 -04:00
Michael
82327b0b06 Improve the log level display 2024-05-13 12:34:35 +00:00
Michael
8a100e847d Friendica probing simplified / Zot probing improved 2024-05-13 12:33:32 +00:00
Tobias Diekershoff
9ae4a17977
Merge pull request #14152 from annando/feed-no-html
Log the feed fix only if it has an effect.
2024-05-13 06:29:02 +02:00
Hypolite Petovan
c604477cac
Merge pull request #14151 from annando/local-link
Probing for Zot improved and Pumpio removed
2024-05-12 21:03:20 -04:00
Michael
21fc28029a Probing for Zot improved and Pumpio removed 2024-05-13 00:58:54 +00:00
Michael
52b11856fa Log the feed fix only if it has an effect. 2024-05-13 00:36:30 +00:00
Hypolite Petovan
9e1362ba46
Merge pull request #14150 from annando/request-type
Request type set for all HTTP requests
2024-05-12 15:33:58 -04:00
Michael
5751e024c0 Request type set for all HTTP requests 2024-05-12 17:53:21 +00:00
Hypolite Petovan
d788cb82cc
Merge pull request #14148 from annando/summary
Use the field for the summary instead of the "abstract" element
2024-05-11 18:14:32 -04:00
Hypolite Petovan
ec5e8a55b5
Merge pull request #14147 from annando/feed-no-html
Support for non HTML content for feed imports
2024-05-11 18:13:40 -04:00
Hypolite Petovan
a73ba083f9
Merge pull request #14142 from annando/attachments
Issue 11963: Set Permissions for attachments
2024-05-11 18:09:19 -04:00
Michael
e43f96740b Use the field for the summary instead of the "abstract" element 2024-05-11 20:14:01 +00:00
Michael
bca86beda0 Support for non HTML content for feed imports 2024-05-11 20:03:19 +00:00
Michael
567292533e Issue 11963: Set Permissions for attachments 2024-05-11 19:19:18 +00:00
Tobias Diekershoff
ee9510e17d
Merge pull request #14140 from haheute/docs-channels-de
German translation of Channels Documentation
2024-05-11 14:40:36 +02:00
Tobias Diekershoff
99426d4188
Merge pull request #14144 from annando/unneeded-log-entry
Unneeded log entry removed
2024-05-11 14:34:47 +02:00
Michael Vogel
0be622e049
Merge pull request #14139 from MrPetovan/bug/apexrabbit-vulns
Fix a couple of stored XSS vulnerabilities
2024-05-11 14:03:24 +02:00
Michael
f574bc72ca Unneeded log entry removed 2024-05-11 08:52:50 +00:00
Michael Vogel
5b55ba2176
Merge pull request #14141 from MrPetovan/bug/14045-addon-unregistration
Add support for absolute file paths when removing addon
2024-05-11 10:46:57 +02:00
Tobias Diekershoff
db8cab77c1
Merge pull request #14143 from MrPetovan/bug/fatal-errors
Fix wrong return value in Item::gettopLevelParent()
2024-05-11 10:01:13 +02:00
Hypolite Petovan
40949483f3 Fix wrong return value in Item::gettopLevelParent()
- Address https://github.com/friendica/friendica/issues/14025#issuecomment-2105033182
2024-05-10 21:54:19 -04:00
Hypolite Petovan
28784eef85 Update main translation file after changing several strings 2024-05-10 20:41:22 -04:00
Hypolite Petovan
42c3faa450 Add support for absolute file paths when removing addon
- This handles a rare case where absolute addon file paths were saved to the hook table
2024-05-10 20:34:47 -04:00
Hannes Heute
786a8dbd3b (-group) posts of group 2024-05-10 18:30:22 +02:00
Hannes Heute
afda3de363 tabs to 4 spaces 2024-05-10 18:26:31 +02:00
Hypolite Petovan
25475b4838 Escape album name select list in photo upload form
- Thanks to @apexrabbit for the report!
2024-05-10 11:25:59 -04:00
Hypolite Petovan
a6cb3ed903 Escape output of PermissionTooltip module
- Create AclReceivers and AddressedReceivers entities to collect contact names
- Create privacy/permission_tooltip.tpl to escape contact names
- Move PermissionTooltip module to Privacy namespace
- Thanks to @apexrabbit for the report!
2024-05-10 11:25:59 -04:00
Hypolite Petovan
c19a68dc64 Remove DI dependency from PermissionTooltip module
- Update PHPDoc of APContact::getByURL
2024-05-10 11:25:27 -04:00
Hannes Heute
a356fe65d0 typo 2024-05-10 17:24:38 +02:00
Hypolite Petovan
f566c52624
Merge pull request #14138 from annando/user-agent
Improved user agent string
2024-05-10 11:07:39 -04:00
Hypolite Petovan
9dc0e5393e
Merge pull request #14135 from tobiasd/colorize-loglevels
Colorize loglevels
2024-05-10 10:59:05 -04:00
Hannes Heute
e049fd5e47 Unified Indentation 2024-05-10 16:58:17 +02:00
Hannes Heute
579a0b43ce German translation of Channels documentation 2024-05-10 16:47:15 +02:00
Michael
afff2b949f Improved user agent string 2024-05-10 09:01:43 +00:00
Tobias Diekershoff
0ae91b59ca
Merge pull request #14136 from annando/issue-14134
Issue 14134: Allow reshare posts from Bluesky and Tumblr
2024-05-10 08:04:33 +02:00
Tobias Diekershoff
e7b9d97672
Merge pull request #14137 from annando/issue-14132
Issue 14132: Title for videos
2024-05-10 08:02:45 +02:00
Michael
e7b861388d Issue 14132: Title for videos 2024-05-10 05:42:45 +00:00
Michael
55fb52299d Issue 14134: Allow reshare posts from Bluesky and Tumblr 2024-05-10 04:55:57 +00:00
Tobias Diekershoff
38e082949d adopt colors 2024-05-10 06:34:29 +02:00
Tobias Diekershoff
aeb1382039 make warnings bold as well
now the three most severe levels are bold, while the three less severe levels have a normal font weight
2024-05-09 11:45:30 +02:00
Tobias Diekershoff
63a7536624 remove whitespaces 2024-05-09 10:33:51 +02:00
Tobias Diekershoff
bf278adb15 admin panel - colorize error levels
With this patch the error levels shown in the Admin Panel -> Log view are coloured according to severity. Starting from green for debug, over orange for notices to bold red for errors and criticals.
2024-05-09 10:32:55 +02:00
Hypolite Petovan
765af10f00
Merge pull request #14119 from MrPetovan/imgbot
[ImgBot] Optimize images
2024-04-27 11:04:01 -04:00
ImgBotApp
e98b3a307b [ImgBot] Optimize images
*Total -- 1,838.08kb -> 1,439.34kb (21.69%)

/images/screenshots/friendica-2023-12-frio-desktop.png -- 1,011.26kb -> 706.65kb (30.12%)
/images/screenshots/friendica-2023-10-frio-mobile-options-dark-blue.png -- 184.63kb -> 149.93kb (18.8%)
/images/screenshots/friendica-2023-10-frio-mobile-options-light-blue.png -- 166.19kb -> 138.00kb (16.96%)
/images/screenshots/friendica-2023-10-frio-mobile-timeline-dark-blue.png -- 400.47kb -> 370.62kb (7.45%)
/images/bluesky.jpg -- 7.75kb -> 7.55kb (2.58%)
/view/js/vanillaEmojiPicker/screenshot.png -- 67.77kb -> 66.58kb (1.76%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2024-04-27 10:59:46 -04:00
Michael Vogel
e8aaa9cfec
Merge pull request #14114 from MrPetovan/bug/14110-reports-query
Rework reports query in Moderation\Reports module class
2024-04-25 06:47:51 +02:00
Hypolite Petovan
b1b2e9bd11 Rework reports query in Moderation\Reports module class
- References to non-existent fields removed
- Added computed rules field
- Patch originally submitted by @TheTomcat14
2024-04-24 22:43:59 -04:00
Hypolite Petovan
fe9ef20392
Merge pull request #14103 from annando/api-channel-list
API: Access channels and groups via lists
2024-04-19 18:16:34 -04:00
Michael
984a972e72 API: Access channels and groups via lists 2024-04-19 21:42:34 +00:00
Hypolite Petovan
1cabf53bf5
Merge pull request #14101 from annando/self-this
"self::" should be "$this->" on non static functions
2024-04-18 10:40:56 -04:00
Michael
2776411c6c "self::" should be "$this->" on non static functions 2024-04-18 05:18:44 +00:00
Hypolite Petovan
894c56ea22
Merge pull request #14100 from annando/origin
Performance improvements when displaying local posts
2024-04-17 17:21:18 -04:00
Michael
c82a1ed467 Performance improvements when displaying local posts 2024-04-17 19:16:47 +00:00
Hypolite Petovan
bae1f63424
Merge pull request #14097 from annando/enable-user-defined-channel
Enable user defined channels upon adding/editing
2024-04-15 19:16:02 -04:00
Michael
652802f758 Enable user defined channels upon adding/editing 2024-04-15 20:20:42 +00:00
Tobias Diekershoff
ac195c7061
Merge pull request #14096 from annando/noproxy
The legacy proxy functionality is removed
2024-04-15 21:17:31 +02:00
Michael
9cf8678323 Unused function removed 2024-04-15 19:06:12 +00:00
Michael
0e79b5373b The legacy proxy functionality is removed 2024-04-15 18:58:02 +00:00
Hypolite Petovan
c30e4c02de
Merge pull request #14095 from annando/warning
Fix warning: Undefined array key "post-reason"
2024-04-15 00:09:01 -04:00
Michael
b351819986 Fix: Undefined array key "allow_cid" 2024-04-15 03:25:06 +00:00
Michael
642c55ee3e Fix: "Undefined property: stdClass::$personal" 2024-04-15 03:24:38 +00:00
Michael
6e0118f3fe Fix warning: Undefined array key "post-reason" 2024-04-15 03:10:15 +00:00
Hypolite Petovan
49a0b0fc3c
Merge pull request #14090 from annando/bbcode
The BBCode conversion is split into several smaller functions
2024-04-14 21:59:46 -04:00
Hypolite Petovan
4a0b989386
Merge pull request #14094 from mexon/mat/testing-doc
update testing documentation
2024-04-14 21:58:26 -04:00
Hypolite Petovan
9329eebec0
Merge pull request #14093 from mexon/mat/autotest-password
allow overriding password during local testing
2024-04-14 21:54:59 -04:00
Matthew Exon
619a63af6b update testing documentation 2024-04-14 11:11:00 +02:00
Michael
38da9013ff The BBCode conversion is split into several smaller functions 2024-04-14 07:45:56 +00:00
Matthew Exon
e24d1da13b tidy up more password definitions 2024-04-14 09:06:48 +02:00
Hypolite Petovan
ed01b0f409
Merge pull request #14075 from mexon/mat/empty-picture-scale
round scaled dimensions up to avoid zero size
2024-04-13 18:30:44 -04:00
Matthew Exon
f616dc054f allow overriding password during local testing 2024-04-13 22:24:30 +02:00
Matthew Exon
a20b876d67 add unit tests for getScalingDimensions 2024-04-13 21:50:17 +02:00
Matthew Exon
c5b8abcaf0 round scaled dimensions up to avoid zero size 2024-04-13 21:50:17 +02:00
Hypolite Petovan
9fe0d72461
Merge pull request #14080 from annando/issue-14079
Issue #14079:  Shorten the displayed URL
2024-04-11 21:55:59 -04:00
Michael
45b30825f0 Isolate the link conversion into a dedicated function 2024-04-11 22:10:30 +00:00
Michael
7dc5622dca Issue #14079: Shorten the displayed URL 2024-04-11 04:37:42 +00:00
Hypolite Petovan
ce580241e2
Merge pull request #14089 from annando/ping-lock
Prevent concurring ping requests
2024-04-10 19:19:24 -04:00
Michael
a440619769 Prevent concurring ping requests 2024-04-10 22:25:14 +00:00
Tobias Diekershoff
9626a76b18
Merge pull request #14083 from annando/issue-13812
Issue 13812: Public groups with manual request approval
2024-04-09 18:46:44 +02:00
Tobias Diekershoff
b02a5ed701
Merge pull request #14085 from annando/generator
Use similar values for generator and system actor
2024-04-09 18:38:22 +02:00
Michael
69fc2c04e4 Issue 13812: Public groups with manual request approval 2024-04-08 07:58:45 +00:00
Michael
d7e8ee51ae Use similar values for generator and system actor 2024-04-08 06:33:03 +00:00
Tobias Diekershoff
02d8cc2f71
Merge pull request #14076 from annando/follow-vcard
Don't display the "follow/unfollow" vcard-link on pages meant for follow/unfollow
2024-04-08 07:35:16 +02:00
Tobias Diekershoff
0a88d5a94a
Merge pull request #14082 from annando/issue-14055
Issue 14055: Set link to group server for group posts
2024-04-08 07:31:53 +02:00
Michael
8b75aab4ad Don't display the "follow/unfollow" vcard-link on pages meant for follow/unfollow 2024-04-07 21:30:39 +00:00
Michael
a2da42640c Issue 14055: Set link to group server for group posts 2024-04-07 15:46:55 +00:00
Tobias Diekershoff
ad65e56b16
Merge pull request #14077 from annando/idn
Fallback mechanism for missing IDN functions
2024-04-07 08:11:35 +02:00
Michael
78dc61b59e Fallback mechanism for missing IDN functions 2024-04-06 11:26:12 +00:00
Hypolite Petovan
e9dcf15d86
Merge pull request #14074 from annando/searchtext
Menu option to display the search text
2024-04-05 08:40:45 -04:00
Michael
b40687081e The data for the language display is now fetched on demand 2024-04-05 10:29:27 +00:00
Michael
50b1de5959 Menu option to display the search text 2024-04-05 07:35:21 +00:00
Michael Vogel
44344af055
Merge pull request #14072 from jlamothe/from-to
fixed Channels documentation
2024-04-04 00:51:40 +02:00
Jonathan Lamothe
cbcec17bcb fixed Channels documentation
The "to" keyword documentation seemed incorrect.
2024-04-03 15:48:03 -04:00
Hypolite Petovan
9ab5d8a83a
Merge pull request #14069 from annando/invalid-link
Avoid exception "Unable to retrieve the host in URL" in the search
2024-04-03 09:25:46 -04:00
Michael
0d4f956fba Avoid exception "Unable to retrieve the host in URL" in the search 2024-04-03 07:51:02 +00:00
Hypolite Petovan
c71f4eb1df
Merge pull request #14068 from annando/wall-read
Don't set posts to seen on channel ping
2024-04-02 21:22:13 -04:00
Michael
626ab7cb54 Don't set posts to seen on channel ping 2024-04-02 21:31:57 +00:00
Hypolite Petovan
c8fff8c50c
Merge pull request #14064 from haheute/mobile-padding-2
Add some padding for the login page at mobile width (frio)
2024-04-01 20:33:07 -04:00
Hypolite Petovan
3bb00f36f8 [frio] Restore lateral margins on home/login page for mobile display
- They had been removed site-wide to give more space to posts in the network view
2024-04-01 09:41:08 -04:00
Hypolite Petovan
fda2873a92
Merge pull request #14060 from eibhear-from-athlone/friendica_14059_nexttry
Show the next try date and time on the deferred worker job list in the admin pages
2024-03-29 23:00:27 -04:00
Éibhear Ó hAnluain
394c388a46
Fixing the queue.tpl files 2024-03-29 20:36:40 +00:00
Éibhear Ó hAnluain
6e7178022b
Updates messages file following run of bin/run_xgettext.sh 2024-03-29 20:29:31 +00:00
Éibhear Ó hAnluain
1d86146f64
Show next_try only for the deferred worker job. 2024-03-29 20:27:10 +00:00
Éibhear Ó hAnluain
751ffe6bc6
Add the next_try field to the worker job queue list 2024-03-29 20:27:10 +00:00
Hypolite Petovan
31b74b1c8a
Merge pull request #14046 from annando/channel-counter
Improvements for channel counter
2024-03-27 11:15:44 -04:00
Michael
0fde21ff28 Improvements for channel counter 2024-03-27 11:12:44 +00:00
Hypolite Petovan
53a2fb648f
Merge pull request #14043 from haheute/typo-independent
fix typo: Independant --> Independent
2024-03-26 13:40:39 -04:00
Hannes Heute
13b890605b add messages.po again 2024-03-26 18:35:50 +01:00
Hypolite Petovan
97f7a99382
Merge pull request #14044 from haheute/img-div-class
Img div class
2024-03-26 13:07:30 -04:00
Hannes Heute
e602b16dfb follow naming convention 2024-03-26 17:33:45 +01:00
Hannes Heute
5c7dd34fba remove the typo fix from this PR 2024-03-26 17:29:52 +01:00
Hannes Heute
4b647d288a added messages.po 2024-03-26 17:21:19 +01:00
Hannes Heute
71a9e6112e Add class to div for custom styling 2024-03-26 14:04:05 +01:00
Hannes Heute
0fd5c00010 fix typo: Independant --> Independent 2024-03-26 13:14:19 +01:00
Hypolite Petovan
250b3b813c
Merge pull request #14041 from annando/feature-admin
Simplified admin frontend for features
2024-03-26 07:30:24 -04:00
Michael
f537d7a64f Simplified admin frontend for features 2024-03-25 21:55:42 +00:00
Hypolite Petovan
5ec445e90b
Merge pull request #14040 from annando/widget-lock
The visibility of network widgets can now be locked
2024-03-25 10:42:10 +00:00
Michael
67e0b6357e The visibility of network widgets can now be locked 2024-03-25 08:00:46 +00:00
Tobias Diekershoff
f928372266
Merge pull request #14039 from annando/widget-features
Configuration for widgets
2024-03-25 08:45:16 +01:00
Michael
200cf29a8d Configuration for widgets 2024-03-25 07:38:36 +00:00
Michael Vogel
f78b0e7c51
Merge pull request #14037 from MrPetovan/bug/warnings
Add expected field 'uri-id' in Mastodon\Statuses\Bookmark
2024-03-24 20:57:20 +01:00
Hypolite Petovan
b21604a720
Merge pull request #14038 from annando/feature-constants
Constants for features
2024-03-24 19:37:39 +00:00
Hypolite Petovan
c67225c62d Add expected field 'uri-id' in Mastodon\Statuses\Bookmark
- Address https://github.com/friendica/friendica/issues/14026#issuecomment-2016469896
2024-03-24 15:30:44 -04:00
Michael Vogel
449464a2b1
Merge pull request #14036 from MrPetovan/bug/deprecated
Add `'$VERSION'` template variable to make Friendica version available in templates
2024-03-24 15:55:29 +01:00
Michael
c041c65c1d Comstants for features 2024-03-24 14:48:23 +00:00
Hypolite Petovan
e293de04f5 Add '$VERSION' template variable to make Friendica version available in templates
- constant() Smarty function is deprecated
- Remove unused site-wide template variable '$APP'
- Address https://github.com/friendica/friendica/issues/14027#issuecomment-2016469408
2024-03-24 09:20:58 -04:00
Hypolite Petovan
b4d71f1855 Remove duplicated '$baseurl' template variable declarations
- This variable is declared for all templates in Renderer
2024-03-24 09:11:46 -04:00
Tobias Diekershoff
d824bb536f
Merge pull request #14032 from annando/quoted-posts
Implementation of FEP-e232 for quoted posts
2024-03-24 07:59:53 +01:00
Tobias Diekershoff
1b9fa0fe00
Merge pull request #14033 from annando/content-link
Add a link to the post if "no preview" is selected
2024-03-24 07:54:35 +01:00
Michael
b72e32a842 Add a link to the post if "no preview" is selected 2024-03-24 06:46:48 +00:00
Michael
b39c48fb02 Implementation of FEP-e232 for quoted posts 2024-03-24 06:05:37 +00:00
Hypolite Petovan
b5a69da872
Merge pull request #14029 from annando/issue-13910
Issue 13910: Display the unseen counter based on the channel
2024-03-24 00:08:25 +00:00
Michael
618a3153ab Issue 13910: Display the unseen counter based on the channel 2024-03-23 17:17:56 +00:00
Hypolite Petovan
0ccb3e7efe
Merge pull request #14017 from annando/active-admin-check
Automatically close the registration when the admin is inactive
2024-03-22 11:52:24 +00:00
Michael
4b695e361c Automatically close the registration when the admin is inactive 2024-03-22 04:19:40 +00:00
Hypolite Petovan
4834255acf
Merge pull request #14015 from annando/did
Internal support for Bluesky tokens
2024-03-21 22:10:09 +00:00
Michael
325932dc5a Internal support for Bluesky tokens 2024-03-21 21:33:12 +00:00
Hypolite Petovan
faac52e078
Merge pull request #14020 from annando/issue-13714
Issue 13714: Support for "commentsEnabled" and "capabilities"
2024-03-21 17:21:51 +00:00
Michael
7a0c5d141e Issue 13714: Support for "commentsEnabled" and "capabilities" 2024-03-21 17:11:20 +00:00
Hypolite Petovan
732d738b82
Merge pull request #14022 from annando/channel-only
Possibility to mark contacts as "channel only"
2024-03-21 16:11:49 +00:00
Michael
3d267c7b8f Possibility to mark contacts as "channel only" 2024-03-21 13:20:52 +00:00
Hypolite Petovan
987e6c5ea6
Merge pull request #14016 from annando/issue-13787
Issue 13787: Filter in circles editor by contact relation
2024-03-21 13:07:57 +00:00
Hypolite Petovan
9e240c24ce
Merge pull request #14023 from annando/files
Updated database.sql / messages.po
2024-03-21 13:03:31 +00:00
Michael
3b419cae1e Issue 13787: Filter in circles editor by contact relation 2024-03-21 12:58:54 +00:00
Hypolite Petovan
56f3743e75
Merge pull request #14021 from annando/worker-idletime
Execute a worker task when there hadn't one for some seconds
2024-03-21 12:41:20 +00:00
Hypolite Petovan
f26f35f009
Merge pull request #14018 from annando/content-type-check
Improved Content-Type check on incoming requests
2024-03-21 11:58:08 +00:00
Michael
fdd777d75d Updated database.sql / messages.po 2024-03-21 10:49:42 +00:00
Michael
aff45278e1 Execute a worker task when there hadn't one for some seconds 2024-03-21 09:10:07 +00:00
Michael
11a16589da Improved Content-Type check on incoming requests 2024-03-21 09:02:25 +00:00
Tobias Diekershoff
f60638787e added empty 2024.06 block to the CHANGELOG 2024-03-21 08:10:42 +01:00
Tobias Diekershoff
c5936bb51e bump version to 2024.06-dev 2024-03-21 08:09:16 +01:00
2608 changed files with 255460 additions and 120003 deletions

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
codecov:
branch: develop
ci:

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
name: my-friendica
type: php
docroot: ""

21
.devcontainer/.env Normal file
View file

@ -0,0 +1,21 @@
#Database setup
MYSQL_HOST=127.0.0.1
MYSQL_DATABASE=friendica
MYSQL_USER=friendica
MYSQL_PASSWORD=friendica
#Redis
REDIS_HOST=127.0.0.1
#Webserver setup
ServerName=localhost
ServerPort=8080
ServerAlias=friendica.local
DocumentRoot=/var/www/html
APACHE_LOG_DIR=/var/log/apache2
#Test users
ADMIN_NICK=admin
ADMIN_PASSW=admin
USER_NICK=user
USER_PASSW=user

96
.devcontainer/Dockerfile Normal file
View file

@ -0,0 +1,96 @@
ARG VARIANT="8.2-apache-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/php:${VARIANT}
ARG DEBIAN_FRONTEND=noninteractive
ARG apcu_version=5.1.23
ARG memcached_version=3.2.0
ARG redis_version=6.0.2
ARG imagick_version=3.7.0
RUN apt-get update -y;
# Install MariaDB client
RUN apt-get install -y mariadb-client
# Base packages
RUN apt install -y vim software-properties-common sudo nano gnupg2
# entrypoint.sh and cron.sh dependencies
RUN apt-get install -y --no-install-recommends \
rsync \
bzip2 \
msmtp \
tini
RUN apt-get install -y --no-install-recommends \
bash \
libpng-dev \
libjpeg62-turbo-dev \
libtool \
libmagick++-dev \
libmemcached-dev \
zlib1g-dev \
libssl-dev \
libgraphicsmagick1-dev \
libfreetype6-dev \
libwebp-dev \
librsvg2-2 \
libzip-dev \
libldap2-dev \
libgmp-dev \
libmagickcore-6.q16-6-extra \
; \
\
docker-php-ext-configure gd \
--with-freetype \
--with-jpeg \
--with-webp \
; \
docker-php-ext-install -j "$(nproc)" \
pdo_mysql \
gd \
exif \
zip \
opcache \
ctype \
pcntl \
ldap \
gmp \
intl
# pecl will claim success even if one install fails, so we need to perform each install separately
RUN pecl install apcu-${apcu_version}; \
pecl install memcached-${memcached_version}; \
pecl install redis-${redis_version}; \
pecl install imagick-${imagick_version}; \
docker-php-ext-enable \
apcu \
memcached \
redis \
imagick
RUN apt-get clean -y && rm -rf /var/lib/apt/lists/*
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 512M
RUN { \
echo 'opcache.enable=1' ; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidte_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
\
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
\
{ \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \
} > /usr/local/etc/php/conf.d/friendica.ini; \
ln -s /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini; \
\
mkdir /var/www/data; \
chmod -R g=u /var/www

54
.devcontainer/README.MD Normal file
View file

@ -0,0 +1,54 @@
This folder holds a devcontainer definition for Friendica.
The main features are:
- The development container is based on the PHP dev container image in a variant that includes an Apache2
webserver. The variant defines the PHP version and the OS it is based on. The currently used variant
is defined in the Dockerfile.
- Creating a dev container from the Git repository should give you a running development environment
with no or optionally only a very little things to do after creation.
- A MariaDB container is used for the database. It can be accessed in the dev container's terminal with simple
calling mysql. The needed parameters for the client are created and copied during setup. The runtime configuration
needs to use 127.0.0.1 instead of localhost as the latter causes PHP to try to use a socket connection which is not
available in this setup.
The development setup is:
- After creation of the dev container the Apache2 web server shall be availaible through port forwarding on
port 8080 from your local development machine (http://localhost:8080/). This is also the url as configured
in local.config.php. You should be able to log in with user 'admin@friendica.local' and password 'admin'.
- Important values are defined in the .env file within the .devcontainer folder and applied during creation wherever possible. The
environment is also available during run/debug time to the application.
- XDebug can be started by the launch configuration 'Listen for Xdebug'. The launch configuration is in .vscode/launch.json
(this file is added to git).
- The Apache server in the dev container is reachable with http on the ports 80 and 8080 and with https on port 443. The
url used for Friendica is defined in local.config.php (currently localhost:8080) and any subsequent request will be redirected
to this url. To change the url to one you like you need to modify the url in local.config.php which can be done by
setting the values in the .env file accordingly and rebuilding the container.
- The hostname friendica.local is used for the ceritificate and added to the hosts file in the container. .local is a reserved TLD
for mDNS and if you can use this depends on your network configuration. For developing and debugging using forwarded ports
(localhost:8080) works fine.
Open points:
- Cron jobs / worker are not available. For a dev environment those are disabled by default (but can be optionally
enabled).
- Passing values from the local development machine (with $localEnv) does not seem to work. This would be handy to apply
a few settings differently based on user choice.
- The dev container does not have an email MTA.
- There are still a bit too much warnings logged at startup but that doesn't seem to be a problem.
- Only the first launch configuration ('Listen for Xdebug') is working.

View file

@ -0,0 +1,42 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/php-mariadb
{
"name": "Friendica",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"remoteEnv": {
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"developmentUser": "vscode"
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "bash -c '.devcontainer/postCreate.sh && .devcontainer/postCreateApacheSetup.sh && .devcontainer/postCreateFriendicaSetup.sh'",
"postStartCommand": "service apache2 start",
"forwardPorts": [
8080
],
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"bmewburn.vscode-intelephense-client",
"ms-azuretools.vscode-docker",
"xdebug.php-debug",
"donjayamanne.githistory"
],
"settings": {
"php.suggest.basic": false
}
}
}
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
//"remoteUser": "root"
}

View file

@ -0,0 +1,52 @@
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ../..:/workspaces:cached
env_file: ".env"
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
ports:
- 80:80
- 443:443
- 8080:8080
- 3306:3306
# Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
# (Adding the "ports" property to this file will not forward from a Codespace.)
extra_hosts:
- "${ServerAlias}:127.0.0.1"
db:
image: mariadb:10.4
restart: unless-stopped
volumes:
- mariadb-data:/var/lib/mysql
env_file: ".env"
environment:
MYSQL_ROOT_PASSWORD: root
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
# Runs app on the same network as the app container, allows "forwardPorts" in devcontainer.json function.
network_mode: service:app
redis:
image: redis:latest
restart: unless-stopped
env_file: ".env"
network_mode: service:app
volumes:
mariadb-data:
networks:
default:

View file

@ -0,0 +1,71 @@
<VirtualHost *:80 *:8080>
ServerAdmin webmaster@localhost
ServerName ${ServerName}
ServerAlias ${ServerAlias}
DocumentRoot ${DocumentRoot}
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
<Directory ${DocumentRoot}>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/${ServerName}-error.log
CustomLog ${APACHE_LOG_DIR}/${ServerName}-access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName ${ServerName}
ServerAlias ${ServerAlias}
DocumentRoot ${DocumentRoot}
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
<Directory ${DocumentRoot}>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/${ServerName}-error.log
CustomLog ${APACHE_LOG_DIR}/${ServerName}-access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/friendica.crt
SSLCertificateKeyFile /etc/ssl/private/friendica.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch "MSIE [2-6]" \\
nokeepalive ssl-unclean-shutdown \\
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>

View file

@ -0,0 +1,11 @@
<?php
/**
* If nothing else set, use APCu as a caching driver (best performance for local caching)
*/
return [
'system' => [
'cache_driver' => 'apcu',
],
];

View file

@ -0,0 +1,17 @@
<?php
if (getenv('REDIS_HOST')) {
return [
'system' => [
'session_handler' => 'cache',
'distributed_cache_driver' => 'redis',
'lock_driver' => 'redis',
'redis_host' => getenv('REDIS_HOST'),
'redis_port' => (getenv('REDIS_PORT') ?: ''),
'redis_password' => (getenv('REDIS_PW') ?: ''),
'redis_db' => (getenv('REDIS_DB') ?: 0),
],
];
} else {
return [];
}

View file

@ -0,0 +1,36 @@
<?php
// Copyright (C) 2010-2024, the Friendica project
// SPDX-FileCopyrightText: 2010-2024 the Friendica project
//
// SPDX-License-Identifier: AGPL-3.0-or-later
return [
'database' => [
'hostname' => '${MYSQL_HOST}',
'username' => '${MYSQL_USER}',
'password' => '${MYSQL_PASSWORD}',
'database' => '${MYSQL_DATABASE}',
'charset' => 'utf8mb4',
],
// ****************************************************************
// The configuration below will be overruled by the admin panel.
// Changes made below will only have an effect if the database does
// not contain any configuration for the friendica system.
// ****************************************************************
'config' => [
'admin_email' => 'admin@${ServerAlias}',
'sitename' => 'Friendica Social Network',
'register_policy' => \Friendica\Module\Register::OPEN,
'register_text' => '',
'php' => '${FRIENDICA_PHP_PATH}',
],
'system' => [
'default_timezone' => 'UTC',
'language' => 'en',
'basepath' => '${workspaceFolder}',
'url' => 'http://${ServerName}:${ServerPort}'
],
];

View file

@ -0,0 +1,4 @@
[client]
protocol = tcp
user = ${MYSQL_USER}
password = ${MYSQL_PASSWORD}

View file

@ -0,0 +1,34 @@
<?php
/**
* Fallback config to make it possible overwriting config values
* because of docker environment variables
*
* This doesn't affect DB configurations, but will replace other config values
*/
$config = [
'system' => [
// Necessary because otherwise the daemon isn't working
'pidfile' => '/tmp/friendica.pid',
'logfile' => '/var/www/html/friendica.log',
'loglevel' => 'notice',
],
'storage' => [
'filesystem_path' => '/var/www/html/storage',
],
];
if (!empty(getenv('FRIENDICA_NO_VALIDATION'))) {
$config['system']['disable_url_validation'] = true;
$config['system']['disable_email_validation'] = true;
}
if (!empty(getenv('SMTP_DOMAIN'))) {
$smtp_from = !empty(getenv('SMTP_FROM')) ? getenv('SMTP_FROM') : 'no-reply';
$config['config']['sender_email'] = $smtp_from . "@" . getenv('SMTP_DOMAIN');
}
return $config;

19
.devcontainer/launch.json Normal file
View file

@ -0,0 +1,19 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000,
"runtimeArgs": [
"-dzend_extension=xdebug.so",
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-dxdebug.client_host=127.0.0.1",
"-dxdebug.client_port=9000",
"-dxdebug.log=/tmp/xdebug.log"
]
}
]
}

27
.devcontainer/postCreate.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
#
# Prepare the workspace files with the values from the devcontainer.env file
set -a
source $workspaceFolder/.devcontainer/.env
echo ">>> Development Setup"
sudo apt-get update
# VSCode debugger profile
mkdir -p .vscode && cp .devcontainer/launch.json .vscode/launch.json
envsubst < $workspaceFolder/.devcontainer/include/my.cnf > /home/vscode/.my.cnf
# Make the workspace directory the docroot
echo ">>> Symlink $DocumentRoot to $workspaceFolder"
sudo rm -rf $DocumentRoot
sudo ln -fs $workspaceFolder $DocumentRoot
# Set proper permissions
sudo chown -R $developmentUser:www-data $workspaceFolder
sudo chmod -R g=u $workspaceFolder
echo 'error_reporting=0' | sudo tee /usr/local/etc/php/conf.d/no-warn.ini
exit 0

View file

@ -0,0 +1,34 @@
#!/bin/bash
#
source $workspaceFolder/.devcontainer/.env
echo ">>> Apache2 Configuration"
envsubst < $workspaceFolder/.devcontainer/include/001-friendica.conf > /tmp/001-friendica.conf
# Create a self-signed SSL certificate
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/friendica.key \
-out /etc/ssl/certs/friendica.crt \
-subj "/C=US/ST=State/L=City/O=Organization/CN=$ServerAlias" \
-addext "subjectAltName = DNS:$ServerAlias, DNS:$ServerName"
sudo chmod +rx /etc/ssl/private
sudo chmod 644 /etc/ssl/private/friendica.key
sudo chmod 644 /etc/ssl/certs/friendica.crt
sudo cp /tmp/001-friendica.conf /etc/apache2/sites-available/001-friendica.conf
sudo a2enmod rewrite actions ssl remoteip
{
echo RemoteIPHeader X-Real-IP ;
echo RemoteIPTrustedProxy 10.0.0.0/8 ;
echo RemoteIPTrustedProxy 172.16.0.0/12 ;
echo RemoteIPTrustedProxy 192.168.0.0/16 ;
} | sudo tee /etc/apache2/conf-available/remoteip.conf > /dev/null
sudo a2enconf remoteip
sudo a2ensite 001-friendica
sudo a2dissite 000-default
echo 'ServerName 127.0.0.1' | sudo tee -a /etc/apache2/apache2.conf
exit 0

View file

@ -0,0 +1,43 @@
#!/bin/bash
#
source $workspaceFolder/.devcontainer/.env
# Setup Friendica
echo ">>> Friendica Setup"
FRIENDICA_PHP_PATH=$(which php)
export FRIENDICA_PHP_PATH
envsubst < $workspaceFolder/.devcontainer/include/autoinstall.config.php > /tmp/autoinstall.config.php
cp $workspaceFolder/.devcontainer/include/00apcu.config.php $workspaceFolder/config/00apcu.config.php
cp $workspaceFolder/.devcontainer/include/01redis.config.php $workspaceFolder/config/01redis.config.php
cp $workspaceFolder/.devcontainer/include/zz-docker.config.php $workspaceFolder/config/zz-docker.config.php
cd $DocumentRoot
# copy the .htaccess-dist file to .htaccess so that rewrite rules work
cp $DocumentRoot/.htaccess-dist $DocumentRoot/.htaccess
bin/composer.phar install
# install friendica
bin/console autoinstall -f /tmp/autoinstall.config.php
# add users
# (disable a bunch of validation because this is a dev install, deh, it needs invalid emails and stupid passwords)
bin/console config system disable_email_validation 1
bin/console config system disable_password_exposed 1
bin/console user add "$ADMIN_NICK" "$ADMIN_NICK" "$ADMIN_NICK@$ServerAlias" en http://friendica.local/profile/$ADMIN_NICK
bin/console user password "$ADMIN_NICK" "$ADMIN_PASSW"
bin/console user add "$USER_NICK" "$USER_NICK" "$USER_NICK@$ServerAlias" en http://friendica.local/profile/$USER_NICK
bin/console user password "$USER_NICK" "$USER_PASSW"
# create log file
#mkdir -p $workspaceFolder/log
#touch $workspaceFolder/log/friendica.log
#chmod 666 $workspaceFolder/log/friendica.log
touch $workspaceFolder/friendica.log
chmod 666 $workspaceFolder/friendica.log
exit 0

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# editorconfig tool configuration
# see http://editorconfig.org for docs

4
.gitattributes vendored
View file

@ -1,2 +1,6 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# Disable LF normalization for all files
* -text

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
blank_issues_enabled: true
contact_links:
- name: Friendica Community Support

16
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for more information:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
# https://containers.dev/guide/dependabot
version: 2
updates:
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: weekly

141
.github/workflows/code-quality.yml vendored Normal file
View file

@ -0,0 +1,141 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
name: Code Quality
on:
push:
pull_request:
workflow_dispatch:
jobs:
code-style:
name: PHP-CS-Fixer (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['8.3']
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup PHP with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: none
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- name: Install PHP-CS-Fixer
run: composer install --working-dir=bin/dev/php-cs-fixer
- name: Run PHP-CS-Fixer
continue-on-error: true
run: bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix --diff --dry-run
phpstan:
name: PHPStan (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['8.4']
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup PHP with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: none
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Run PHPStan
run: composer run phpstan
phpstan-addons:
name: PHPStan in addons (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['8.4']
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup PHP with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: none
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Run PHPStan in addons
run: composer run phpstan-addons
phpmd:
name: PHPMD (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['8.4']
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup PHP with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php }}
coverage: none
tools: none
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Run PHPMD
run: vendor/bin/phpmd src/ text .phpmd-ruleset.xml --color

129
.github/workflows/tests.yml vendored Normal file
View file

@ -0,0 +1,129 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
name: CI tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
unit-tests:
name: Unit-Tests (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
operating-system: ['ubuntu-latest']
php: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5']
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup PHP with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: none
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Run Unit tests
run: composer run test:unit
database-tests:
name: Database-Tests (PHP ${{ matrix.php-versions }})
runs-on: ubuntu-latest
services:
mariadb:
image: mariadb:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_DATABASE: test
MYSQL_PASSWORD: test
MYSQL_USER: test
ports:
- 3306/tcp
options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis
ports:
- 6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
memcached:
image: memcached
ports:
- 11211/tcp
strategy:
fail-fast: false
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: pecl, composer
extensions: pdo_mysql, gd, zip, opcache, ctype, pcntl, ldap, apcu, memcached, redis, imagick, memcache
coverage: xdebug
ini-values: apc.enabled=1, apc.enable_cli=1
- name: Clone addon repository
run: git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
# Install composer dependencies and handle caching in one go.
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
- name: "Install Composer dependencies"
uses: "ramsey/composer-install@v2"
- name: Start mysql service
run: sudo /etc/init.d/mysql start
- name: Copy default Friendica config
run: cp config/local-sample.config.php config/local.config.php
- name: Verify MariaDB connection
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
while ! mysqladmin ping -h"127.0.0.1" -P"$PORT" --silent; do
sleep 1
done
- name: Setup MYSQL database
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
mysql -h"127.0.0.1" -P"$PORT" -utest -ptest test < database.sql
- name: Test with phpunit
run: vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml
env:
MYSQL_HOST: 127.0.0.1
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
MYSQL_DATABASE: test
MYSQL_PASSWORD: test
MYSQL_USER: test
REDIS_PORT: ${{ job.services.redis.ports[6379] }}
REDIS_HOST: 127.0.0.1
MEMCACHED_PORT: ${{ job.services.memcached.ports[11211] }}
MEMCACHE_PORT: ${{ job.services.memcached.ports[11211] }}

6
.gitignore vendored
View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
favicon.*
/.htconfig.php
/.htpreconfig.php
@ -68,7 +72,6 @@ venv/
/.idea
#ignore addons directory
/addons
/addon
#ignore base .htaccess
@ -86,6 +89,7 @@ venv/
#Ignore cache files
.php_cs.cache
.php-cs-fixer.cache
.phpmd.result-cache.php
#ignore avatar picture cache path
/avatar

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# This file is meant to be copied to ".htaccess" on Apache-powered web servers.
# The created .htaccess file can be edited manually and will not be overwritten by Friendica updates.

View file

@ -1,25 +1,14 @@
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: CC0-1.0
*/
declare(strict_types=1);
require_once __DIR__ . '/bin/dev/php-cs-fixer/vendor/autoload.php';
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->notPath('addon')
@ -54,10 +43,10 @@ return $config
],
],
'blank_line_after_namespace' => true,
'braces' => [
'position_after_anonymous_constructs' => 'same',
'position_after_control_structures' => 'same',
'position_after_functions_and_oop_constructs' => 'next',
'braces_position' => [
'anonymous_classes_opening_brace' => 'same_line',
'control_structures_opening_brace' => 'same_line',
'functions_opening_brace' => 'next_line_unless_newline_at_signature_end',
],
'elseif' => true,
'encoding' => true,
@ -71,10 +60,9 @@ return $config
'syntax' => 'long',
],
'lowercase_keywords' => true,
'method_argument_space' => [],
'no_closing_tag' => true,
'no_spaces_after_function_name' => true,
'no_spaces_inside_parenthesis' => true,
'spaces_inside_parentheses' => false,
'no_trailing_whitespace' => true,
'no_trailing_whitespace_in_comment' => true,
'no_unused_imports' => true,
@ -87,7 +75,7 @@ return $config
'visibility_required' => [
'elements' => ['property', 'method']
],
'new_with_braces' => true,
'new_with_parentheses' => true,
])
->setFinder($finder)
->setIndent("\t");

View file

@ -1,77 +0,0 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/bin/dev/php-cs-fixer/vendor/autoload.php';
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->notPath('addon')
->notPath('bin/dev')
->notPath('config')
->notPath('doc')
->notPath('images')
->notPath('mods')
->notPath('spec')
->notPath('vendor')
->notPath('view/asset')
->notPath('lang')
->notPath('view/smarty3/compiled');
$config = new PhpCsFixer\Config();
return $config
->setRules([
'@PSR1' => true,
'@PSR2' => true,
'@PSR12' => true,
'align_multiline_comment' => true,
'array_indentation' => true,
'array_syntax' => [
'syntax' => 'short',
],
'binary_operator_spaces' => [
'default' => 'single_space',
'operators' => [
'=>' => 'align_single_space_minimal',
'=' => 'align_single_space_minimal',
'??' => 'align_single_space_minimal',
],
],
'blank_line_after_namespace' => true,
'braces' => [
'position_after_anonymous_constructs' => 'same',
'position_after_control_structures' => 'same',
'position_after_functions_and_oop_constructs' => 'next',
],
'elseif' => true,
'encoding' => true,
'full_opening_tag' => true,
'function_declaration' => [
'closure_function_spacing' => 'one',
],
'indentation_type' => true,
'line_ending' => true,
'list_syntax' => [
'syntax' => 'long',
],
'lowercase_keywords' => true,
'method_argument_space' => [],
'no_closing_tag' => true,
'no_spaces_after_function_name' => true,
'no_spaces_inside_parenthesis' => true,
'no_trailing_whitespace' => true,
'no_trailing_whitespace_in_comment' => true,
'no_unused_imports' => true,
'single_blank_line_at_eof' => true,
'single_class_element_per_statement' => true,
'single_import_per_statement' => true,
'single_line_after_imports' => true,
'switch_case_space' => true,
'ternary_operator_spaces' => false,
'visibility_required' => [
'elements' => ['property', 'method']
],
'new_with_braces' => true,
])
->setFinder($finder)
->setIndent("\t");

26
.phpmd-ruleset.xml Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<ruleset name="Friendica Ruleset"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0
http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="
http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>
PHPMD ruleset for friendica code.
</description>
<rule ref="rulesets/codesize.xml/ExcessiveClassComplexity">
<priority>3</priority>
<properties>
<property name="maximum" value="800" />
</properties>
</rule>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<priority>3</priority>
<properties>
<property name="reportLevel" value="100" />
</properties>
</rule>
</ruleset>

View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010-2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

52
.phpstan-addons.neon Normal file
View file

@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
parameters:
level: 3
paths:
- addon/
excludePaths:
analyse:
- addon/*/lang/*
- addon/*/vendor/*
- addon/convert/UnitConvertor.php
- addon/pumpio/oauth/*
scanDirectories:
- mod
- src
- static
- vendor
- view
dynamicConstantNames:
- DB_UPDATE_VERSION
ignoreErrors:
-
# Ignore missing SMTP class in PHPMailer 5.2.21
# see https://github.com/PHPMailer/PHPMailer/blob/v5.2.21/class.smtp.php
message: '(^.+ an unknown class SMTP\.$)'
path: addon/mailstream/phpmailer
-
# Ignore missing SMTP class in PHPMailer 5.2.21
# see https://github.com/PHPMailer/PHPMailer/blob/v5.2.21/class.smtp.php
message: '(^Property .+ has unknown class SMTP as its type\.$)'
path: addon/mailstream/phpmailer
-
# Ignore missing SMTP class in PHPMailer 5.2.21
# see https://github.com/PHPMailer/PHPMailer/blob/v5.2.21/class.smtp.php
message: '(^Method .+ has invalid return type SMTP\.$)'
path: addon/mailstream/phpmailer
-
# Ignore missing SMTP class in PHPMailer 5.2.21
# see https://github.com/PHPMailer/PHPMailer/blob/v5.2.21/class.smtp.php
message: '(^Instantiated class SMTP not found\.$)'
path: addon/mailstream/phpmailer

40
.phpstan.neon Normal file
View file

@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
parameters:
level: 3
paths:
- bin/auth_ejabberd.php
- bin/console.php
- bin/daemon.php
- bin/jetstream.php
- bin/worker.php
- index.php
- src/
scanDirectories:
- mod
- static
- vendor
- view
dynamicConstantNames:
- DB_UPDATE_VERSION
ignoreErrors:
-
# Ignore missing GdImage class in PHP <= 7.4
message: '(^Property .+ has unknown class GdImage as its type\.$)'
path: src
-
# Ignore missing IMAP\Connection class in PHP <= 8.0
message: '(^Method .+ has invalid return type IMAP\\Connection\.$)'
path: src
-
# Ignore missing IMAP\Connection class in PHP <= 8.0
message: '(^Parameter .+ has invalid type IMAP\\Connection\.$)'
path: src

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
[main]
host = https://api.transifex.com

View file

@ -1,3 +1,13 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# The code standard check is just triggered for PRs and pushes to non-stable branches of Friendica
when:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
steps:
restore_cache:
image: meltwater/drone-cache:dev
@ -27,12 +37,16 @@ steps:
volumes:
- /tmp/drone-cache:/tmp/cache
check:
image: friendicaci/php-cs
image: php:8.3
commands:
- echo "**** Use bin/dev/fix-codestyle.sh in case of errors ****"
- apt-get update -q
- DEBIAN_FRONTEND=noninteractive apt-get install -q -y git
- if [ ! -z "$${CI_COMMIT_PULL_REQUEST}" ]; then
git fetch --no-tags origin ${CI_COMMIT_TARGET_BRANCH};
export CHANGED_FILES="$(git diff --name-status $(git merge-base FETCH_HEAD origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA} | grep ^A | cut -f2)";
git fetch --no-tags --unshallow origin ${CI_COMMIT_TARGET_BRANCH}:refs/remotes/origin/${CI_COMMIT_TARGET_BRANCH};
CHANGED_FILES="$(git diff --name-only --diff-filter=ACMRTUXB $(git merge-base ${CI_COMMIT_SHA} origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA})";
else
export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2)";
CHANGED_FILES="$(git diff --name-only --diff-filter=ACMRTUXB ${CI_COMMIT_SHA})";
fi
- /check-php-cs.sh
- EXTRA_ARGS="--path-mode=intersection -- $${CHANGED_FILES}";
- ./bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer check --config=.php-cs-fixer.dist.php -v --diff --using-cache=no $${EXTRA_ARGS}

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
depends_on:
- phpunit
- code_standards_check
@ -9,6 +13,12 @@ labels:
location: friendica
type: releaser
# CD is triggered after pushing new code to the develop or *-rc branch, excluding the stable branch
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
skip_clone: true
steps:
@ -19,10 +29,6 @@ steps:
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
restore_cache:
image: meltwater/drone-cache:dev
settings:
@ -34,22 +40,15 @@ steps:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
composer_install:
image: friendicaci/php8.2:php8.2.16
image: friendicaci/php8.2:php8.2.28
commands:
- mkdir addon # create empty addon folder to appease composer
- export COMPOSER_HOME=.composer
- composer validate
- composer install --no-dev --optimize-autoloader
volumes:
- /etc/hosts:/etc/hosts
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
create_artifacts:
image: debian
commands:
@ -70,10 +69,6 @@ steps:
- ls -lh
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
sign_artifacts:
image: plugins/gpgsign
settings:
@ -86,17 +81,9 @@ steps:
exclude:
- build/*.sum256
detach_sign: true
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push
publish_artifacts:
image: alpine
commands:
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica
branch: [ develop, '*-rc' ]
event: push

View file

@ -1,11 +1,16 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
matrix:
include:
- PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
PHP_VERSION: 8.2.28
when:
- branch:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
# This forces CI executions at the "opensocial" labeled location (because of much more power...)
labels:
@ -36,6 +41,7 @@ steps:
composer_install:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
commands:
- mkdir addon # create empty addon folder to appease composer
- export COMPOSER_HOME=.composer
- ./bin/composer.phar validate
- ./bin/composer.phar install --prefer-dist

View file

@ -1,11 +1,14 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
when:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
steps:
check:
image: friendicaci/php-cs
image: fsfe/reuse:latest
commands:
- if [ ! -z "$${CI_COMMIT_PULL_REQUEST}" ]; then
git fetch --no-tags origin ${CI_COMMIT_TARGET_BRANCH};
export CHANGED_FILES="$(git diff --name-status $(git merge-base FETCH_HEAD origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA} | grep -i '\.php$' | cut -f2)";
else
export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep -i '\.php$' | cut -f2)";
fi
- /check-license.sh
- reuse lint

View file

@ -1,3 +1,12 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
when:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
steps:
build_xgettext:
image: friendicaci/transifex
@ -7,7 +16,3 @@ steps:
image: friendicaci/transifex
commands:
- /check-messages.sh
when:
- branch:
exclude: [ stable ]

View file

@ -0,0 +1,50 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# The phpmd check is just triggered for PRs and pushes to non-stable branches of Friendica
when:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
# This forces PHP Unit executions at the "opensocial" labeled location (because of access issues with git.friendi.ca)
labels:
location: opensocial
steps:
restore_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
composer_install:
image: friendicaci/php8.3:php8.3.17
commands:
- mkdir addon # create empty addon folder to appease composer
- export COMPOSER_HOME=.composer
- ./bin/composer.phar install --prefer-dist
rebuild_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
rebuild: true
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
phpmd:
image: friendicaci/php8.3:php8.3.17
commands:
- ./bin/composer.phar run phpmd

View file

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
matrix:
include:
- PHP_MAJOR_VERSION: 7.4
@ -5,17 +9,36 @@ matrix:
- PHP_MAJOR_VERSION: 8.0
PHP_VERSION: 8.0.30
- PHP_MAJOR_VERSION: 8.1
PHP_VERSION: 8.1.27
PHP_VERSION: 8.1.31
- PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
PHP_VERSION: 8.2.28
- PHP_MAJOR_VERSION: 8.3
PHP_VERSION: 8.3.3
PHP_VERSION: 8.3.17
- PHP_MAJOR_VERSION: 8.4
PHP_VERSION: 8.4.5
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
labels:
location: opensocial
when:
branch:
exclude: [ stable ]
event: [ pull_request, push ]
skip_clone: true
steps:
clone:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- git clone $CI_REPO_CLONE_URL .
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
php-lint:
image: php:${PHP_MAJOR_VERSION}
commands:
@ -34,6 +57,7 @@ steps:
composer_install:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
commands:
- git clone -b develop --single-branch https://git.friendi.ca/friendica/friendica-addons.git addon
- export COMPOSER_HOME=.composer
- ./bin/composer.phar validate
- ./bin/composer.phar install --prefer-dist
@ -50,6 +74,20 @@ steps:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
phpstan:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
when:
matrix:
PHP_MAJOR_VERSION: 8.3
commands:
- bin/composer.phar run phpstan;
phpstan-addons:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
when:
matrix:
PHP_MAJOR_VERSION: 8.3
commands:
- bin/composer.phar run phpstan-addons;
test:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
environment:
@ -77,14 +115,14 @@ steps:
when:
matrix:
PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
PHP_VERSION: 8.2.28
repo:
- friendica/friendica
commands:
- codecov -R '.' -Z -f 'clover.xml'
secrets:
- source: codecov-token
target: codecov_token
environment:
CODECOV_TOKEN:
from_secret: codecov-token
services:
mariadb:

View file

@ -1,6 +1,6 @@
depends_on:
- phpunit
- code_standards_check
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
# This prevents executing this pipeline at other servers than ci.friendi.ca
labels:
@ -9,6 +9,11 @@ labels:
skip_clone: true
when:
repo: friendica/friendica
branch: stable
event: tag
steps:
clone:
image: alpine/git
@ -17,10 +22,7 @@ steps:
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
repo: friendica/friendica
branch: stable
event: tag
restore_cache:
image: meltwater/drone-cache:dev
settings:
@ -32,20 +34,13 @@ steps:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
repo: friendica/friendica
branch: stable
event: tag
composer_install:
image: friendicaci/php8.2:php8.2.16
image: friendicaci/php8.2:php8.2.28
commands:
- mkdir addon # create empty addon folder to appease composer
- export COMPOSER_HOME=.composer
- composer validate
- composer install --no-dev --optimize-autoloader
when:
repo: friendica/friendica
branch: stable
event: tag
volumes:
- /etc/hosts:/etc/hosts
create_artifacts:
@ -68,10 +63,6 @@ steps:
- ls -lh
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
when:
repo: friendica/friendica
branch: stable
event: tag
sign_artifacts:
image: plugins/gpgsign
settings:
@ -94,7 +85,3 @@ steps:
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica
branch: stable
event: tag

162
CHANGELOG
View file

@ -1,3 +1,161 @@
Version 2025.02 (unreleased)
Friendica Core
Deprecated bin/daemon in favor of bin/console daemon (PR 14642) [nupplaphil]
Deprecated bin/jetstream in favor of bin/console jetstream (PR 14655) [nupplaphil]
Friendica Addons
Closed Issues
Version 2024.12 (2024-12-31)
Friendica Core
Updates to the translations AR, BG, CA, CS, DE, EO, ES, ET, FR, GD, HU, IS, IT, JA, NL, PL, RU, SV
Updates to the documentation [annando, bmillwood, tobiasd]
Updates to the themes (frio) [haheute]
Friendica Core is now REUSE compliant [tobiasd]
General code cleanup [annando, nupplaphil, mexon]
Improved federation with Bluesky, Hubzilla, Peertube, threads, Wordpress [annando]
Improved the API [annando]
Improved display of contact connection state [annando]
Improved handling of bad webfinger requests [annando, mexon, zotanmew]
Improved the order of actions on the 2FA settings page [tobiasd]
Improved server type detection [annando]
Improved content negotiation [annando]
Improved expiration [annando]
Improved contact archiving [annando]
Improved delivery of content [annando]
Improved displayed project icons [annando]
Improved splitting of long postings via connectors [annando]
Improved contact import [annando]
Improved URL detection in searches [annando]
Improved handling of blocked users [annando]
Fixed a bug in creating app specific passwords [nupplaphil]
Fixed a bug in importing some notes from Mastodon [annando]
Fixed a bug with postings from buffer including images [annando]
Fixed a apache2 problem with unsafe URLs [annando]
Fixed a bug in the contact settings [annando]
Fixed a bug with latin1 encoded databases [annando]
Fixed a bug while uploading server blocklists [ne20002]
Fixed a bug while parsing events [annando]
Fixed a bug in the initial registry settings [annando]
Fixed a bug in 0Auth with buffer [annando]
Fixed a problem with rich HTML content [annando]
Fixed a bug with private comments [annando]
Fixed a bug in gettext [tobiasd]
Fixed a bug in the installation process [tobiasd]
Fixed schema.org issue [annando]
Added admin info to stats module [nupplaphil]
Added an option to exclude postings with images without ALT text [annando]
Added an option to hide custom emojis [annando]
Added support for HLS [annando]
Added devcontainer for Friendica [ne20002]
Added jetstream support for AT protocol [annando]
Added native probe support for AT protocol [annando]
Removed custom emojis from contact names [annando]
Removed OStatus support [annando]
Friendica Addons
bluesky
Added block functionality [annando]
Added option to complete threads [annando]
Fixed issue with blocking contacts [annando]
Improved handling of startersets [annando]
Improved fetching of postings [annando]
invidious [loma-one]
unicode_smileys [loma-one]
fancybox
Deprecated the addon [tobiasd]
Closed Issues
13270, 13943, 14121, 14126, 14145, 14174, 14212, 14244, 14281,
14292, 14294, 14303, 14307, 14344, 14368, 14370, 14373, 14377,
14381, 14413, 14421, 14525, 14450, 14451, 14464, 14487, 14488,
14491, 14495, 14512, 14587, 14609, 14630
Version 2024.08 (2024-08-17)
Friendica Core
Updates to the translations AR, CS, DE, ES, FR, GD, HU, IS, IT, JA, NL, PL, RU, SV
Updates to the documentation [foss-, loma-one, mexon]
Updates to the themes (frio) [haheute]
General code cleanup [annando, haheute, mexon, MrPetovan]
Improved the redirection for contact actions [annando]
Improved the performance while fetching of replies [annando]
Improved the performance when visiting remote profiles [annando]
Improved OWA [annando]
Improved the procession of worker tasks [annando]
Improved performance in the probing process [annando]
Improved INBOX performance [annando]
Improved perfomance when expireing postings [annando]
Improved mirroring settings for RSS contacts [annando]
Improved supported image formats [annando]
Improved handling of CC for comments [annando]
Improved handling of "sensitive" flags for postings [annando]
Improved display of log levels [annando, tobiasd]
Improved handling of permissions for attachments [annando]
Improved addon handling [MrPetovan]
Improved API for channels and circles [annando]
Improved performance while displaying local postings [annando]
Improved federation with pixelfed, threads [annando]
Improved integration with Bluesky [annando]
Improved automatic cleanup of the database [annando]
Fixed access to restricted timeline via API [annando]
Fixed problem fetching from INBOXes [annando]
Fixed display of contacts from unavailable networks [annando]
Fixed profile display [annando]
Fixed a problem with local un-/follows [annando]
Fixed the uimport POST endpoint [annando]
Fixed problem with 0Auth logins [annando]
Fixed problem with @mentions in comments [annando]
Fixed XSS in profile fields [annando, apexrabbit, Devilx86, MrPetovan, ponlayookm]
Fixed bug in deleting unused cached avatar pictures [annando]
Fixed paging bug on the media tab of remote profiles [annando]
Fixed display of attached links [annando]
Fixed a bug in circle only contacts [annando]
Fixed display of moderation reports [MrPetovan, TheTomcat14]
Fixed delivery problems to group postings [annando]
Added monitoring service endpoint [annando]
Added admin option display_link_length to set the length of displayed links [annando]
Added the possibility to upload media files via API [annando]
Added console command to clear avatar cache [annando]
Added platform data to the API [annando]
Added parsing support for Nodeinfo 2.1 and 2.2 [annando]
Added node description to Nodeinfo [annando]
Added owner information of relay accounts [annando]
Added option for users about how to transmit postings with titles [annando]
Added for non HTML content of feeds [annando]
Added reshares for postings from Bluesky and tumbl [annando]
Added public forums with manual request approval [annando]
Added "next try" information for deferred worker jobs listing [annando]
Added support of FEP-e232 [annando]
Added automatic closure of registration if admin becomes inactive [annando]
Added channel only option for contacts [annando]
Friendica Addons
Updates to the translations AR, CS, DE, FR, IT, PL, SV
Blockbot
Added Relatica to good client list [hankg]
Improved agent identifier list [annando]
Bluesky
Added monitoring statistics [annando]
Added support of sensitive postings [annando]
Improved API handling [annando]
Improved fetching of user DID [annando]
Fixed conversion BS/Friendica handles [annando]
jsuploader
Improved detection of supported file types [annando]
mailstream
Improved image handling [mexon]
tumblr
Added monitoring statistics [annando]
Improved quoted postings [annando]
Closed Issues
11963, 13714, 13787, 13812, 13821, 13910, 14012, 14030, 14059,
14077, 14079, 14045, 14052, 14055, 14081, 14084, 14102, 14110,
14118, 14121, 14125, 14132, 14134, 14153, 14160, 14170, 14175,
14186, 14197, 14220, 14228, 14231, 14240, 14249, 14250, 14285,
14295, 14303, 14312, 14324, 14329, 14349, 14364
Version 2024.03 (2024-03-21)
Friendica Core
Updates to the translations AR, BG, CS, DE, EO, ES, FR, GD, HU, IS, IT, JA, PL, RO, RU, SV
@ -285,7 +443,7 @@ Version 2023.04 (2023-04-23)
twitter
Improve remote-self handling [annando]
impressum
Avoide obfuscation on un-set email addresses [MrPestovan]
Avoide obfuscation on un-set email addresses [MrPetovan]
notifyall
Fixed a bug selecting the email addresses [nupplaphil]
tumblr
@ -1734,7 +1892,7 @@ Version 2018.05 (2018-06-01)
Friendica Addons:
Updates to the translations (DE, EN_GB, EN_US, ES, FI, FR, IS, IT, NL, PL, RU, ZH_CN) [translation teams]
advancedcontentfilter: new addon with advanced filter capabilities [MrPetova]
advancedcontentfilter: new addon with advanced filter capabilities [MrPetovan]
catavatar: new addon for profile pictures based on David Revoy's cat-avatar generator [annando, fabrixxm, tobiasd]
languagefilter: better help text [andyhee]
mathjax: fixed the config form and adopted new CDN URL [tobiasd]

3
CHANGELOG.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

3
CONTRIBUTING.md.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

View file

@ -23,6 +23,7 @@ Andi Stadler
Andreas H.
Andreas Neustifter
Andrej Stieben
Andrey Esin
André Alves
André Lohan
Andy
@ -46,6 +47,7 @@ beardyunixer
Beatriz Vital
Beluga
Ben
Ben Millwood
Ben Roberts
ben-utzer
Beringer Zsolt
@ -72,6 +74,7 @@ Christian Wiwie
Cohan Robinson
Colby Sollars
Copiis
cracrayol
CrystalStiletto
csolisr
Cyboulette
@ -91,9 +94,11 @@ Dean Townsley
Denis Chenu
dependabot[bot]
Devlon Duthie
dew-git
Diego Souza
Domovoy
Doru DEACONU
Dr. Tobias Quathamer
Dylan Thiedeke
Développeur égaré
eddy2508
@ -188,8 +193,10 @@ Kris
Kristoffer Grundström
ktlinux
KulikAlex
Laura Hausmann
Lea1995polish
Leberwurscht
Leonard
Leonard Lausen
Lionel Triay
loma-one
@ -227,9 +234,11 @@ Mike Macgirvin
miqrogroove
Morgan McMillian
mpanhans
MrPetovan
mytbk
nathilia-peirce
Nicola Spanti
ne20002
Nicolas Derive
nnsrymni
nobody
@ -308,7 +317,6 @@ snajafov
softmetz
soko1
Spencer Dub
SpencerDub
St John Karp
Stanislav N.
Steffen K9
@ -340,6 +348,7 @@ Tom
Tom Aurlund
Tom Hu
tomamplius
tommy tomson
tomtom84
Tony Baldwin
Torbjörn Andersson
@ -370,6 +379,7 @@ Wanting Chen
Wil Tur
Wladimir Palant
Wouter Broers
www-data
Xiaofei Xu
XMPPはいいぞ
xundeenergie
@ -382,6 +392,7 @@ Zered
zotlabs
zottel
Zvi ben Yaakov (a.k.a rdc)
Éibhear Ó hAnluain
Михаил
Олексій Замковий
朱陈锬

3
CREDITS.txt.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

3
Doxyfile.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

32
FEDERATION.md Normal file
View file

@ -0,0 +1,32 @@
# Federation
## Supported federation protocols and standards
- [ActivityPub](https://www.w3.org/TR/activitypub/) (Server-to-Server, Server-to-Client)
- [WebFinger](https://webfinger.net/)
- [Http Signatures](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures)
- [NodeInfo](https://nodeinfo.diaspora.software/)
- [Diaspora* Protocol](https://diaspora.github.io/diaspora_federation/)
- [DFRN](https://git.friendi.ca/friendica/friendica/src/branch/develop/spec)
## Supported FEPs
- [FEP-f1d5: NodeInfo in Fediverse Software](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md)
- [FEP-1b12: Group federation](https://codeberg.org/fediverse/fep/src/branch/main/fep/1b12/fep-1b12.md) - basics for federation with lemmy, kbin
- [FEP-2677: Identifying the Application Actor](https://codeberg.org/fediverse/fep/src/branch/main/fep/2677/fep-2677.md)
- [FEP-e232: Object Links](https://codeberg.org/fediverse/fep/src/branch/main/fep/e232/fep-e232.md)
- [FEP-61cf: The OpenWebAuth Protocol](https://codeberg.org/fediverse/fep/src/branch/main/fep/61cf/fep-61cf.md) - basics to log in to Hubzilla
- [FEP-67ff: FEDERATION.md](https://codeberg.org/fediverse/fep/src/branch/main/fep/67ff/fep-67ff.md)
## ActivityPub
- We send a follow activity for the id of a received root post. This is meant as a request to be included in the collection of receivers for this specific post.
## Diaspora protocol
Friendica supports most entities of the Diaspora protocol except polls.
## Additional documentation
- Documentation is available at every Friendica node at `/help` and in the project repository [friendica/doc](https://git.friendi.ca/friendica/friendica/src/branch/develop/doc) (links work on the nodes documentation).

3
FEDERATION.md.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010-2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

661
LICENSES/AGPL-3.0-only.txt Normal file
View file

@ -0,0 +1,661 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.

View file

@ -0,0 +1,235 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <http://www.gnu.org/licenses/>.

73
LICENSES/Apache-2.0.txt Normal file
View file

@ -0,0 +1,73 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

11
LICENSES/BSD-3-Clause.txt Normal file
View file

@ -0,0 +1,11 @@
Copyright (c) <year> <owner>.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

319
LICENSES/CC-BY-3.0.txt Normal file
View file

@ -0,0 +1,319 @@
Creative Commons Legal Code
Attribution 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations.
e. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(b), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(b), as requested.
b. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and (iv) , consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4 (b) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
c. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at https://creativecommons.org/.

156
LICENSES/CC-BY-4.0.txt Normal file
View file

@ -0,0 +1,156 @@
Creative Commons Attribution 4.0 International
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensors permission is not necessary for any reasonfor example, because of any applicable exception or limitation to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
5. Downstream recipients.
A. Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.

359
LICENSES/CC-BY-SA-3.0.txt Normal file
View file

@ -0,0 +1,359 @@
Creative Commons Legal Code
Attribution-ShareAlike 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined below) for the purposes of this
License.
c. "Creative Commons Compatible License" means a license that is listed
at https://creativecommons.org/compatiblelicenses that has been
approved by Creative Commons as being essentially equivalent to this
License, including, at a minimum, because that license: (i) contains
terms that have the same purpose, meaning and effect as the License
Elements of this License; and, (ii) explicitly permits the relicensing
of adaptations of works made available under that license under this
License or a Creative Commons jurisdiction license with the same
License Elements as this License.
d. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
e. "License Elements" means the following high-level license attributes
as selected by Licensor and indicated in the title of this License:
Attribution, ShareAlike.
f. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
g. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
h. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
i. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
j. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
k. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations.
e. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may Distribute or Publicly Perform an Adaptation only under the
terms of: (i) this License; (ii) a later version of this License with
the same License Elements as this License; (iii) a Creative Commons
jurisdiction license (either this or a later license version) that
contains the same License Elements as this License (e.g.,
Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
License. If you license the Adaptation under one of the licenses
mentioned in (iv), you must comply with the terms of that license. If
you license the Adaptation under the terms of any of the licenses
mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
comply with the terms of the Applicable License generally and the
following provisions: (I) You must include a copy of, or the URI for,
the Applicable License with every copy of each Adaptation You
Distribute or Publicly Perform; (II) You may not offer or impose any
terms on the Adaptation that restrict the terms of the Applicable
License or the ability of the recipient of the Adaptation to exercise
the rights granted to that recipient under the terms of the Applicable
License; (III) You must keep intact all notices that refer to the
Applicable License and to the disclaimer of warranties with every copy
of the Work as included in the Adaptation You Distribute or Publicly
Perform; (IV) when You Distribute or Publicly Perform the Adaptation,
You may not impose any effective technological measures on the
Adaptation that restrict the ability of a recipient of the Adaptation
from You to exercise the rights granted to that recipient under the
terms of the Applicable License. This Section 4(b) applies to the
Adaptation as incorporated in a Collection, but this does not require
the Collection apart from the Adaptation itself to be made subject to
the terms of the Applicable License.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and (iv) , consistent with Ssection 3(b), in the case of an
Adaptation, a credit identifying the use of the Work in the Adaptation
(e.g., "French translation of the Work by Original Author," or
"Screenplay based on original Work by Original Author"). The credit
required by this Section 4(c) may be implemented in any reasonable
manner; provided, however, that in the case of a Adaptation or
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of the Adaptation or Collection appears, then as
part of these credits and in a manner at least as prominent as the
credits for the other contributing authors. For the avoidance of
doubt, You may only use the credit required by this Section for the
purpose of attribution in the manner set out above and, by exercising
Your rights under this License, You may not implicitly or explicitly
assert or imply any connection with, sponsorship or endorsement by the
Original Author, Licensor and/or Attribution Parties, as appropriate,
of You or Your use of the Work, without the separate, express prior
written permission of the Original Author, Licensor and/or Attribution
Parties.
d. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of the License.
Creative Commons may be contacted at https://creativecommons.org/.

170
LICENSES/CC-BY-SA-4.0.txt Normal file
View file

@ -0,0 +1,170 @@
Creative Commons Attribution-ShareAlike 4.0 International
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensors permission is not necessary for any reasonfor example, because of any applicable exception or limitation to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
Creative Commons Attribution-ShareAlike 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
5. Downstream recipients.
A. Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. Additional offer from the Licensor Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapters License You apply.
C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
1. The Adapters License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.

9
LICENSES/CC-PDDC.txt Normal file
View file

@ -0,0 +1,9 @@
Creative Commons Public Domain Dedication and Certification
The person or persons who have associated work with this document (the "Dedicator" or "Certifier") hereby either (a) certifies that, to the best of his knowledge, the work of authorship identified is in the public domain of the country from which the work is published, or (b) hereby dedicates whatever copyright the dedicators holds in the work of authorship identified below (the "Work") to the public domain. A certifier, moreover, dedicates any copyright interest he may have in the associated work, and for these purposes, is described as a "dedicator" below.
A certifier has taken reasonable steps to verify the copyright status of this work. Certifier recognizes that his good faith efforts may not shield him from liability if in fact the work certified is not in the public domain.
Dedicator makes this dedication for the benefit of the public at large and to the detriment of the Dedicator's heirs and successors. Dedicator intends this dedication to be an overt act of relinquishment in perpetuity of all present and future rights under copyright law, whether vested or contingent, in the Work. Dedicator understands that such relinquishment of all rights includes the relinquishment of all rights to enforce (by lawsuit or otherwise) those copyrights in the Work.
Dedicator recognizes that, once placed in the public domain, the Work may be freely reproduced, distributed, transmitted, used, modified, built upon, or otherwise exploited by anyone for any purpose, commercial or non-commercial, and in any way, including by methods that have not yet been invented or conceived.

121
LICENSES/CC0-1.0.txt Normal file
View file

@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

117
LICENSES/GPL-2.0-only.txt Normal file
View file

@ -0,0 +1,117 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

View file

@ -0,0 +1,117 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

232
LICENSES/GPL-3.0-only.txt Normal file
View file

@ -0,0 +1,232 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.

9
LICENSES/MIT.txt Normal file
View file

@ -0,0 +1,9 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

43
LICENSES/OFL-1.1.txt Normal file
View file

@ -0,0 +1,43 @@
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

11
LICENSES/WTFPL.txt Normal file
View file

@ -0,0 +1,11 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

3
README.md.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

306
REUSE.toml Normal file
View file

@ -0,0 +1,306 @@
version = 1
SPDX-PackageName = "Friendica"
SPDX-PackageSupplier = "Friendica Project <info@friendi.ca>"
SPDX-PackageDownloadLocation = "https://friendi.ca"
[[annotations]]
path = [
"database.sql",
"composer.*",
"bin/dev/php-cs-fixer/composer.*",
"doc/**",
"spec/*",
"tests/**",
".devcontainer/**",
".vscode/*",
".phpactor.json",
"**/.gitignore",
"src/**/README.md",
"mods/**",
"static/*.jsonld",
".github/ISSUE_TEMPLATE/*",
"view/theme/frio/README.md",
"view/theme/vier/README.md",
"view/theme/quattro/TODO",
"view/theme/quattro/**Makefile",
"view/theme/**/screenshot.jpg",
"view/theme/**/screenshot.png",
"view/theme/duepuntozero/deriv/**",
"images/icons/**",
"images/friendica*",
"images/ff*",
"images/person-*.jpg",
"view/install/*.png",
"view/theme/quattro/icons/*",
"view/theme/smoothly/images/*",
"images/screenshots/*",
"view/theme/frio/img/**",
"config/local-sample.config.php",
"images/article.gif",
"images/audio.gif",
"images/b_block.gif",
"images/b_drop.gif",
"images/b_drop.png",
"images/b_drophide.gif",
"images/b_dropshow.gif",
"images/b_edit.gif",
"images/b_edit.png",
"images/beer_mug.gif",
"images/blank.png",
"images/bug-x.gif",
"images/calendar.png",
"images/camera-icon.gif",
"images/coffee.gif",
"images/connect-bg.png",
"images/content-types.png",
"images/default-profile-mm.jpg",
"images/default-profile-sm.jpg",
"images/default-profile.jpg",
"images/dislike.gif",
"images/document.gif",
"images/globe.gif",
"images/hide_off.png",
"images/hide_on.png",
"images/icons.png",
"images/larrow.gif",
"images/larrw.gif",
"images/like.gif",
"images/link-icon.gif",
"images/lock_icon.gif",
"images/lrarrow.gif",
"images/mail.png",
"images/mapicon.gif",
"images/no.gif",
"images/noglobe.gif",
"images/nosign.jpg",
"images/onoff.jpg",
"images/pause.gif",
"images/pen.png",
"images/pencil.gif",
"images/penhover.png",
"images/people.gif",
"images/play.gif",
"images/plugin.png",
"images/rarrow.gif",
"images/rarrw.gif",
"images/recycle.gif",
"images/remote-link.gif",
"images/rotator.gif",
"images/search_18.png",
"images/selected.png",
"images/share.gif",
"images/show_all_off.png",
"images/show_all_on.png",
"images/show_off.png",
"images/show_on.png",
"images/smiley-Oo.gif",
"images/smiley-bangheaddesk.gif",
"images/smiley-brokenheart.gif",
"images/smiley-cool.gif",
"images/smiley-cry.gif",
"images/smiley-embarrassed.gif",
"images/smiley-facepalm.gif",
"images/smiley-foot-in-mouth.gif",
"images/smiley-frown.gif",
"images/smiley-heart.gif",
"images/smiley-innocent.gif",
"images/smiley-kiss.gif",
"images/smiley-laughing.gif",
"images/smiley-money-mouth.gif",
"images/smiley-sealed.gif",
"images/smiley-shaka.gif",
"images/smiley-smile.gif",
"images/smiley-surprised.gif",
"images/smiley-thumbsup.gif",
"images/smiley-tongue-out.gif",
"images/smiley-undecided.gif",
"images/smiley-wink.gif",
"images/smiley-yell.gif",
"images/spencil.gif",
"images/star.png",
"images/star_dummy.png",
"images/tools.png",
"images/twopeople.png",
"images/unlock_icon.gif",
"images/video.gif",
"images/logo.png",
]
SPDX-FileCopyrightText = "2010-2024 The Friendica Project"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = [
"view/lang/**/strings.php",
"view/lang/**/messages.po"
]
SPDX-FileCopyrightText = "2010-2024 The Friendica Project"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = "view/fonts/*"
SPDX-FileCopyrightText = "2014, Andi Stadler for the Friendica project"
SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]]
path = [
"view/theme/vier/css/font-awesome*.css",
"view/theme/vier/css/font2.css"
]
SPDX-FileCopyrightText = "Dave Gandy"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/vier/font/*"
SPDX-FileCopyrightText = "Dave Gandy"
SPDX-License-Identifier = "OFL-1.1"
[[annotations]]
path = "view/theme/frio/font/open_sans/**"
SPDX-FileCopyrightText = "2010 Steve Matteson, Google LLC"
SPDX-License-Identifier = "OFL-1.1"
[[annotations]]
path = "view/theme/frio/frameworks/bootstrap/**"
SPDX-FileCopyrightText = "2011-2019 Twitter, Inc."
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/bootstrap-colorpicker/**"
SPDX-FileCopyrightText = "2012 Stefan Petre"
SPDX-License-Identifier = "Apache-2.0"
[[annotations]]
path = "view/theme/frio/frameworks/bootstrap-select/**"
SPDX-FileCopyrightText = "2013-2026 bootstrap-select"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/bootstrap-toggle/**"
SPDX-FileCopyrightText = "2014 Min Hur, The New York Times Company"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/jasny/**"
SPDX-FileCopyrightText = "2012-2014 Arnold Daniels"
SPDX-License-Identifier = "Apache-2.0"
[[annotations]]
path = "view/theme/frio/frameworks/justifiedGallery/**"
SPDX-FileCopyrightText = "2023 Miro Mannino, Hypolite Petovan"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/js/fancybox/**"
SPDX-FileCopyrightText = "2019 fancyApps"
SPDX-License-Identifier = "GPL-3.0-only"
[[annotations]]
path = [
"view/theme/smoothly/js/modernizr.custom.2.5.3.*js",
"view/js/modernizr.js"
]
SPDX-FileCopyrightText = "modernizrJS"
SPDX-License-Identifier = "MIT OR BSD-3-Clause"
[[annotations]]
path = "view/theme/frio/frameworks/flexMenu/*"
SPDX-FileCopyrightText = "2012-2014 352 Inc. & Contributors"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = [
"view/theme/quattro/jquery.tools.min.js",
"view/theme/frio/js/jquery.tools.min.js"
]
SPDX-FileCopyrightText = "NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. http://flowplayer.org/tools/"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "view/theme/frio/php/PHPColors/*"
SPDX-FileCopyrightText = "Arlo Carreon"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/autosize/*"
SPDX-FileCopyrightText = "Jack Moore"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/sticky-kit/jquery.sticky-kit.min.js"
SPDX-FileCopyrightText = "2015 Leaf Corcoran"
SPDX-License-Identifier = "WTFPL"
[[annotations]]
path = "view/theme/frio/frameworks/jquery-scrollspy/*"
SPDX-FileCopyrightText = "2011 Samuel Alexander, 2015 SoftwareSpot"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/ekko-lightbox/*"
SPDX-FileCopyrightText = "2013 Ashley White"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/theme/frio/frameworks/awesome-bootstrap-checkbox/*"
SPDX-FileCopyrightText = "2014 Philip Daineka"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/js/vanillaEmojiPicker/*"
SPDX-FileCopyrightText = "2020, woody180 https://github.com/woody180/vanilla-javascript-emoji-picker"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "view/js/country.js"
SPDX-FileCopyrightText = "Jim Carlock"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "view/js/hls/**"
SPDX-FileCopyrightText = "2017 Dailymotion (http://www.dailymotion.com)"
SPDX-License-Identifier = "Apache-2.0"
[[annotations]]
path = [ "images/rm-16.png", "images/rhash-16.png"]
SPDX-FileCopyrightText = "Red Matrix Project"
SPDX-License-Identifier = "MIT"
[[annotations]]
path = "images/pumpio.png"
SPDX-FileCopyrightText = "2012 E14N"
SPDX-License-Identifier = "Apache-2.0"
[[annotations]]
path = "images/buffer.png"
SPDX-FileCopyrightText = "buffer.com"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "images/default/corgidon.png"
SPDX-FileCopyrightText = "Coridon https://github.com/corgidon/"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = "images/default/koyuspace.png"
SPDX-FileCopyrightText = "Koyuspace https://github.com/koyuspace/mastodon"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = "images/default/pleroma.png"
SPDX-FileCopyrightText = "017-2022 Pleroma Authors <https://pleroma.social/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]]
path = "images/dreamwidth.png"
SPDX-FileCopyrightText = "Dreamwidth Studios, LLC. https://www.dreamwidth.org/site/opensource"
SPDX-License-Identifier = "CC-BY-SA-3.0"
[[annotations]]
path = "images/insanejournal.gif"
SPDX-FileCopyrightText = "Insane Journal https://www.insanejournal.com"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "images/humane-tech-badge.svg"
SPDX-FileCopyrightText = "delightful humane design"
SPDX-License-Identifier = "CC0-1.0"

3
REUSE.toml.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

View file

@ -1 +1 @@
2024.03
2025.02-dev

3
VERSION.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

2
Vagrantfile vendored
View file

@ -7,7 +7,7 @@ public_folder = "/vagrant"
Vagrant.configure(2) do |config|
# Set server to Debian 11 / Bullseye 64bit
config.vm.box = "debian/bullseye64"
config.vm.box = "debian/bookworm64"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs

3
Vagrantfile.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

3
bin/.htaccess.license Normal file
View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
SPDX-License-Identifier: CC0-1.0

View file

@ -1,22 +1,10 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* ejabberd extauth script for the integration with friendica
*
@ -56,44 +44,12 @@ if (php_sapi_name() !== 'cli') {
exit();
}
use Dice\Dice;
use Friendica\App\Mode;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\Security\ExAuth;
use Psr\Log\LoggerInterface;
if (sizeof($_SERVER["argv"]) == 0) {
die();
}
$directory = dirname($_SERVER["argv"][0]);
if (substr($directory, 0, 1) != DIRECTORY_SEPARATOR) {
$directory = $_SERVER["PWD"] . DIRECTORY_SEPARATOR . $directory;
}
$directory = realpath($directory . DIRECTORY_SEPARATOR . "..");
chdir($directory);
chdir(dirname(__DIR__));
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => [LogChannel::AUTH_JABBERED]]);
$container = \Friendica\Core\DiceContainer::fromBasePath(dirname(__DIR__));
\Friendica\DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
$app = \Friendica\App::fromContainer($container);
// Check the database structure and possibly fixes it
\Friendica\Core\Update::check(\Friendica\DI::basePath(), true);
$appMode = $dice->create(Mode::class);
if ($appMode->isNormal()) {
/** @var ExAuth $oAuth */
$oAuth = $dice->create(ExAuth::class);
$oAuth->readStdin();
}
$app->processEjabberd($_SERVER);

Binary file not shown.

View file

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2012 Nils Adermann, Jordi Boggiano
SPDX-License-Identifier: MIT

View file

@ -1,10 +1,14 @@
#!/bin/bash
#!/bin/sh
dir=$(cd "${0%[/\\]*}" > /dev/null; pwd)
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
if [[ -d /proc/cygdrive && $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
dir=$(cd "$(dirname "$0")" > /dev/null 2>&1; pwd)
if [ -d /proc/cygdrive ] && [ "$(which php)" = "$(readlink -n /proc/cygdrive)/*" ]; then
# We are in Cygwin using Windows php, so the path must be translated
dir=$(cygpath -m "$dir");
dir=$(cygpath -m "$dir")
fi
php "${dir}/console.php" "$@"

View file

@ -1,3 +1,7 @@
REM SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
REM
REM SPDX-License-Identifier: CC0-1.0
@echo OFF
:: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION

View file

@ -1,22 +1,10 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: AGPL-3.0-or-later
*
*/
@ -25,21 +13,13 @@ if (php_sapi_name() !== 'cli') {
exit();
}
use Dice\Dice;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\DI;
use Psr\Log\LoggerInterface;
// Ensure that te console is executed from the base path of the installation
chdir(dirname(__DIR__));
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::CONSOLE]]);
$container = \Friendica\Core\DiceContainer::fromBasePath(dirname(__DIR__));
/// @fixme Necessary until Hooks inside the Logger can get loaded without the DI-class
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
$app = \Friendica\App::fromContainer($container);
(new Friendica\Core\Console($dice, $argv))->execute();
$app->processConsole($_SERVER);

View file

@ -1,23 +1,12 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* @deprecated 2025.02 use `bin/console.php daemon` instead
*/
/**
@ -30,231 +19,20 @@ if (php_sapi_name() !== 'cli') {
exit();
}
use Dice\Dice;
use Friendica\App\Mode;
use Friendica\Core\Logger;
use Friendica\Core\Update;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Util\DateTimeFormat;
use Psr\Log\LoggerInterface;
// Get options
$shortopts = 'f';
$longopts = ['foreground'];
$options = getopt($shortopts, $longopts);
// Ensure that daemon.php is executed from the base path of the installation
if (!file_exists('index.php') && (sizeof($_SERVER['argv']) != 0)) {
$directory = dirname($_SERVER['argv'][0]);
if (substr($directory, 0, 1) != '/') {
$directory = $_SERVER['PWD'] . '/' . $directory;
}
$directory = realpath($directory . '/..');
chdir($directory);
}
chdir(dirname(__DIR__));
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [Logger\Capability\LogChannel::DAEMON]]);
fwrite(STDOUT, '`bin/daemon.php` is deprecated since 2025.02 and will be removed in 5 months, please use `bin/console.php daemon` instead.' . \PHP_EOL);
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
// BC: Add console command as second argument
$argv = $_SERVER['argv'] ?? [];
array_splice($argv, 1, 0, "daemon");
$_SERVER['argv'] = $argv;
if (DI::mode()->isInstall()) {
die("Friendica isn't properly installed yet.\n");
}
$container = \Friendica\Core\DiceContainer::fromBasePath(dirname(__DIR__));
DI::mode()->setExecutor(Mode::DAEMON);
$app = \Friendica\App::fromContainer($container);
DI::config()->reload();
if (empty(DI::config()->get('system', 'pidfile'))) {
die(<<<TXT
Please set system.pidfile in config/local.config.php. For example:
'system' => [
'pidfile' => '/path/to/daemon.pid',
],
TXT
);
}
$pidfile = DI::config()->get('system', 'pidfile');
if (in_array('start', $_SERVER['argv'])) {
$mode = 'start';
}
if (in_array('stop', $_SERVER['argv'])) {
$mode = 'stop';
}
if (in_array('status', $_SERVER['argv'])) {
$mode = 'status';
}
$foreground = array_key_exists('f', $options) || array_key_exists('foreground', $options);
if (!isset($mode)) {
die("Please use either 'start', 'stop' or 'status'.\n");
}
if (empty($_SERVER['argv'][0])) {
die("Unexpected script behaviour. This message should never occur.\n");
}
$pid = null;
if (is_readable($pidfile)) {
$pid = intval(file_get_contents($pidfile));
}
if (empty($pid) && in_array($mode, ['stop', 'status'])) {
DI::keyValue()->set('worker_daemon_mode', false);
die("Pidfile wasn't found. Is the daemon running?\n");
}
if ($mode == 'status') {
if (posix_kill($pid, 0)) {
die("Daemon process $pid is running.\n");
}
unlink($pidfile);
DI::keyValue()->set('worker_daemon_mode', false);
die("Daemon process $pid isn't running.\n");
}
if ($mode == 'stop') {
posix_kill($pid, SIGTERM);
unlink($pidfile);
Logger::notice('Worker daemon process was killed', ['pid' => $pid]);
DI::keyValue()->set('worker_daemon_mode', false);
die("Worker daemon process $pid was killed.\n");
}
if (!empty($pid) && posix_kill($pid, 0)) {
die("Daemon process $pid is already running.\n");
}
Logger::notice('Starting worker daemon.', ['pid' => $pid]);
if (!$foreground) {
echo "Starting worker daemon.\n";
DBA::disconnect();
// Fork a daemon process
$pid = pcntl_fork();
if ($pid == -1) {
echo "Daemon couldn't be forked.\n";
Logger::warning('Could not fork daemon');
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]);
exit(0);
}
// We now are in the child process
register_shutdown_function('shutdown');
// Make the child the main process, detach it from the terminal
if (posix_setsid() < 0) {
return;
}
// Closing all existing connections with the outside
fclose(STDIN);
// And now connect the database again
DBA::connect();
}
DI::keyValue()->set('worker_daemon_mode', true);
// Just to be sure that this script really runs endlessly
set_time_limit(0);
$wait_interval = intval(DI::config()->get('system', 'cron_interval', 5)) * 60;
$do_cron = true;
$last_cron = 0;
// Now running as a daemon.
while (true) {
// Check the database structure and possibly fixes it
Update::check(DI::basePath(), true);
if (!$do_cron && ($last_cron + $wait_interval) < time()) {
Logger::info('Forcing cron worker call.', ['pid' => $pid]);
$do_cron = true;
}
if ($do_cron || (!DI::system()->isMaxLoadReached() && Worker::entriesExists() && Worker::isReady())) {
Worker::spawnWorker($do_cron);
} else {
Logger::info('Cool down for 5 seconds', ['pid' => $pid]);
sleep(5);
}
if ($do_cron) {
// We force a reconnect of the database connection.
// This is done to ensure that the connection don't get lost over time.
DBA::reconnect();
$last_cron = time();
}
$start = time();
Logger::info('Sleeping', ['pid' => $pid, 'until' => gmdate(DateTimeFormat::MYSQL, $start + $wait_interval)]);
do {
$seconds = (time() - $start);
// logarithmic wait time calculation.
// Background: After jobs had been started, they often fork many workers.
// To not waste too much time, the sleep period increases.
$arg = (($seconds + 1) / ($wait_interval / 9)) + 1;
$sleep = min(1000000, round(log10($arg) * 1000000, 0));
usleep($sleep);
$pid = pcntl_waitpid(-1, $status, WNOHANG);
if ($pid > 0) {
Logger::info('Children quit via pcntl_waitpid', ['pid' => $pid, 'status' => $status]);
}
$timeout = ($seconds >= $wait_interval);
} while (!$timeout && !Worker\IPC::JobsExists());
if ($timeout) {
$do_cron = true;
Logger::info('Woke up after $wait_interval seconds.', ['pid' => $pid, 'sleep' => $wait_interval]);
} else {
$do_cron = false;
Logger::info('Worker jobs are calling to be forked.', ['pid' => $pid]);
}
}
function shutdown() {
posix_kill(posix_getpid(), SIGTERM);
posix_kill(posix_getpid(), SIGHUP);
}
$app->processConsole($_SERVER);

View file

@ -1,5 +1,9 @@
#!/usr/bin/env bash
#
# SPDX-FileCopyrightText: 2010-2024 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# This script is used for autotesting the Friendica codebase with different
# types of tests and environments.
#
@ -138,9 +142,9 @@ function execute_tests() {
if [ -n "${USEDOCKER}" ]; then
echo "Fire up the mysql docker"
DOCKER_CONTAINER_ID=$(docker run \
-e MYSQL_ROOT_PASSWORD=friendica \
-e MYSQL_ROOT_PASSWORD="${DATABASE_PASSWORD}" \
-e MYSQL_USER="${DATABASE_USER}" \
-e MYSQL_PASSWORD=friendica \
-e MYSQL_PASSWORD="${DATABASE_PASSWORD}" \
-e MYSQL_DATABASE="${DATABASE_NAME}" \
-d mysql)
DATABASE_HOST=$(docker inspect --format="{{.NetworkSettings.IPAddress}}" "${DOCKER_CONTAINER_ID}")
@ -152,8 +156,8 @@ function execute_tests() {
echo "To use the docker container set the USEDOCKER environment variable"
exit 3
fi
mysql -u "${DATABASE_USER}" -pfriendica -e "DROP DATABASE IF EXISTS ${DATABASE_NAME}" -h ${DATABASE_HOST} || true
mysql -u "${DATABASE_USER}" -pfriendica -e "CREATE DATABASE ${DATABASE_NAME} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" -h ${DATABASE_HOST}
mysql -u "${DATABASE_USER}" -p"${DATABASE_PASSWORD}" -e "DROP DATABASE IF EXISTS ${DATABASE_NAME}" -h ${DATABASE_HOST} || true
mysql -u "${DATABASE_USER}" -p"${DATABASE_PASSWORD}" -e "CREATE DATABASE ${DATABASE_NAME} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" -h ${DATABASE_HOST}
else
DATABASE_HOST=mysql
fi
@ -171,9 +175,9 @@ function execute_tests() {
if [ -n "${USEDOCKER}" ]; then
echo "Fire up the mariadb docker"
DOCKER_CONTAINER_ID=$(docker run \
-e MYSQL_ROOT_PASSWORD=friendica \
-e MYSQL_ROOT_PASSWORD="${DATABASE_PASSWORD}" \
-e MYSQL_USER="${DATABASE_USER}" \
-e MYSQL_PASSWORD=friendica \
-e MYSQL_PASSWORD="${DATABASE_PASSWORD}" \
-e MYSQL_DATABASE="${DATABASE_NAME}" \
-d mariadb)
DATABASE_HOST=$(docker inspect --format="{{.NetworkSettings.IPAddress}}" "${DOCKER_CONTAINER_ID}")
@ -185,8 +189,8 @@ function execute_tests() {
echo "To use the docker container set the USEDOCKER environment variable"
exit 3
fi
mysql -u "${DATABASE_USER}" -pfriendica -e "DROP DATABASE IF EXISTS ${DATABASE_NAME}" -h ${DATABASE_HOST} || true
mysql -u "${DATABASE_USER}" -pfriendica -e "CREATE DATABASE ${DATABASE_NAME} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" -h ${DATABASE_HOST}
mysql -u "${DATABASE_USER}" -p"${DATABASE_PASSWORD}" -e "DROP DATABASE IF EXISTS ${DATABASE_NAME}" -h ${DATABASE_HOST} || true
mysql -u "${DATABASE_USER}" -p"${DATABASE_PASSWORD}" -e "CREATE DATABASE ${DATABASE_NAME} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" -h ${DATABASE_HOST}
else
DATABASE_HOST=mariadb
fi
@ -203,14 +207,14 @@ function execute_tests() {
if [ -n "${USEDOCKER}" ]; then
echo "Initialize database..."
docker exec ${DOCKER_CONTAINER_ID} mysql -u root -pfriendica -e "CREATE DATABASE IF NOT EXISTS ${DATABASE_NAME};"
docker exec ${DOCKER_CONTAINER_ID} mysql -u root -p"${DATABASE_PASSWORD}" -e "CREATE DATABASE IF NOT EXISTS ${DATABASE_NAME};"
fi
export MYSQL_HOST="${DATABASE_HOST}"
#call installer
echo "Installing Friendica..."
"${PHP}" ./bin/console.php autoinstall --dbuser="${DATABASE_USER}" --dbpass=friendica --dbdata="${DATABASE_NAME}" --dbhost="${DATABASE_HOST}" --url=https://friendica.local --admin=admin@friendica.local
"${PHP}" ./bin/console.php autoinstall --dbuser="${DATABASE_USER}" --dbpass="${DATABASE_PASSWORD}" --dbdata="${DATABASE_NAME}" --dbhost="${DATABASE_HOST}" --url=https://friendica.local --admin=admin@friendica.local
fi
#test execution

24
bin/dev/fix-codestyle.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2010-2025 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# this script checks or fixes php-files, based on the php-cs rules
#
# You can use the following variables:
# COMMAND ... the php-cs command to execute (default is "check --diff")
# TARGET_BRANCH ... set the target branch for the current branch to create a diff between them
#
##
COMMAND=${COMMAND:-"check --diff"}
if [ -n "${TARGET_BRANCH}" ]; then
CHANGED_FILES="$(git diff --name-only --diff-filter=ACMRTUXB "$(git ls-remote -q | grep refs/heads/"${TARGET_BRANCH}"$ | awk '{print $1}' | xargs git rev-parse )".."$(git rev-parse HEAD)")";
else
CHANGED_FILES="$(git diff --name-only --diff-filter=ACMRTUXB "$(git rev-parse HEAD)")";
fi
EXTRA_ARGS=$(printf -- '--path-mode=intersection\n--\n%s' "${CHANGED_FILES}");
./bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer ${COMMAND} --config=.php-cs-fixer.dist.php -v --using-cache=no ${EXTRA_ARGS}

View file

@ -1,6 +1,10 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: 2010-2024 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
This script will collect the contributors to friendica and its translations from
* the git log of the friendica core and addons repositories

View file

@ -1,5 +1,9 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2010-2024 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
command -v uglifyjs >/dev/null 2>&1 || { echo >&2 "I require UglifyJS but it's not installed. Aborting."; exit 1; }
MINIFY_CMD=uglifyjs

View file

@ -1,5 +1,5 @@
{
"require": {
"friendsofphp/php-cs-fixer": "^2.18"
"friendsofphp/php-cs-fixer": "^3.46"
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,8 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2010-2024 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Script to setup the vagrant instance for running friendica
#
# DO NOT RUN on your physical machine as this won't be of any use
@ -38,6 +42,18 @@ openssl genrsa -out "$SSL_DIR/xip.io.key" 4096
openssl req -new -subj "$(echo -n "$SUBJ" | tr "\n" "/")" -key "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.csr" -passin pass:$PASSPHRASE
openssl x509 -req -days 365 -in "$SSL_DIR/xip.io.csr" -signkey "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.crt"
#Install php
echo ">>> Add PHP repository"
apt-get install -qq -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/php.gpg
apt update
echo ">>> Installing PHP8"
apt-get install -qq php libapache2-mod-php php8.3-cli php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml imagemagick php8.3-imagick php8.3-zip php8.3-gmp php8.3-intl
echo ">>> Installing PHP7"
apt-get install -qq php7.4 php7.4-cli php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-imagick php7.4-zip php7.4-gmp php7.4-intl
#Install apache2
echo ">>> Installing Apache2 webserver"
@ -49,19 +65,6 @@ vhost -s 192.168.56.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friend
a2dissite 000-default
service apache2 restart
#Install php
echo ">>> Installing PHP7"
apt-get install -qq php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick php-zip php-gmp
systemctl restart apache2
echo ">>> Installing PHP8"
apt-get install -qq -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
apt update
apt-get install -qq php8.0 php8.0-cli php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-imagick php8.0-zip php8.0-gmp
systemctl restart apache2
#Install mysql
echo ">>> Installing Mysql"
debconf-set-selections <<< "mariadb-server mariadb-server/root_password password root"
@ -126,7 +129,7 @@ bin/console user password "$USER_NICK" "$USER_PASSW"
# create cronjob - activate if you have enough memory in you dev VM
# cronjob runs as www-data user
echo ">>> Installing cronjob"
echo "*/10 * * * * www-data cd /vagrant; /usr/bin/php bin/worker.php" >> /etc/cron.d/friendica
echo "*/10 * * * * www-data cd /vagrant; /usr/bin/php bin/console.php worker" >> /etc/cron.d/friendica
# friendica needs write access to /tmp
chmod 777 /tmp

View file

@ -1,5 +1,9 @@
#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2010-2024 the Friendica project
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Run this as sudo!
# I move this file to /usr/local/bin/vhost and run command 'vhost' from anywhere, using sudo.

33
bin/jetstream.php Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
/**
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* @deprecated 2025.02 use `bin/console.php jetstream` instead
*/
if (php_sapi_name() !== 'cli') {
header($_SERVER["SERVER_PROTOCOL"] . ' 403 Forbidden');
exit();
}
// Ensure that Jetstream.php is executed from the base path of the installation
chdir(dirname(__DIR__));
require dirname(__DIR__) . '/vendor/autoload.php';
fwrite(STDOUT, '`bin/jetstream.php` is deprecated since 2025.02 and will be removed in 5 months, please use `bin/console.php jetstream` instead.' . \PHP_EOL);
// BC: Add console command as second argument
$argv = $_SERVER['argv'] ?? [];
array_splice($argv, 1, 0, "jetstream");
$_SERVER['argv'] = $argv;
$container = \Friendica\Core\DiceContainer::fromBasePath(dirname(__DIR__));
$app = \Friendica\App::fromContainer($container);
$app->processConsole($_SERVER);

View file

@ -1,8 +1,20 @@
#!/bin/bash
set -eo pipefail
#!/bin/sh
function resolve {
if [ "$(uname)" == "Darwin" ]
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
#
# SPDX-License-Identifier: CC0-1.0
set -e
# Custom function to handle pipefail behavior
pipefail() {
local cmd="$1"
shift
{ eval "$cmd"; } || exit 1
}
resolve() {
if [ "$(uname)" = "Darwin" ]
then
realpath "$1"
else
@ -12,7 +24,7 @@ function resolve {
FULLPATH=$(dirname "$(resolve "$0")")
if [ "$1" == "--help" ] || [ "$1" == "-h" ]
if [ "$1" = "--help" ] || [ "$1" = "-h" ]
then
echo "$(basename "$(resolve "$0")") [options]"
echo
@ -23,15 +35,15 @@ fi
MODE='default'
ADDONNAME=
if [ "$1" == "--addon" ] || [ "$1" == "-a" ]
if [ "$1" = "--addon" ] || [ "$1" = "-a" ]
then
MODE='addon'
if [ -z "$2" ]; then echo -e "ERROR: missing addon name\n\nrun_xgettext.sh -a <addonname>"; exit 1; fi
if [ -z "$2" ]; then echo "ERROR: missing addon name\n\nrun_xgettext.sh -a <addonname>"; exit 1; fi
ADDONNAME=$2
if [ ! -d "$FULLPATH/../addon/$ADDONNAME" ]; then echo "ERROR: addon '$ADDONNAME' not found"; exit 2; fi
fi
if [ "$1" == "--single" ] || [ "$1" == "-s" ]
if [ "$1" = "--single" ] || [ "$1" = "-s" ]
then
MODE='single'
fi
@ -65,33 +77,31 @@ case "$MODE" in
;;
esac
KEYWORDS="-k -kt -ktt:1,2"
echo "Extract strings to $OUTFILE.."
[ -f "$OUTFILE" ] && rm "$OUTFILE"; touch "$OUTFILE"
# shellcheck disable=SC2086 # $FINDOPTS is meant to be split
find_result=$(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f | LC_ALL=C sort --stable)
find_result=$(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f | LC_ALL=C sort -s)
total_files=$(wc -l <<< "${find_result}")
total_files=$(echo "${find_result}" | wc -l)
count=1
for file in $find_result
do
echo -ne " \r"
echo -ne "Reading file $count/$total_files..."
printf " \r"
printf "Reading file %d/%d..." "$count" "$total_files"
# On Windows, find still outputs the name of pruned folders
if [ ! -d "$file" ]
then
# shellcheck disable=SC2086 # $KEYWORDS is meant to be split
xgettext $KEYWORDS -j -o "$OUTFILE" --from-code=UTF-8 "$file" || exit 1
xgettext $KEYWORDS --no-wrap -j -o "$OUTFILE" --from-code=UTF-8 "$file" || exit 1
sed -i.bkp "s/CHARSET/UTF-8/g" "$OUTFILE"
fi
(( count++ ))
count=$((count + 1))
done
echo -ne "\n"
echo "Interpolate metadata.."
@ -114,7 +124,7 @@ case "$MODE" in
;;
esac
if [ "" != "$1" ] && [ "$MODE" == "default" ]
if [ -n "$1" ] && [ "$MODE" = "default" ]
then
UPDATEFILE="$(resolve "${FULLPATH}/$1")"
echo "Merging new strings to $UPDATEFILE.."

View file

@ -1,21 +1,9 @@
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* During installation we need to check if register_argc_argv is
* enabled for the command line PHP processor, because otherwise

View file

@ -1,25 +1,10 @@
#!/usr/bin/php
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* This script tries to connect to a database for a given interval
* Useful in case of installation e.g. to wait for the database to not generate unnecessary errors
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* Usage: php bin/wait-for-connection {HOST} {PORT} [{TIMEOUT}]
*/

View file

@ -1,24 +1,14 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
* Copyright (C) 2010-2024, the Friendica project
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* SPDX-License-Identifier: AGPL-3.0-or-later
*
* Starts the background processing
*
* @deprecated 2025.02 use `bin/console.php worker` instead
*/
if (php_sapi_name() !== 'cli') {
@ -26,66 +16,20 @@ if (php_sapi_name() !== 'cli') {
exit();
}
use Dice\Dice;
use Friendica\App;
use Friendica\App\Mode;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\Core\Update;
use Friendica\Core\Worker;
use Friendica\DI;
use Psr\Log\LoggerInterface;
// Get options
$shortopts = 'sn';
$longopts = ['spawn', 'no_cron'];
$options = getopt($shortopts, $longopts);
// Ensure that worker.php is executed from the base path of the installation
if (!file_exists("index.php") && (sizeof($_SERVER["argv"]) != 0)) {
$directory = dirname($_SERVER["argv"][0]);
if (substr($directory, 0, 1) != '/') {
$directory = $_SERVER["PWD"] . '/' . $directory;
}
$directory = realpath($directory . '/..');
chdir($directory);
}
chdir(dirname(__DIR__));
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::WORKER]]);
fwrite(STDOUT, '`bin/worker.php` is deprecated since 2025.02 and will be removed in 5 months, please use `bin/console.php worker` instead.' . \PHP_EOL);
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
// BC: Add console command as second argument
$argv = $_SERVER['argv'] ?? [];
array_splice($argv, 1, 0, "worker");
$_SERVER['argv'] = $argv;
DI::mode()->setExecutor(Mode::WORKER);
$container = \Friendica\Core\DiceContainer::fromBasePath(dirname(__DIR__));
// Check the database structure and possibly fixes it
Update::check(DI::basePath(), true);
$app = \Friendica\App::fromContainer($container);
// Quit when in maintenance
if (!DI::mode()->has(App\Mode::MAINTENANCEDISABLED)) {
return;
}
$spawn = array_key_exists('s', $options) || array_key_exists('spawn', $options);
if ($spawn) {
Worker::spawnWorker();
exit();
}
$run_cron = !array_key_exists('n', $options) && !array_key_exists('no_cron', $options);
$process = DI::process()->create(getmypid(), basename(__FILE__));
Worker::processQueue($run_cron, $process);
Worker::unclaimProcess($process);
DI::process()->delete($process);
$app->processConsole($_SERVER);

View file

@ -29,13 +29,14 @@
"ext-xml": "*",
"asika/simple-console": "^1.0",
"bacon/bacon-qr-code": "^2.0.0",
"bower-asset/base64": "^1.0",
"divineomega/password_exposed": "^3",
"enyo/dropzone": "^5.9",
"ezyang/htmlpurifier": "^4.7",
"friendica/json-ld": "^1.0",
"geekwright/po": "^2.0",
"guzzlehttp/guzzle": "^7",
"guzzlehttp/oauth-subscriber": "^0.6",
"guzzlehttp/oauth-subscriber": "^0.8",
"kornrunner/blurhash": "^1.2",
"league/html-to-markdown": "^4.8",
"level-2/dice": "^4",
@ -46,36 +47,38 @@
"minishlink/web-push": "^6.0",
"mobiledetect/mobiledetectlib": "^3.74",
"nikic/fast-route": "^1.3",
"npm-asset/chart.js": "^2.8",
"npm-asset/cropperjs": "1.2.2",
"npm-asset/dompurify": "^1.0",
"npm-asset/es-jquery-sortable": "^0.9.13",
"npm-asset/fork-awesome": "^1.1",
"npm-asset/fullcalendar": "^3.10",
"npm-asset/imagesloaded": "4.1.4",
"npm-asset/jgrowl": "^1.4",
"npm-asset/jquery": "^2.0",
"npm-asset/jquery-colorbox": "^1.6",
"npm-asset/jquery-datetimepicker": "^2.5",
"npm-asset/moment": "^2.24",
"npm-asset/perfect-scrollbar": "0.6.16",
"npm-asset/textcomplete": "^0.18.2",
"npm-asset/typeahead.js": "^0.11.1",
"oomphinc/composer-installers-extender": "^2.0",
"paragonie/hidden-string": "^1.0",
"patrickschur/language-detection": "^5.0.0",
"pear/console_table": "^1.3",
"phpseclib/phpseclib": "^3.0",
"phrity/websocket": "^1.7",
"pragmarx/google2fa": "^5.0",
"pragmarx/recovery": "^0.2",
"psr/clock": "^1.0",
"psr/container": "^2.0",
"psr/container": "^1.1|^2.0",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.1",
"seld/cli-prompt": "^1.0",
"smarty/smarty": "^4",
"symfony/event-dispatcher": "^5.4",
"ua-parser/uap-php": "^3.9",
"xemlock/htmlpurifier-html5": "^0.1.11",
"fxp/composer-asset-plugin": "^1.4",
"bower-asset/base64": "^1.0",
"bower-asset/chart-js": "^2.8",
"bower-asset/dompurify": "^1.0",
"bower-asset/fork-awesome": "^1.1",
"npm-asset/cropperjs": "1.2.2",
"npm-asset/es-jquery-sortable": "^0.9.13",
"npm-asset/fullcalendar": "^3.10",
"npm-asset/imagesloaded": "4.1.4",
"npm-asset/jquery": "^2.0",
"npm-asset/jquery-colorbox": "^1.6",
"npm-asset/jquery-datetimepicker": "^2.5",
"npm-asset/jgrowl": "^1.4",
"npm-asset/moment": "^2.24",
"npm-asset/perfect-scrollbar": "0.6.16",
"npm-asset/textcomplete": "^0.18.2",
"npm-asset/typeahead.js": "^0.11.1"
"xemlock/htmlpurifier-html5": "^0.1.11"
},
"suggest": {
"ext-imagick": "For faster image processing",
@ -87,13 +90,20 @@
{
"type": "vcs",
"url": "https://git.friendi.ca/friendica/php-json-ld"
},
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
"autoload": {
"psr-4": {
"Friendica\\": "src/",
"Friendica\\Addon\\": "addon/"
}
"Friendica\\": "src/"
},
"classmap": ["addon/"],
"exclude-from-classmap": [
"addon/*/vendor/"
]
},
"autoload-dev": {
"psr-4": {
@ -104,14 +114,22 @@
"platform": {
"php": "7.4"
},
"sort-packages": true,
"autoloader-suffix": "Friendica",
"optimize-autoloader": true,
"preferred-install": "dist",
"fxp-asset": {
"installer-paths": {
"npm-asset-library": "view/asset",
"bower-asset-library": "view/asset"
"allow-plugins": {
"composer/installers": true,
"oomphinc/composer-installers-extender": true,
"php-http/discovery": false
}
},
"extra": {
"installer-types": ["bower-asset", "npm-asset"],
"installer-paths": {
"view/asset/{$name}/": [
"type:bower-asset",
"type:npm-asset"
]
}
},
"archive": {
@ -132,26 +150,35 @@
]
},
"require-dev": {
"mockery/mockery": "^1.3",
"mikey179/vfsstream": "^1.6",
"phpunit/phpunit": "^9",
"dms/phpunit-arraysubset-asserts": "^0.3.1",
"friendsofphp/php-cs-fixer": "^3.46"
"mikey179/vfsstream": "^1.6",
"mockery/mockery": "^1.3",
"php-mock/php-mock-mockery": "^1.5",
"php-mock/php-mock-phpunit": "^2.10",
"phpmd/phpmd": "^2.15",
"phpstan/phpstan": "^2.0",
"phpunit/phpunit": "^9"
},
"scripts": {
"test": "phpunit",
"test:unit": "phpunit -c tests/phpunit.xml --testsuite unit",
"phpmd": "phpmd src/ text .phpmd-ruleset.xml --color --cache",
"phpstan": "phpstan analyze --memory-limit 1024M --configuration .phpstan.neon",
"phpstan-addons": "phpstan analyze --memory-limit 1024M --configuration .phpstan-addons.neon",
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './view/asset/*' -print0 | xargs -0 -n1 php -l",
"docker:translate": "docker run --rm -v $PWD:/data -w /data friendicaci/transifex bin/run_xgettext.sh",
"lang:recreate": "bin/run_xgettext.sh",
"cs:install": "@composer install --working-dir=bin/dev/php-cs-fixer",
"cs:check": [
"@cs:install",
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff"
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer check --diff"
],
"cs:fix": [
"@cs:install",
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix"
],
"cs:check-v3": "vendor/bin/php-cs-fixer check --diff",
"cs:fix-v3": "vendor/bin/php-cs-fixer fix"
"cs:fix-develop": "TARGET_BRANCH=develop COMMAND=fix bin/dev/fix-codestyle.sh",
"db:update-structure": "bin/console.php dbstructure dumpsql > database.sql",
"install:prod": "@composer install -o --no-dev"
}
}

3717
composer.lock generated

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -341,13 +341,13 @@ function samplestorage_storage_uninstall()
DI::storageManager()->unregister(SampleStorageBackend::class);
}
function samplestorage_storage_instance(App $a, array &$data)
function samplestorage_storage_instance(AppHelper $appHelper, array &$data)
{
$config = new SampleStorageBackendConfig(DI::l10n(), DI::config());
$data['storage'] = new SampleStorageBackendConfig($config->getFileName());
}
function samplestorage_storage_config(App $a, array &$data)
function samplestorage_storage_config(AppHelper $appHelper, array &$data)
{
$data['storage_config'] = new SampleStorageBackendConfig(DI::l10n(), DI::config());
}

View file

@ -604,7 +604,7 @@ Hook data:
### follow
Called before adding a new contact for a user to handle non-native network remote contact (like Twitter).
Called before adding a new contact for a user to handle non-native network remote contact (like Bluesky).
Hook data:
@ -613,7 +613,7 @@ Hook data:
### unfollow
Called when unfollowing a remote contact on a non-native network (like Twitter)
Called when unfollowing a remote contact on a non-native network (like Bluesky)
Hook data:
- **contact** (input): the target public contact (uid = 0) array.
@ -622,7 +622,7 @@ Hook data:
### revoke_follow
Called when making a remote contact on a non-native network (like Twitter) unfollow you.
Called when making a remote contact on a non-native network (like Bluesky) unfollow you.
Hook data:
- **contact** (input): the target public contact (uid = 0) array.
@ -631,7 +631,7 @@ Hook data:
### block
Called when blocking a remote contact on a non-native network (like Twitter).
Called when blocking a remote contact on a non-native network (like Bluesky).
Hook data:
- **contact** (input): the remote contact (uid = 0) array.
@ -640,7 +640,7 @@ Hook data:
### unblock
Called when unblocking a remote contact on a non-native network (like Twitter).
Called when unblocking a remote contact on a non-native network (like Bluesky).
Hook data:
- **contact** (input): the remote contact (uid = 0) array.
@ -850,10 +850,6 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
Hook::callAll('register_account', $uid);
Hook::callAll('remove_user', $user);
### src/Module/Notifications/Ping.php
Hook::callAll('network_ping', $arr);
### src/Module/PermissionTooltip.php
Hook::callAll('lockview_content', $item);
@ -880,7 +876,7 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
### src/Content/ContactBlock.php
Hook::callAll('contact_block_end', $arr);
Hook::callAll('contact_block_end', $text);
### src/Content/Text/BBCode.php

View file

@ -23,7 +23,7 @@ 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 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.
* Discover: Posts from contacts you don't follow, but that might be of interest for you to follow. In detail, it consists of:
* Posts from people you don't follow but you interact with on a more than average level.
@ -50,9 +50,9 @@ Each channel is defined by these values:
* 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.
* Exclude Tags: Comma separated list of tags. If a post contain any of these tags, then it will not be part of this 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.
* 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 attached media.
Additional keywords for the full text search
---
@ -61,8 +61,8 @@ Additionally to the search for content, there are keywords that can be used in t
Alternatives are presented with "|".
* 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 "group:nickname" or "group:nickname@domain.tld" to search for group post of the given group.
* to - Use "to:nickname" or "to:nickname@domain.tld" to search for posts with the given contact as receiver.
* group - Use "group:nickname" or "group:nickname@domain.tld" to search for posts of the given group.
* application | relay - Use "application:nickname" or "application:nickname@domain.tld" to search for posts that had been reshared by the given relay application.
* 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).
@ -84,7 +84,6 @@ Alternatives are presented with "|".
* network:dspr | network:diaspora - 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 | network:ostatus - The OStatus protocol is mainly used by old GNU Social installations.
* network:dscs | network:discourse - Posts that are received by the Discourse connector.
* network:tmbl | network:tumblr - Posts that are received by the Tumblr connector.
* network:bsky | network:bluesky - Posts that are received by the Bluesky connector.
@ -95,5 +94,5 @@ Alternatives are presented with "|".
* visibility:private
* language | lang - Use "language:code" to search for posts with the given language in the [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) format.
Remember that you can combine these kerywords.
Remember that you can combine these keywords.
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"

View file

@ -95,14 +95,6 @@ However we take privacy seriously and don't behave like some networks that __pre
Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know.
Be aware that this could include some of your friends on other networks.
This may produce undesired results when posting a long status message to (for instance) Twitter.
When Friendica sends a post to these networks which exceeds the service length limit, we truncate it and provide a link to the original.
The original is a link back to your Friendica profile.
As Friendica cannot prove who they are, it may not be possible for these people to view your post in full.
For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full.
You can do so by including the BBCode tag *abstract* in your posting.
Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with GNU Social members.
These networks communicate with others via public protocols that are not authenticated.
In order to view your posts, these networks have to access them as an "unknown web visitor".

View file

@ -156,16 +156,6 @@ $a->config['register_policy'] = REGISTER_CLOSED;
'config' => [
'register_policy' => \Friendica\Module\Register::CLOSED,
],
</pre></td>
</tr>
<tr>
<td><pre>
$a->path = "value";
</pre></td>
<td><pre>
'system' => [
'urlpath' => 'value',
],
</pre></td>
</tr>
<tr>

Some files were not shown because too many files have changed in this diff Show more