Compare commits

...

888 Commits

Author SHA1 Message Date
Hypolite Petovan 38b75b6529 Merge pull request 'Blockbot: Reworked user agent parsing' (#1500) from heluecht/friendica-addons:blockbot-2 into develop
Reviewed-on: #1500
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-04 15:09:55 +02:00
Michael 67b464cc47 Blockbot: Reworked user agent parsing 2024-05-04 01:23:32 +00:00
Hypolite Petovan 20f2f12871 Merge pull request 'Bluesky: Fix error for missing handles' (#1502) from heluecht/friendica-addons:bluesky-error into develop
Reviewed-on: #1502
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-04 03:06:27 +02:00
Michael 85d254f2f8 Bluesky: Fix error for missing handles 2024-05-04 03:06:27 +02:00
Hypolite Petovan a4598a2427 Merge pull request 'Bluesky: Fixes "bluesky_get_did(): Argument #1 ($handle) must be of type string, null given"' (#1501) from heluecht/friendica-addons:bluesky-error into develop
Reviewed-on: #1501
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-03 17:00:21 +02:00
Michael 6c76139ce1 Bluesky: Fixes "bluesky_get_did(): Argument #1 ($handle) must be of type string, null given" 2024-05-03 02:58:45 +00:00
Hypolite Petovan 8e81330f21 Merge pull request 'Bluesky: Improved fetching of the user DID' (#1499) from heluecht/friendica-addons:bluesky-did into develop
Reviewed-on: #1499
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-01 03:07:01 +02:00
Michael b9d0cece0a Bluesky: Improved fetching of the user DID 2024-04-28 10:36:47 +00:00
Tobias Diekershoff d4abc9bac8 Merge pull request 'Issue 13812: Public groups with manual request approval' (#1496) from heluecht/friendica-addons:issue-13812 into develop
Reviewed-on: #1496
2024-04-16 07:59:08 +02:00
Michael dc7a8adf29 Issue 13812: Public groups with manual request approval 2024-04-16 07:59:08 +02:00
Tobias Diekershoff 739041b74f Merge pull request 'Proxify functionality is removed' (#1495) from heluecht/friendica-addons:noproxy into develop
Reviewed-on: #1495
2024-04-16 07:58:12 +02:00
Michael 9c6a86ffaa Proxify functionality is removed 2024-04-16 05:05:53 +00:00
Hypolite Petovan 38466415b3 Merge pull request '[invidious] Now replaces YouTube links without a leading "www."' (#1494) from loma-one/friendica-addons:develop into develop
Reviewed-on: #1494
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-04-15 07:12:31 +02:00
loma-one 3bf547ee6e invidious/invidious.php aktualisiert
Note taken from @MrPetovan
2024-04-15 01:12:06 -04:00
loma-one 9627e95b19 invidious/invidious.php aktualisiert
Now intercepts YouTube links without a leading "www".
2024-04-15 01:08:29 -04:00
Hypolite Petovan aea944c8b5 Merge pull request 'Bluesky: Added support for sensitive posts' (#1492) from heluecht/friendica-addons:sensitive into develop
Reviewed-on: #1492
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-26 17:12:21 +01:00
Michael 340f5e627c Bluesky: Added support for sensitive posts 2024-03-23 21:05:54 +00:00
Hypolite Petovan 9153ca05fd Merge pull request '[Hotfix] Fix REPO_URL for woodpecker' (#1491) from nupplaPhil/friendica-addons:bug/stable_hf into develop
Reviewed-on: #1491
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-22 16:30:56 +01:00
Philipp Holzer 3bdbcd3b02
[Hotfix] Fix REPO_URL for woodpecker 2024-03-22 16:23:20 +01:00
Hypolite Petovan b4eee553d1 Merge pull request 'Bluesky: Support Restrictions / Updated Friendica handle description' (#1489) from heluecht/friendica-addons:restrictions into develop
Reviewed-on: #1489
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-22 14:14:03 +01:00
Michael 04ce1fd2b4 Bluesky: Support Restrictions / Updated Friendica handle description 2024-03-22 05:32:17 +00:00
heluecht 569931986d Merge pull request '[various] Update Composer dependencies ahead of release' (#1487) from MrPetovan/friendica-addons:task/composer into 2024.03-rc
Reviewed-on: #1487
2024-03-20 10:16:50 +01:00
Hypolite Petovan 0a69c66d09 [securemail] Update Composer dependency ahead of release
- Updating phpseclib/phpseclib (3.0.19 => 3.0.37)
2024-03-19 23:11:09 -04:00
Hypolite Petovan 7bff983d21 [saml] Update Composer dependency ahead of release
- Updating onelogin/php-saml (4.0.0 => 4.1.0)
2024-03-19 23:10:10 -04:00
Hypolite Petovan d910502a17 [s3_storage] Update Composer dependency ahead of release
- Updating akeeba/s3 (2.3.1 => 2.3.2)
2024-03-19 23:10:09 -04:00
Hypolite Petovan c6b2ed96d7 [phpmailer] Update Composer dependency ahead of release
- Updating phpmailer/phpmailer (v6.5.0 => v6.9.1)
2024-03-19 23:10:09 -04:00
Hypolite Petovan a020ac4309 [monolog] Update Composer dependencies ahead of release
- Updating monolog/monolog (2.9.1 => 2.9.2)
2024-03-19 23:10:09 -04:00
Hypolite Petovan d838fc6421 [blockbot] Update Composer dependency ahead of release
- Updating jaybizzle/crawler-detect (v1.2.80 => v1.2.116)
2024-03-19 23:10:09 -04:00
Hypolite Petovan b0ee9fdf2a [advancedcontentfilter] Update Composer dependencies ahead of release
- Removing symfony/polyfill-apcu (v1.28.0)
- Removing psr/simple-cache (1.0.1)
- Updating psr/http-message (1.1 => 2.0)
- Downgrading psr/container (2.0.2 => 1.1.2)
- Updating slim/slim (4.12.0 => 4.13.0)
- Installing symfony/polyfill-php80 (v1.29.0)
- Installing symfony/var-exporter (v5.4.35)
- Installing symfony/deprecation-contracts (v2.5.2)
- Installing symfony/service-contracts (v2.5.2)
- Installing symfony/polyfill-php73 (v1.29.0)
- Installing symfony/cache-contracts (v2.5.2)
- Updating symfony/cache (v3.4.47 => v4.4.48)
2024-03-19 23:10:07 -04:00
Hypolite Petovan 46c65b79be [advancedcontentfilter] Improve error handling
- Add Logger to Slim application to log to Friendica log file
- Show more specific error message when rule syntax check fails
- Align editorconfig with Composer style
- Add minimum PHP version to composer.json
2024-03-19 22:57:32 -04:00
Hypolite Petovan 11cc359434 Merge pull request 'Updated URL Replace addon' (#1483) from toddy/friendica-addons:2024.03-rc into 2024.03-rc
Reviewed-on: #1483
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-19 18:00:45 +01:00
Hypolite Petovan 872a438dcf [nitter] Drop support for the addon
- Please use the URL replace addon instead
2024-03-19 17:57:40 +01:00
Hypolite Petovan da8681c8c4 [invidious] Drop support for the addon
- Please use the URL replace addon instead
2024-03-19 17:57:40 +01:00
Hypolite Petovan 67c44792fd [url_replace] Simplify config setting conditions
- Add default values for config values in url_replace_addon_admin()
- Capitalize brand names
2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer cfbbeaac62 Use invidio.us as default 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 32f698ce10 Only show small info about replacements if the original has changed 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer a110b2f6c1 Reformat code to apply standards 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer fc33555cd6 Remove configuration value if no server URL is provided 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer e24e3f758a Fix formatting 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 127ab370fc Update message catalog 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 890bc3712f Use constants for the default servers 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 2cff751b12 Increment version 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 89134542b4 Update message catalog 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 453772e393 Remove now unnecessary variable 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 0bcf2d7c89 Reformat code, no content changes 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer c6daf2381c Enable individual replacement preferences 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 51797d975b Update README 2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer a40bd7009b Add proxigram for instagram redirection.
Based on an idea and patch from loma-one. Thanks!
2024-03-19 17:57:40 +01:00
Dr. Tobias Quathamer 1bcd23f684 Simplify providing a default empty array 2024-03-19 17:57:40 +01:00
Hypolite Petovan f3bddaf7d6 Merge pull request 'Blockbot: More agents added' (#1486) from heluecht/friendica-addons:blockbot-agents into 2024.03-rc
Reviewed-on: #1486
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-16 09:06:25 +01:00
Michael 4a14bc47ee Blockbot: More agents added 2024-03-16 09:06:25 +01:00
Hypolite Petovan 09b3f01558 Merge pull request '[CI] Add PHP 8.3 and upgrade CI images' (#1485) from nupplaPhil/friendica-addons:feat/CI_php83 into 2024.03-rc
Reviewed-on: #1485
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-15 23:19:15 +01:00
Philipp Holzer e1f27d88b7
Fixup :) 2024-03-15 23:15:42 +01:00
Philipp Holzer 57c4735ad6
Use PHP 8.2 for other pipelines 2024-03-15 23:08:52 +01:00
Philipp Holzer 372a850103
Use PHP 8.2 for codecoverage 2024-03-15 23:06:13 +01:00
Philipp Holzer 7e890124a8
Update PHP 8.1 and PHP 8.2 CI image 2024-03-15 23:03:44 +01:00
Philipp Holzer 904bf11e54
[CI] Add PHP 8.3 2024-03-15 22:55:48 +01:00
Tobias Diekershoff 1af97e5c9e Merge pull request 'Blockbot: More agents added' (#1484) from heluecht/friendica-addons:blockbots into 2024.03-rc
Reviewed-on: #1484
2024-03-14 07:30:29 +01:00
Michael 02a6fdd9a2 Blockbot: More agents added 2024-03-14 05:19:54 +00:00
Tobias Diekershoff d11efc108c Merge pull request 'Bluesky: fix the fetching of media in quoted posts' (#1481) from heluecht/friendica-addons:bluesky-media into 2024.03-rc
Reviewed-on: #1481
2024-03-10 15:02:28 +01:00
Michael d5dfa8028c Bluesky: fix the fetching of media in quoted posts 2024-03-10 15:02:28 +01:00
Tobias Diekershoff 3da448b01f Merge pull request 'Tumblr: Handle quote shares' (#1480) from heluecht/friendica-addons:issue-13972 into 2024.03-rc
Reviewed-on: #1480
2024-03-10 15:01:33 +01:00
Michael 0fc8285f87 Tumblr: Handle quote shares 2024-03-10 15:01:33 +01:00
Tobias Diekershoff 167b7f9466 Merge pull request 'Blockbot: New user agents added' (#1482) from heluecht/friendica-addons:blockbot-forte into 2024.03-rc
Reviewed-on: #1482
2024-03-10 14:59:56 +01:00
Michael ef7548f5bc Blockbot: New user agents added 2024-03-10 06:46:41 +00:00
Tobias Diekershoff c9923e47de Merge pull request '[url_replace] Add support for empty config value' (#1478) from MrPetovan/friendica-addons:bug/13968-url_replace-fatal into 2024.03-rc
Reviewed-on: #1478
2024-03-07 19:52:53 +01:00
Hypolite Petovan 6a9287dc6f [url_replace] Add support for empty config value 2024-03-07 07:22:41 -05:00
Hypolite Petovan eeb783d71d [url_replace] Normalize formatting 2024-03-07 07:21:56 -05:00
Tobias Diekershoff 0812886b61 Merge pull request 'Blockbot: HTTP library section added' (#1477) from heluecht/friendica-addons:blockbot-forte into 2024.03-rc
Reviewed-on: #1477
2024-03-06 08:38:32 +01:00
Michael 09ae5cfaff More agents added 2024-03-06 08:38:32 +01:00
Michael 0751b2ac16 Blockbot: HTTP library section added 2024-03-06 08:38:32 +01:00
Tobias Diekershoff ed641e6ccb Merge pull request 'Blockbot: Misskey-Crawler added' (#1476) from heluecht/friendica-addons:blockbot into 2024.03-rc
Reviewed-on: #1476
2024-03-04 16:32:29 +01:00
Michael a05e429470 Blockbot: Misskey-Crawler added 2024-03-04 15:27:44 +00:00
Tobias Diekershoff 6e355979e8 Merge pull request '[advancedcontentfilter] Stop using advancedcontentfilter_get_rules() outside of router context' (#1475) from MrPetovan/friendica-addons:bug/13950-advancedcontentfilter-wsod into 2024.03-rc
Reviewed-on: #1475
2024-03-04 07:23:51 +01:00
Hypolite Petovan 3c0f4e3926 [advancedcontentfilter] Stop using advancedcontentfilter_get_rules() outside of router context
- This used to work with Slim v2, but the new requirements for module functions broke it
2024-03-04 01:16:49 -05:00
Hypolite Petovan affa8829d5 Merge pull request 'Blockbot: You can now allow social media agents' (#1474) from heluecht/friendica-addons:blockbot into 2024.03-rc
Reviewed-on: #1474
2024-03-04 07:00:49 +01:00
Michael b6d706822a Blockbot: You can now allow social media agents 2024-03-04 05:37:04 +00:00
Hypolite Petovan c49b61be8b Merge pull request 'Pnut: Client Id/Secret can be set by admins' (#1473) from heluecht/friendica-addons:pnut into 2024.03-rc
Reviewed-on: #1473
2024-03-03 18:29:53 +01:00
Michael 90ec1bc838 Newlines added 2024-03-03 18:29:34 +01:00
Michael dcafad573e Pnut: Client Id/Secret can be set by admins 2024-03-03 18:29:34 +01:00
heluecht dc709c699a Merge pull request 'mailstream: do not mail dislike messages' (#1472) from mexon/friendica-addons:mailstream-dislike into 2024.03-rc
Reviewed-on: #1472
2024-03-03 13:05:27 +01:00
Matthew Exon 58cb933779 do not mail dislike messages 2024-03-03 13:05:27 +01:00
Tobias Diekershoff 53be7d9423 Merge pull request 'Bluesky: Handle media links and shared posts' (#1471) from heluecht/friendica-addons:bluesky-media into 2024.03-rc
Reviewed-on: #1471
2024-03-02 15:38:28 +01:00
Michael 2ee78d2f0b Bluesky: Handle media links and shared posts 2024-03-02 13:32:11 +00:00
Tobias Diekershoff d19b9ba9e3 Merge pull request 'Bluesky: Enabled support for Friendica handles' (#1469) from heluecht/friendica-addons:bluesky-friendica-handles into 2024.03-rc
Reviewed-on: #1469
2024-03-01 07:45:35 +01:00
Michael 5f7233fd20 Bluesky: Enabled support for Friendica handles 2024-03-01 07:45:35 +01:00
Tobias Diekershoff 9168f3d167 Merge pull request 'Bluesky: fix problems with links and hashtags' (#1470) from heluecht/friendica-addons:bluesky-tags into 2024.03-rc
Reviewed-on: #1470
2024-03-01 07:44:23 +01:00
Michael 7580054394 Bluesky: fix problems with links and hashtags 2024-03-01 05:53:42 +00:00
Hypolite Petovan bdc27184fc Merge pull request 'Tumblr: Fixed token exchange' (#1468) from heluecht/friendica-addons:Tumblr--Fixed-token-exchange into 2024.03-rc
Reviewed-on: #1468
2024-02-27 01:34:22 +01:00
Michael 346e22c5f5 Tumblr: Fixed token exchange 2024-02-27 01:34:22 +01:00
Hypolite Petovan de784bdc95 Merge pull request 'Bluesky: Several improvements and fixes' (#1467) from heluecht/friendica-addons:bluesky into 2024.03-rc
Reviewed-on: #1467
2024-02-27 01:33:44 +01:00
Michael 6d578d1495 Changed post reason 2024-02-27 01:33:44 +01:00
Michael bcef83e148 Set post reasons 2024-02-27 01:33:44 +01:00
Michael 2b5f8e9c82 Fix coding standards 2024-02-27 01:33:44 +01:00
Michael e4bb463b5b Bluesky: Several improvements and fixes 2024-02-27 01:33:44 +01:00
Tobias Diekershoff 52f7910f4c Merge pull request 'Pnut: add connector for pnut.io' (#1466) from spacenerdmo/friendica-addons:pnut into 2024.03-rc
Reviewed-on: #1466
2024-02-21 18:22:44 +01:00
Morgan McMillian 9208fd46a4 Pnut: add connector for pnut.io 2024-02-20 17:53:21 -08:00
Tobias Diekershoff 810dc02dd4 Merge pull request 'Bluesky/Twitter: New parameter added for rhe picture creation' (#1465) from heluecht/friendica-addons:images into 2024.03-rc
Reviewed-on: #1465
2024-02-17 07:47:00 +01:00
Michael f678468d42 Bluesky/Twitter: New parameter added for rhe picture creation 2024-02-16 02:29:12 +00:00
Hypolite Petovan 52ea77eabb Merge pull request 'Markdown: Avoid problems with [*] BBCode element' (#1463) from heluecht/friendica-addons:bbcode-list into develop
Reviewed-on: #1463
2024-02-11 04:17:28 +01:00
Michael 84fc5ba922 Markdown: Avoid problems with [*] BBCode element 2024-02-11 04:17:28 +01:00
Hypolite Petovan d5c7a49db2 Merge pull request 'remove .php from nomserver in config to fix created links' (#1462) from haheute/friendica-addons:openstreetmap into develop
Reviewed-on: #1462
2024-02-02 17:02:14 +01:00
Hannes Heute c9f985d842 remove .php from openstreetmap server in config to fix created links 2024-02-02 14:08:06 +01:00
Hypolite Petovan 2452b05cc5 Merge pull request 'Tesseract: Improved detection' (#1459) from heluecht/friendica-addons:tesseract-languages into develop
Reviewed-on: #1459
2024-01-22 19:14:54 +01:00
Michael 8b35c9fddb Tesseract: Improved detection 2024-01-22 19:14:54 +01:00
heluecht 446fd9b17b Merge pull request '[advancedcontentfilter] Migrate Slim to version 4 to avoid PHP 8.2 deprecation error' (#1455) from MrPetovan/friendica-addons:bug/13822-slim-php-8 into develop
Reviewed-on: #1455
2024-01-22 19:04:23 +01:00
Hypolite Petovan a30e9b788c [advancedcontentfilter] Migrate Slim to version 4 to avoid PHP 8.2 deprecation error
- Fix https://github.com/friendica/friendica/issues/13822
2024-01-22 19:04:23 +01:00
Hypolite Petovan b05a95cc45 Merge pull request 'Twitter: Fix error after posting' (#1458) from heluecht/friendica-addons:twitter-fix into develop
Reviewed-on: #1458
2024-01-22 15:51:38 +01:00
Michael c28af61873 Twitter: Fix error after posting 2024-01-21 21:24:08 +00:00
Hypolite Petovan 2b391eb368 Merge pull request 'New addon "tesseract" for OCR' (#1457) from heluecht/friendica-addons:tesseract into develop
Reviewed-on: #1457
2024-01-15 23:58:41 +01:00
Michael 07a7a87c37 README.md created 2024-01-15 23:58:41 +01:00
Michael 4dd903b473 New addon "tesseract" for OCR 2024-01-15 23:58:41 +01:00
heluecht a179bab747 Merge pull request '[various] Rename ICanHandleHttpResponses->getBody to getBodyString' (#1456) from MrPetovan/friendica-addons:bug/deprecated into develop
Reviewed-on: #1456
2024-01-13 21:38:31 +01:00
Hypolite Petovan 13fd713b66 [various] Rename ICanHandleHttpResponses->getBody to getBodyString
- Depends on https://github.com/friendica/friendica/pull/13826
2024-01-12 01:16:01 -05:00
Hypolite Petovan 4dedd24320 Merge pull request 'Fix PHP warning and use quotes' (#1454) from toddy/friendica-addons:develop into develop
Reviewed-on: #1454
2024-01-08 13:24:46 +01:00
Dr. Tobias Quathamer bddb7f4d49 Fix PHP warning and use quotes 2024-01-08 10:36:21 +01:00
Tobias Diekershoff 82073db292 Merge pull request 'Initial commit of url_replace addon.' (#1453) from toddy/friendica-addons:develop into develop
Reviewed-on: #1453
2024-01-05 09:56:46 +01:00
Tobias Quathamer a26e90b202 Initial commit of url_replace addon.
This closes https://github.com/friendica/friendica/issues/13220
2024-01-05 00:21:39 +01:00
Hypolite Petovan b87588e371 Merge pull request 'Tumblr/Bluesky: Avoid problems on first fetch' (#1452) from heluecht/friendica-addons:first-fetch into 2023.09-rc
Reviewed-on: #1452
2023-12-21 13:45:24 +01:00
Michael 96c70489f5 Tumblr/Bluesky: Avoid problems on first fetch 2023-12-21 05:23:38 +00:00
Hypolite Petovan 77ad52d1f4 Merge pull request 'Bluesky/Tumblr: Set "received" to "created" if fetched after previous poll' (#1451) from heluecht/friendica-addons:received into 2023.09-rc
Reviewed-on: #1451
2023-12-21 05:21:43 +01:00
Michael 96a354bc65 Bluesky/Tumblr: Set "received" to "created" if fetched after previous poll 2023-12-20 20:46:24 +00:00
heluecht f32c90dc9f Merge pull request '[s3_storage] Bump version of akeeba/s3 to version 2.3.1' (#1450) from MrPetovan/friendica-addons:bug/deprecated into 2023.09-rc
Reviewed-on: #1450
2023-12-20 14:17:01 +01:00
Hypolite Petovan 3e74af9775 [s3_storage] Bump version of akeeba/s3 to version 2.3.1
- Address https://github.com/friendica/friendica/issues/12011#issuecomment-1854681792
2023-12-18 21:28:16 -05:00
Hypolite Petovan 9daa11eb10 [woodpecker] Remove PHP 7.3 PHPUnit instance
- Friendica now supports at least PHP 7.4
2023-12-18 21:27:36 -05:00
Hypolite Petovan 011edb711c Merge pull request 'Invidious: The addon is now user definable' (#1449) from heluecht/friendica-addons:invidious-user into 2023.09-rc
Reviewed-on: #1449
2023-12-18 19:33:55 +01:00
Michael cabdd924d0 Fix white spaces 2023-12-18 17:51:34 +00:00
Michael 8ba44cf5c6 Invidious: The addon is now user definable 2023-12-18 17:47:19 +00:00
heluecht dad3d477d3 Merge pull request 'translation updates' (#1448) from tobias/friendica-addons:20231216-lng into 2023.09-rc
Reviewed-on: #1448
2023-12-16 15:57:57 +01:00
Tobias Diekershoff 3a063f999d translation updates 2023-12-16 08:59:07 +01:00
Hypolite Petovan fa01357445 Merge pull request 'Tumblr: Improved error handling whe fetching blog information' (#1447) from heluecht/friendica-addons:tumblr-warning into 2023.09-rc
Reviewed-on: #1447
2023-12-11 14:21:12 +01:00
Michael a41a676bfb Tumblr: Improved error handling whe fetching blog information 2023-12-11 14:21:12 +01:00
Hypolite Petovan 3b518462ab Merge pull request 'This addon will replace "youtube.com" with the chosen Invidious instance' (#1441) from loma-one/friendica-addons:develop into 2023.09-rc
Reviewed-on: #1441
2023-12-08 20:50:22 +01:00
loma-one d53ad98af2 invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
loma-one 372e75a91c invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
loma-one f45f6ba992 https://youtu.be Link
Many thanks for the hint. With a small change '/watch?v=' the link to https://youtu.be now also works
2023-12-08 20:50:22 +01:00
loma-one 26983977c4 This addon will replace "youtube.com" with the chosen Invidious instance
Suggestion from @heluecht for combined URLs adopted
2023-12-08 20:50:22 +01:00
loma-one 90d897f4fa This addon will replace "youtube.com" with the chosen Invidious instance
URL combine
2023-12-08 20:50:22 +01:00
loma-one 668ea972cc invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
loma-one dc2d00b6c6 invidious/lang/C/messages.po aktualisiert 2023-12-08 20:50:22 +01:00
loma-one 0f65c23490 invidious/invidious.php aktualisiert
Redirects from youtu.be do not work reliably. Therefore this one has been removed.
2023-12-08 20:50:22 +01:00
loma-one c98caaf417 Dateien nach "invidious" hochladen 2023-12-08 20:50:22 +01:00
loma-one f46980c736 Dateien nach "invidious/lang/C" hochladen 2023-12-08 20:50:22 +01:00
loma-one ebf5ff1276 Dateien nach "invidious/templates" hochladen 2023-12-08 20:50:22 +01:00
loma-one 9d932e6fa0 Dateien nach "invidious" hochladen
Replaces links to youtube.com to an invidious instance in all displays of postings on a node.
2023-12-08 20:50:22 +01:00
loma-one 46fdcc1c0e invidious gelöscht 2023-12-08 20:50:22 +01:00
loma-one eadbcc069f invidious hinzugefügt 2023-12-08 20:50:22 +01:00
loma-one 2c2a813324 [pageheader] Improve visibility
Removed commented out code from your pull request
2023-12-08 20:50:22 +01:00
loma-one 9315b185e8 pageheader/pageheader.css aktualisiert 2023-12-08 20:50:22 +01:00
loma-one d685663ac0 Coloured box added 2023-12-08 20:50:22 +01:00
loma-one 727eca1ce7 Coloured box added
Among other things, I use the page header to inform about current maintenance work or other upcoming work. The information should therefore be provided within an appropriate framework. With a little CSS, the page header gets a frame in green. The font was adjusted to an appropriate size.
2023-12-08 20:50:22 +01:00
Hypolite Petovan 3b5e8901dc Merge pull request 'Bluesky: remove @ and spaces from the handle' (#1444) from heluecht/friendica-addons:bluesky-trim-handle into 2023.09-rc
Reviewed-on: #1444
2023-12-07 13:07:42 +01:00
Michael 50d8d44489 Bluesky: remove @ and spaces from the handle 2023-12-07 12:03:53 +00:00
Hypolite Petovan b6d575c37f Merge pull request 'Bluesky: Improved status on the connector page' (#1443) from heluecht/friendica-addons:bluesky-status into 2023.09-rc
Reviewed-on: #1443
2023-12-06 15:31:04 +01:00
Michael 397282cbb3 Bluesky: Improved on the connector page 2023-12-06 06:31:52 +00:00
Hypolite Petovan 2c6add7aa1 Merge pull request 'Bluesky: Fix adding a new account' (#1442) from heluecht/friendica-addons:bluesky-auth into 2023.09-rc
Reviewed-on: #1442
2023-12-04 21:31:59 +01:00
Michael 22bf23b833 Bluesky: Fix adding a new account 2023-12-04 20:29:31 +00:00
Hypolite Petovan ed8c5945da Merge pull request 'Bluesky: Provide the correct user id while fetching content' (#1439) from heluecht/friendica-addons:bluesky-notices into 2023.09-rc
Reviewed-on: #1439
2023-11-25 23:06:40 +01:00
Michael 14fd900628 Store hash tags 2023-11-25 22:00:45 +00:00
Michael 48cde643f6 Improved logging message 2023-11-25 19:02:10 +00:00
Michael e62f6a9586 Bluesky: Provide the correct user id while fetching content 2023-11-25 18:57:03 +00:00
Hypolite Petovan c2dfda5d72 Merge pull request 'Bluesky: Tags are now supported' (#1438) from heluecht/friendica-addons:bluesky-tag into 2023.09-rc
Reviewed-on: #1438
2023-11-21 16:50:06 +01:00
Michael 9595760800 Bluesky: Tags are now supported 2023-11-20 21:07:09 +00:00
Hypolite Petovan 1c91ee200e Merge pull request 'Bluesky: Support personal data servers' (#1437) from heluecht/friendica-addons:bluesky-pds into 2023.09-rc
Reviewed-on: #1437
2023-11-20 00:48:07 +01:00
Michael 00e30b5c2b Bluesky: Support personal data servers 2023-11-19 18:55:05 +00:00
heluecht 5f5c53ab49 Merge pull request '[advancedcontentfilter] Fix obsolete reference to Repository\PostMedia->splitAttachments' (#1436) from MrPetovan/friendica-addons:bug/1434-advancedcontentfilter-splitAttachments into 2023.09-rc
Reviewed-on: #1436
2023-11-15 20:05:31 +01:00
Benjamin Lorteau 6a46d05bca [advancedcontentfilter] Fix obsolete reference to Repository\PostMedia->splitAttachments 2023-11-14 16:25:06 -05:00
Hypolite Petovan 8d3d0f267b Merge pull request 'Bluesky: Support for transmitted languages' (#1435) from heluecht/friendica-addons:languages into 2023.09-rc
Reviewed-on: #1435
2023-11-13 01:15:45 +01:00
Michael 66fdd31915 Bluesky: Support for transmitted languages 2023-11-11 05:30:07 +00:00
Hypolite Petovan 607cc9238c Merge pull request 'CLD2: Use ISO-639-1 for the language detection' (#1433) from heluecht/friendica-addons:ISO-639-1 into 2023.09-rc
Reviewed-on: #1433
2023-11-03 19:07:04 +01:00
Michael 2a782b512e CLD2: Use ISO-639-1 for the language detection 2023-11-02 22:54:19 +00:00
Hypolite Petovan a75c9ba373 Merge pull request 'Bluesky: Fix warnings' (#1432) from heluecht/friendica-addons:warnings into 2023.09-rc
Reviewed-on: #1432
2023-10-29 16:11:19 +01:00
Michael 77765ff6ed Bluesky: Fix warnings 2023-10-29 16:11:19 +01:00
heluecht 9c53c0c8d1 Merge pull request '[smileybutton] Add explicit conversion from float to int' (#1431) from warnings into 2023.09-rc
Reviewed-on: #1431
2023-10-29 12:40:31 +01:00
Hypolite Petovan 43c46ae6d9 [smileybutton] Add explicit conversion from float to int
Address part of https://github.com/friendica/friendica/issues/13157#issuecomment-1771572442
2023-10-29 12:40:31 +01:00
Hypolite Petovan c7e06bfa53 Merge pull request 'Langfilter: Use two letter code for the language / Bluesky: Remove callstack' (#1430) from heluecht/friendica-addons:callstack-language into 2023.09-rc
Reviewed-on: #1430
2023-10-18 22:30:52 +02:00
Michael 6948a15f1c Langfilter: Use two letter code for the language / Bluesky: Remove callstack 2023-10-18 22:30:52 +02:00
Hypolite Petovan 74c56c32b0 Merge pull request 'Upgrade PHP version in CI' (#1429) from nupplaPhil/friendica-addons:feat/phpunit_upgrade into 2023.09-rc
Reviewed-on: #1429
2023-10-13 15:21:46 +02:00
Philipp Holzer 9bdaa8092e
Upgrade phpunit version in PHP-CI 2023-10-12 21:33:03 +02:00
Hypolite Petovan b11538d195 Merge pull request 'CLD: Keep the original detected language array' (#1428) from heluecht/friendica-addons:cld into 2023.09-rc
Reviewed-on: #1428
2023-10-12 13:36:58 +02:00
Michael 73c6a0ff0c CLD: Keep the original detected language array 2023-10-11 18:57:04 +00:00
Hypolite Petovan fbafa80815 Merge pull request 'CLD: New plugin for language detection via CLD2' (#1425) from heluecht/friendica-addons:cld2 into 2023.09-rc
Reviewed-on: #1425
2023-10-07 07:07:00 +02:00
Michael 92251f4a6c Updated CLD installation description 2023-10-07 07:07:00 +02:00
Michael 18266ea6ef Changed hook parameter / more languages added 2023-10-07 07:07:00 +02:00
Michael 80ce855189 Renamed hook 2023-10-07 07:07:00 +02:00
Michael 0eda161e04 Cleaned up code 2023-10-07 07:07:00 +02:00
Michael 981e6821d0 CLD: New plugin for language detection via CLD2 2023-10-07 07:07:00 +02:00
Philipp Holzer a5ed02ed23 Merge pull request '[CI/CD] Kick CI again' (#1427) from nupplaPhil/friendica-addons:2023.09-rc into 2023.09-rc
Reviewed-on: #1427
2023-10-05 22:10:33 +02:00
Philipp Holzer 7a8f8fcbd2
[CI/CD] Kick CI again 2023-10-05 21:58:35 +02:00
Philipp Holzer 30b9f73f5e
[CI/CD] Kick CI again 2023-10-05 21:57:17 +02:00
Hypolite Petovan be8d8b9c10 Merge pull request 'Bluesky: Fix some issues when fetching posts' (#1424) from heluecht/friendica-addons:bluesky-fixes into develop
Reviewed-on: #1424
2023-10-03 03:54:41 +02:00
Michael 16d99dbdfc Bluesky: Fix some issues when fetching posts 2023-10-01 04:37:11 +00:00
Hypolite Petovan 410613d7a0 Merge pull request 'Tumblr/Bluesky: Store the subscribed feed/tag' (#1416) from heluecht/friendica-addons:subscription into develop
Reviewed-on: #1416
2023-08-28 16:42:36 +02:00
Michael af31a988aa Tumblr/Bluesky: Store the subscribed feed/tag 2023-08-28 16:42:23 +02:00
heluecht 187ba8383d Merge pull request '[bluesky] Fix double dollar sign in bluesky_fetch_notifications' (#1415) from MrPetovan/friendica-addons:bug/warnings into develop
Reviewed-on: #1415
2023-08-28 06:51:12 +02:00
Hypolite Petovan c89abdb74c [bluesky] Fix double dollar sign in bluesky_fetch_notifications 2023-08-22 09:01:12 -04:00
Hypolite Petovan b76f143e60 Merge pull request 'Audon audioplayer App' (#1414) from loma-one/friendica-addons:develop into develop
Reviewed-on: #1414
2023-08-18 18:41:32 +02:00
loma-one 94a4c93368 audon/lang/C/messages.po aktualisiert 2023-08-18 18:41:32 +02:00
loma-one dfbf8d4acf audon/lang/C/messages.po hinzugefügt 2023-08-18 18:41:32 +02:00
loma-one 983d334ef5 audon/C/messages.po gelöscht 2023-08-18 18:41:32 +02:00
loma-one 2fa030aa65 audon/C/messages.po aktualisiert 2023-08-18 18:41:32 +02:00
loma-one 7ef59da623 audon/C/messages.po hinzugefügt 2023-08-18 18:41:32 +02:00
loma-one 476fdd1bb7 audon/lang/C gelöscht
Signed-off-by: loma-one <loma-one@noreply.git.friendi.ca>
2023-08-18 18:41:32 +02:00
loma-one 9786b605b6 audon/lang/C aktualisiert
now :)
2023-08-18 18:41:32 +02:00
loma-one a26c2c9758 audon/lang/C aktualisiert 2023-08-18 18:41:32 +02:00
loma-one 8ef6fafdaa audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
loma-one c93e6840fa audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
loma-one 65d8e467fe audon/templates/admin.tpl aktualisiert 2023-08-18 18:41:32 +02:00
loma-one 38460a4cff audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
loma-one db218ac4f6 audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
loma-one e391a65695 „audon/audon.php“ ändern 2023-08-18 18:41:32 +02:00
loma-one a3dc032a51 „audon/lang/C“ hinzufügen 2023-08-18 18:41:32 +02:00
loma-one 9035144e5b Dateien hochladen nach „audon/templates“ 2023-08-18 18:41:32 +02:00
loma-one 4e17f3c9db „audon/admin.tpl“ löschen 2023-08-18 18:41:32 +02:00
loma-one 630f4ab991 „audon/messages.po“ löschen 2023-08-18 18:41:32 +02:00
loma-one effa19c467 Audon Audio Chat based on the WebRTC Addon
This Addon based on webrtc. Audon is a service of realtime audio chat.
With small changes, the WebRTC addon could be adapted to Audon so that it can be loaded into an iframe. In the ifram, the Friendica handle can be connected and a room opened. Audio conversations between Friendica users are possible.
https://github.com/friendica/friendica-addons/pull/1357
2023-08-18 18:41:32 +02:00
Hypolite Petovan 6d200dd419 Merge pull request 'Twitter: Fix posting' (#1413) from heluecht/friendica-addons:resize into develop
Reviewed-on: #1413
2023-08-16 20:58:34 +02:00
Michael 340f3f41d7 Twitter: Fix posting 2023-08-16 14:58:04 -04:00
Hypolite Petovan 886638f8a5 Merge pull request 'Simplified status display' (#1412) from heluecht/friendica-addons:resize into develop
Reviewed-on: #1412
2023-08-16 12:27:28 +02:00
Michael 339c88353b Test the connection when API credential changed 2023-08-16 12:27:28 +02:00
Michael a3e24a55ec Last status is split for better readability 2023-08-16 12:27:28 +02:00
Michael 3d6748eaf7 Simplified status display 2023-08-16 12:27:28 +02:00
Hypolite Petovan fb9e6e5df6 Merge pull request 'Nluesky/Twitter: Resize picture before uploading' (#1411) from heluecht/friendica-addons:resize into develop
Reviewed-on: #1411
2023-08-15 22:38:49 +02:00
Michael 8b66b3a194 Nluesky/Twitter: Resize picture before uploading 2023-08-15 20:25:17 +00:00
Hypolite Petovan f39b25b437 Merge pull request 'Twitter: the connector now works as a posting only connector' (#1410) from heluecht/friendica-addons:twitter into develop
Reviewed-on: #1410
2023-08-10 23:51:37 +02:00
Michael 15ea39d830 Reformatted code 2023-08-10 21:36:09 +00:00
Michael 21006aec74 Resize picture before uploading 2023-08-10 21:26:10 +00:00
Michael 603c8defb1 Avoid upload problems by reducing the picture size 2023-08-10 06:46:17 +00:00
Michael e004e20352 Transmit the media type 2023-08-09 23:13:37 +00:00
Michael c0eac366fe Fix newlines 2023-08-09 20:08:32 +00:00
Michael 34f0fa7dc8 License readded 2023-08-09 20:07:29 +00:00
Michael a97b3f690c Twitter: the connector now works as a posting only connector 2023-08-09 20:01:57 +00:00
Hypolite Petovan 5d13889f2c Merge pull request '[CI] Add .phpunit' (#1408) from nupplaPhil/friendica-addons:feat/strategies into develop
Reviewed-on: #1408
2023-07-28 19:51:39 +02:00
Philipp Holzer dc55b89e02
Unify "Capability" 2023-07-26 21:44:57 +02:00
Philipp Holzer d76b6b50c3
Introduce .phpunit 2023-07-26 19:19:07 +02:00
Philipp Holzer 546841e3a2 Merge pull request '[monolog] Fix extra line' (#1407) from nupplaPhil/friendica-addons:bug/monolog into develop
Reviewed-on: #1407
2023-07-23 23:06:52 +02:00
Philipp Holzer bd405ec98a
[monolog] Fix extra line 2023-07-23 23:04:53 +02:00
Hypolite Petovan 923437e8b6 Merge pull request '[monolog] update/fix Monolog' (#1400) from nupplaPhil/friendica-addons:feat/addons into develop
Reviewed-on: #1400
2023-07-23 13:00:31 +02:00
Philipp Holzer d9c5419351 Adhere feedback
- rename hooks.config.php to strategies.config.php
- change all corresponding classes and tests
2023-07-23 13:00:31 +02:00
Philipp Holzer e315abc788 Add tests for InstanceManager and remove Decorator hook logic (avoid complex Dice logic) 2023-07-23 13:00:31 +02:00
Philipp Holzer 745f9c1e5f Fix Monolog
- Use new hook-loading
2023-07-23 13:00:31 +02:00
Tobias Diekershoff f328dc2b83 Merge pull request 'Bluesky: Fix "E_WARNING: Undefined property: stdClass::$cid"' (#1405) from heluecht/friendica-addons:bluesky-warning into develop
Reviewed-on: #1405
2023-07-22 19:04:34 +02:00
Michael 3377ef3ba3 Bluesky: Fix "E_WARNING: Undefined property: stdClass::$cid" 2023-07-22 13:38:13 +00:00
Hypolite Petovan 5d666fbd1e Merge pull request 'Use "convertForUriId" whenever possible' (#1404) from heluecht/friendica-addons:more-privacy into develop
Reviewed-on: #1404
2023-07-17 14:05:14 +02:00
Michael f4110880a1 Use "convertForUriId" whenever possible 2023-07-16 10:37:33 +00:00
Hypolite Petovan a52fa4dfb0 Merge pull request 'Bluesky: Fix for quoted posts with media' (#1403) from heluecht/friendica-addons:bluesky-quote into develop
Reviewed-on: #1403
2023-07-09 15:49:48 +02:00
Michael cf435277a7 Bluesky: Fix for quoted posts with media 2023-07-09 15:49:48 +02:00
Hypolite Petovan 61a5973937 Merge pull request 'Bluesky: don't remove hashtags upon posting' (#1402) from heluecht/friendica-addons:bluesky-tags into develop
Reviewed-on: #1402
2023-07-08 17:02:45 +02:00
Michael d80d376762 Bluesky: don't remove hashtags upon posting 2023-07-08 14:54:56 +00:00
Hypolite Petovan 463f5eb7e0 Merge pull request '[showmoredyn] fix: tweak z-index to not clash with sidebar on mobile' (#1401) from csolisr/friendica-addons:fix-showmore-dyn-css into develop
Reviewed-on: #1401
2023-07-07 17:08:50 +02:00
csolisr e91fa307d0 fix: tweak z-index to not clash with sidebar on mobile
By default, the z-index of the toggle button is above the z-index of the sidebar on mobile devices. This fix tweaks the z-index so that it remains below the sidebar while it's open.
2023-07-07 17:02:44 +02:00
Hypolite Petovan aa0d829de6 Merge pull request 'Bluesky: Tasks are now done by workers' (#1399) from heluecht/friendica-addons:bluesky-worker into develop
Reviewed-on: #1399
2023-06-19 00:29:53 +02:00
Michael 7795a53cb3 New functions to perform XRPC post/get commands 2023-06-13 20:43:51 +00:00
Michael c85b559f69 Remove unicode character 2023-06-12 22:06:31 +00:00
Michael 9f0857af1d Bluesky: Tasks are now done by workers 2023-06-11 19:24:44 +00:00
Hypolite Petovan ba1af2b73e Merge pull request 'Bluesky: Improved link transmission /thread import' (#1398) from heluecht/friendica-addons:bluesky-links into develop
Reviewed-on: #1398
2023-06-07 00:47:37 +02:00
Michael e67097e0e8 Bluesky: Improved link transmission /thread import 2023-06-07 00:47:37 +02:00
Hypolite Petovan 2183bace8a Merge pull request '[bluesky] added DE, ZH-CN translation' (#1397) from tobias/friendica-addons:20230605-lng into develop
Reviewed-on: #1397
2023-06-05 18:58:05 +02:00
Tobias Diekershoff c740573b99 [bluesky] added DE, ZH-CN translation 2023-06-05 18:58:05 +02:00
Tobias Diekershoff db4546c190 Merge pull request 'Bluesky: Pinned feeds can now be imported' (#1396) from heluecht/friendica-addons:bluesky-feeds into develop
Reviewed-on: #1396
2023-06-05 07:08:19 +02:00
Michael 2a4bfae9b3 Bluesky: Pinned feeds can now be imported 2023-06-05 04:36:50 +00:00
Hypolite Petovan aa9f0c2281 Merge pull request 'Bluesky: Import is mosty feature complete' (#1395) from heluecht/friendica-addons:bluesky into develop
Reviewed-on: #1395
2023-06-04 02:56:58 +02:00
Michael 5d614bc6d3 Bluesky: Import is mosty feature complete 2023-06-03 23:06:31 +00:00
heluecht 9557b5e000 Merge pull request 'Rename group and forum' (#1394) from MrPetovan/friendica-addons:task/13114-rename-group-forum into develop
Reviewed-on: #1394
2023-06-04 00:20:07 +02:00
Hypolite Petovan 49d308c44b [various] Rename forum to group
- Drop support for forumdirectory
- Add support for groupdirectory
2023-06-04 00:20:07 +02:00
Hypolite Petovan aa0f74832a [various] Rename group to circle
- Drop support for group_text
- Add support for circle_text
2023-06-04 00:20:07 +02:00
Tobias Diekershoff 941b8c5a14 Merge pull request '[nsfw] Rewrite string condition to avoid warning message' (#1393) from MrPetovan/friendica-addons:bug/warnings into develop
Reviewed-on: #1393
2023-05-30 07:20:35 +02:00
Hypolite Petovan 9bfb5e879d [nsfw] Rewrite string condition to avoid warning message
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1567337197
2023-05-29 19:34:01 -04:00
Hypolite Petovan 54f4a054c7 Merge pull request 'catch exception during http request' (#1392) from mexon/friendica-addons:mat/mailstream-exception into develop
Reviewed-on: #1392
2023-05-28 16:46:42 +02:00
Matthew Exon 9832fa6c45 catch exception during http request 2023-05-28 11:02:32 +02:00
Hypolite Petovan 2ce14fb2ff Merge pull request 'Deprecated Addon Blockem removed' (#1391) from andy/friendica-addons:develop into develop
Reviewed-on: #1391
2023-05-27 14:37:04 +02:00
Andy H 82c2f8e37f Deprecated Addon Blockem removed 2023-05-27 10:18:51 +07:00
Hypolite Petovan 5c45c05cdb Merge pull request 'Bluesky: Improved import and export' (#1390) from heluecht/friendica-addons:bluesky-import2 into develop
Reviewed-on: #1390
2023-05-26 23:13:31 +02:00
Michael c45c163471 Bluesly: Improved import and export 2023-05-26 20:54:00 +00:00
Hypolite Petovan cd7cec1de2 Merge pull request 'Bluesky: readme is updated' (#1389) from heluecht/friendica-addons:bluesky-import into develop
Reviewed-on: #1389
2023-05-24 13:16:29 +02:00
Michael d8fe3bd119 Merge remote-tracking branch 'upstream/develop' into bluesky-import 2023-05-24 06:11:09 +00:00
Michael e19fafa918 Updated readme 2023-05-24 06:09:25 +00:00
Tobias Diekershoff 421964b406 Merge pull request 'Bluesky: Import of remote timeline' (#1388) from heluecht/friendica-addons:bluesky-import into develop
Reviewed-on: #1388
2023-05-24 08:00:33 +02:00
Michael 6ade40efae Merge remote-tracking branch 'upstream/develop' into bluesky-import 2023-05-24 06:00:04 +00:00
Michael 435a993502 Bluesky: updated messages.po 2023-05-24 05:53:12 +00:00
Michael 16a5a895bb Bluesky import and transmission of activities is now possible 2023-05-24 05:49:26 +00:00
Hypolite Petovan f2cc0312ca Merge pull request 'Bluesky: readme is added' (#1387) from heluecht/friendica-addons:bluesky-readme into 2023.05-rc
Reviewed-on: #1387
2023-05-23 13:26:08 +02:00
heluecht e3ca7c73ce Merge pull request 'HU translation updates THX Balázs Úr' (#1386) from tobias/friendica-addons:20230523-hu into 2023.05-rc
Reviewed-on: #1386
2023-05-23 07:47:43 +02:00
Michael 654a9da297 Bluesky: readme is added 2023-05-23 05:45:18 +00:00
Michael 1fe81df15d Bluesky: Import of remote timeline 2023-05-23 05:23:13 +00:00
Tobias Diekershoff 7a1af5fb5b HU translation updates 2023-05-23 06:46:36 +02:00
Hypolite Petovan a4b91826ba Merge pull request 'Bluesky: Basic connector for Bluesky is added' (#1385) from heluecht/friendica-addons:bluesky into 2023.05-rc
Reviewed-on: #1385
2023-05-22 02:59:36 +02:00
Michael a7ea815642 Post up to 4 images 2023-05-21 20:14:20 +00:00
Michael ea6e79448d Simplify token creation 2023-05-21 19:25:57 +00:00
Michael 77813a2acd Make the host readonly 2023-05-21 18:58:05 +00:00
Michael dff48c3295 Bluesky: Basic connector for Bluesky is added 2023-05-21 18:54:02 +00:00
heluecht e91962b0b6 Merge pull request '[various] Ensure probe_detect hook functions don't set the result key with an empty array' (#1382) from MrPetovan/friendica-addons:bug/13080-probe_detect-result into develop
Reviewed-on: #1382
2023-05-06 12:24:07 +02:00
Hypolite Petovan e0778d2bdd Merge pull request 'use new style of accessing baseUrl' (#1384) from mexon/friendica-addons:mailstream-fix-3 into develop
Reviewed-on: #1384
2023-05-05 18:46:25 +02:00
Matthew Exon 631bfd83e9 use new style of accessing baseUrl 2023-05-05 18:08:51 +02:00
Hypolite Petovan 4b31588484 Merge pull request 'remove App arguments' (#1383) from mexon/friendica-addons:mailstream-fix-2 into develop
Reviewed-on: #1383
2023-05-05 17:40:52 +02:00
Matthew Exon 8886c90d1e remove App arguments 2023-05-05 17:36:11 +02:00
Hypolite Petovan f5d8604e59 [twitter] Return null in the probe_detect hook result key on unsuccessful probe
- Add authoritative probe result setting
2023-05-05 00:08:17 -04:00
Hypolite Petovan a0574ab045 [tumblr] Have tumblr_get_contact_by_url return null for unsuccessful probe
- Add result setting for unsuccessful authoritative probe
2023-05-05 00:07:24 -04:00
Hypolite Petovan e1de842ffb Merge pull request '[piwik] updated DE translation' (#1381) from tobias/friendica-addons:20230501-de into develop
Reviewed-on: #1381
2023-05-01 16:42:03 +02:00
Tobias Diekershoff ca134e9ed3 [piwik] updated DE translation 2023-05-01 10:05:20 +02:00
Tobias Diekershoff 1a2554fe95 Merge pull request '[piwiki] regenerated messages-po file' (#1380) from 20230501-piwik into develop
Reviewed-on: #1380
2023-05-01 07:42:53 +02:00
Tobias Diekershoff 13da605435 [piwiki] regenerated messages-po file 2023-05-01 07:40:12 +02:00
Hypolite Petovan df2e9863ed Merge pull request '[piwik] Short Endpoint option' (#1379) from EntropyEngineer/friendica-addons:piwik-Short-Endpoint-option into develop
Reviewed-on: #1379
2023-04-30 13:43:35 +02:00
Entropy Engineer 199205a07c [piwik] Short Endpoint option 2023-04-30 10:34:28 +02:00
Hypolite Petovan 94eb2ec197 Merge pull request 'Tumblr: Users can now follow tags' (#1378) from heluecht/friendica-addons:tumblr-tags into develop
Reviewed-on: #1378
2023-04-29 21:23:58 +02:00
Michael 58fce248c1 Use ?? instead of the parameter for the default value 2023-04-29 19:16:51 +00:00
Michael dcd097b5b0 Tumblr: Users can now follow tags 2023-04-29 06:56:51 +00:00
Hypolite Petovan 040c735243 Merge pull request 'Repair broken log line' (#1377) from mexon/friendica-addons:mailstream-fix into develop
Reviewed-on: #1377
2023-04-28 23:14:58 +02:00
Matthew Exon 4eedc9423a Repair broken log line 2023-04-28 23:09:40 +02:00
Hypolite Petovan c4876d46b4 Merge pull request 'Tumblr: Added support for hook "support_probe"' (#1376) from heluecht/friendica-addons:tumblr-support-probe into develop
Reviewed-on: #1376
2023-04-27 13:59:07 +02:00
Michael 8400258f07 Tumblr: Added support for hook "support_probe" 2023-04-27 05:28:05 +00:00
Tobias Diekershoff 8f29a51277 Merge branch 'develop' into stable 2023-04-27 07:24:05 +02:00
Tobias Diekershoff b34c9131ca recovered [mailstream] various modernisations
These changes where made on github as #1354 but got lost due mirroring
issued from the development branch. Original author is mexon.

https://github.com/friendica/friendica-addons/pull/1354
2023-04-27 07:21:20 +02:00
Tobias Diekershoff a733e82c21 Merge pull request 'Tumblr: Small fixes' (#1375) from heluecht/friendica-addons:tumblr-fixes into develop
Reviewed-on: #1375
2023-04-27 07:12:19 +02:00
Michael 5d8a53b8ec Tumblr: Small fixes 2023-04-27 05:00:04 +00:00
Hypolite Petovan dac297b942 Merge pull request 'Tumblr: We can now follow, unfollow, add posts, ...' (#1374) from heluecht/friendica-addons:tumblr-complete into develop
Reviewed-on: #1374
2023-04-27 01:39:01 +02:00
Michael dc02e16575 Tumblr: We can now follow, unfollow, add posts, ... 2023-04-26 22:15:59 +00:00
Hypolite Petovan d8af084933 Merge pull request 'Tumblr is now using OAuth2' (#1373) from heluecht/friendica-addons:tumblr-oauth2 into develop
Reviewed-on: #1373
2023-04-25 21:15:07 +02:00
Michael 477e646fba Further updated the readme 2023-04-25 18:48:58 +00:00
Michael 5307ef3a58 Updated readme 2023-04-25 18:47:54 +00:00
Michael 4c3b4dea96 Improved result check 2023-04-25 18:38:18 +00:00
Michael c811f54958 Tumblr is now using OAuth2 2023-04-25 18:33:39 +00:00
Hypolite Petovan becf10cee6 Merge pull request 'Tumblr: We can now import the remote timeline' (#1372) from heluecht/friendica-addons:tumblr-import into develop
Reviewed-on: #1372
2023-04-24 01:38:19 +02:00
Michael bb72210fc1 Merge remote-tracking branch 'upstream/develop' into tumblr-import 2023-04-23 21:14:50 +00:00
Michael da65314df5 Resructured code, added documentation 2023-04-23 10:26:19 +00:00
Tobias Diekershoff fbf3653831 Merge pull request 'HU and IT translation updates' (#1371) from tobias/friendica-addons:20230421-lng into 2023.03-rc
Reviewed-on: #1371
2023-04-22 16:39:15 +02:00
Michael 9e7f06ed44 Tumblr: Dashboard import and activities are working 2023-04-22 10:01:09 +00:00
Tobias Diekershoff c137fc5e79 HU and IT translation updates 2023-04-21 21:41:23 +02:00
Michael 9c8e7a23a6 Add more types 2023-04-18 21:05:31 +00:00
Michael 71eb147c13 Tumblr: Import the timeline 2023-04-18 05:56:32 +00:00
Hypolite Petovan 5cae2bffb2 Merge pull request 'Tumblr: Make it compatible with PHP 7.4.0' (#1370) from heluecht/friendica-addons:tumblr-php-7.4 into 2023.03-rc
Reviewed-on: #1370
2023-04-11 20:03:50 +02:00
Michael 972c2da98e Tumblr: Make it compatible with PHP 7.4.0 2023-04-11 14:56:52 +00:00
Hypolite Petovan 8a83cc2886 Merge pull request 'Tumblr: wrong "page" values are corrected automatically' (#1369) from heluecht/friendica-addons:tumblr-page into 2023.03-rc
Reviewed-on: #1369
2023-04-10 13:37:35 +02:00
Michael c94778dbc1 tumblr: wrong "page" values are corrected automatically 2023-04-10 10:18:21 +00:00
Tobias Diekershoff 9f0b5829c0 Merge pull request '[securemail] Bump phpseclib dependency to version 3.0.19' (#1362) from MrPetovan/friendica-addons:bug/dependabot into 2023.03-rc
Reviewed-on: #1362
2023-04-10 12:03:58 +02:00
Hypolite Petovan 7bc98f0dd9 Merge pull request 'translations updates for 2023.03' (#1368) from tobias/friendica-addons:20230409-lngs into 2023.03-rc
Reviewed-on: #1368
2023-04-09 08:22:09 +02:00
Tobias Diekershoff 1c677722b3 translations updates for 2023.03 2023-04-09 07:58:49 +02:00
Michael 99639632dd No need to fetch the return data since we don't use it 2023-04-09 05:06:52 +00:00
Hypolite Petovan 91bb323a16 Merge pull request 'Tumblr: Use the UUID to address the blog' (#1367) from heluecht/friendica-addons:tumblr-blog into 2023.03-rc
Reviewed-on: #1367
2023-04-09 06:56:18 +02:00
Michael 852ddb8acc Tumblr: Use the UUID to address the blog 2023-04-09 04:43:12 +00:00
Hypolite Petovan 9732ad543b Merge pull request 'Tumblr: Possible fixes' (#1366) from heluecht/friendica-addons:tumblr into 2023.03-rc
Reviewed-on: #1366
2023-04-08 19:14:27 +02:00
Michael 37cdd74d73 Tumblr: Possible fixes 2023-04-08 16:49:52 +00:00
Hypolite Petovan c1830d8fd1 Merge pull request 'Tumblr: Fix #11551 and introduce NPF' (#1364) from heluecht/friendica-addons:tumblr-npf into 2023.03-rc
Reviewed-on: #1364
2023-04-06 23:23:04 +02:00
Michael 7dc1b44d1e Tumblr: Fix #11551 and introduce NPF 2023-04-06 19:10:32 +00:00
Hypolite Petovan 3f2cc73936 [securemail] Bump phpseclib dependency to version 3.0.19 2023-04-06 08:26:37 -04:00
Hypolite Petovan 94129d3aa5 Merge pull request 'migrate transifex config to the new client' (#1363) from tobias/friendica-addons:20230406-transifexconfig into 2023.03-rc
Reviewed-on: #1363
2023-04-06 14:07:28 +02:00
Tobias Diekershoff 5ea5930d82 migrate transifex config to the new client 2023-04-06 11:12:54 +02:00
Hypolite Petovan efdc4fa3c0 Merge pull request 'Tumblr: Transmit multiple photos' (#1361) from heluecht/friendica-addons:tumblr-photos into develop
Reviewed-on: #1361
2023-03-09 22:02:22 +01:00
Michael 888dec1593 Remove media to avoid duplicated images 2023-03-09 20:59:42 +00:00
Michael 82376e4f17 Tumblr: Transmit multiple photos 2023-03-09 06:37:02 +00:00
Hypolite Petovan 2805395f77 Merge pull request '"getAttachedData" has been removed' (#1359) from heluecht/friendica-addons:no-attached-data into develop
Reviewed-on: #1359
2023-03-06 16:06:13 +01:00
Michael f5d1316212 Merge remote-tracking branch 'upstream/develop' into no-attached-data 2023-03-06 06:33:09 +00:00
Hypolite Petovan b46e8ec4b2 Merge pull request 'Blockbot: Changed loglevels' (#1360) from heluecht/friendica-addons:blockbot into develop
Reviewed-on: #1360
2023-03-06 04:27:49 +01:00
Michael 878538c151 Access media via index 2023-03-06 00:49:30 +00:00
Michael a959a90582 Class added 2023-03-05 21:37:28 +00:00
Michael c8b6e7661b Unused variable removed 2023-03-05 21:35:14 +00:00
Michael 9183371062 "getAttachedData" has been removed 2023-03-05 21:17:14 +00:00
Michael 8641c30530 Merge remote-tracking branch 'upstream/develop' into develop 2023-03-05 14:03:51 +00:00
Michael 388f6e94f0 Blockbot: Loglevel and reformatting 2023-03-05 14:01:32 +00:00
Friendica Project 2dd57a2f40 Merge pull request 'Adapt .editorconfig for PHPStorm' (#1358) from nupplaPhil/friendica-addons:feat/phpstorm_editorconfig into develop
Reviewed-on: #1358
2023-02-28 21:02:26 +01:00
Philipp Holzer 92c3d0cf6c
ident_size 2 is better for XML readability :) 2023-02-27 20:57:18 +01:00
Philipp Holzer c5d402ad62
Adapt .editorconfig
- Add .json rule
- Add .xml rule
2023-02-27 20:34:46 +01:00
Philipp Holzer ecdd62eb3c
Revert quote_type 2023-02-27 20:11:07 +01:00
Philipp Holzer 4a57f968f8
Adapt .editorconfig for PHPStorm 2023-02-27 19:51:03 +01:00
Philipp Holzer 30af3b93ed [blockem] Fix syntax error (#1357) 2023-02-20 18:13:57 +01:00
Hypolite Petovan 6a5103964f [blockem] Fix syntax error 2023-02-20 11:56:13 -05:00
Hypolite Petovan 6b3dc35f35 Merge pull request '[various] Adapt BaseURL calls for new UriInterface' (#1356) from nupplaPhil/friendica-addons:feat/system_url_handling into develop
Reviewed-on: #1356
2023-02-20 14:42:56 +01:00
Philipp Holzer 648fadedd3
[various] Adapt BaseURL calls for new UriInterface 2023-02-18 21:04:47 +01:00
Hypolite Petovan 75df306424 Merge pull request 'mark the Twitter addon as unsupported' (#1354) from tobias/friendica-addons:twitterunsupport into develop
Reviewed-on: #1354
2023-02-07 14:18:04 +01:00
Tobias Diekershoff ace982f5e6 mark the Twitter addon as unsupported 2023-02-07 08:42:40 +01:00
Hypolite Petovan b7614c9164
Merge pull request #1353 from annando/config
Twitter: Move config to key value
2023-01-22 16:33:21 -05:00
Michael Vogel 85275d4473
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-01-22 21:39:12 +01:00
Michael 17df97fccd Twitter: Move config to key value 2023-01-22 13:45:33 +00:00
Michael Vogel 49e5234872
Merge pull request #1351 from MrPetovan/bug/12665-monolog
[various] Remove App dependency from hook functions
2023-01-14 17:07:30 +01:00
Hypolite Petovan 39c654da00 [various] Remove App dependency from hook functions 2023-01-13 21:16:09 -05:00
Michael Vogel b53914ee11
Merge pull request #1350 from MrPetovan/bug/fatal-errors
[impressum] Avoid calling obfuscate_email on a null value
2023-01-11 16:19:54 +01:00
Hypolite Petovan ad04f1b631 [impressum] Avoid calling obfuscate_email on a null value
- Address https://github.com/friendica/friendica/issues/12486#issuecomment-1378416688
2023-01-11 09:09:59 -05:00
Hypolite Petovan 2724d6f5d9
Merge pull request #1349 from annando/twitter-wall
Twitter: Set "wall" on remote-self
2023-01-10 15:56:44 -05:00
Michael d116d79182 Twitter: Set "wall" on remote-self 2023-01-10 20:00:46 +00:00
Michael Vogel 9763635e5b
Merge pull request #1348 from MrPetovan/bug/warnings
[public_server] Add expected "event" key in public_server_cron()
2023-01-09 15:40:38 +01:00
Hypolite Petovan 5a9b63ff3b [public_server] Add expected "event" key in public_server_cron()
- Address https://github.com/friendica/friendica/issues/12488#issuecomment-1372634282
2023-01-09 09:22:30 -05:00
Hypolite Petovan 2cc326ccf5 Welcome 2023! 2023-01-09 09:19:09 -05:00
Hypolite Petovan a41ebccba8
Merge pull request #1347 from annando/blockem-unsupported
Blockem: set to unsupported
2023-01-08 16:59:52 -05:00
Michael d06ced7272 Blockem: set to unsupported 2023-01-08 19:11:35 +00:00
Hypolite Petovan cf29d2d495
Merge pull request #1346 from mexon/mat/mailstream-media
mailstream includes post media in message body
2023-01-08 08:24:12 -05:00
Matthew Exon 4352a358a7 mailstream includes post media in message body 2023-01-08 14:18:28 +01:00
Hypolite Petovan 7827be89c8
Merge pull request #1345 from nupplaphil/feat/addons_load
[various] Move `addon` config
2023-01-04 22:36:36 -05:00
Philipp Holzer 818d21ba57
[various] adapt README.md 2023-01-05 02:38:54 +01:00
Philipp Holzer ab5aea8328
[gravatar] Use addon config entries instead of the db 2023-01-04 23:24:39 +01:00
Hypolite Petovan 5e2ebd13b9
Merge pull request #1343 from nupplaphil/feat/node.config.php
[various] Introduce ConfigFileManager for config files
2023-01-03 12:13:47 -05:00
Hypolite Petovan 76233e7646
Merge pull request #1344 from friendica/bug/nofifyall
[notifyall] Fix email selection
2023-01-03 10:01:08 -05:00
Philipp Holzer be80e77e93
[notifyall] Fix email selection
FollowUp #1313
2023-01-03 14:01:45 +01:00
Philipp Holzer 005f9af69b
Introduce ConfigFileManager for config files 2023-01-01 20:21:56 +01:00
Philipp Holzer 14dfd24d11
Merge pull request #1342 from MrPetovan/bug/deprecated
[tictac] Move the addon to unsupported
2022-12-31 10:09:17 +01:00
Hypolite Petovan c7c8934e2c [tictac] Move the addon to unsupported
- PHP 8.1 deprecation messages were reported
2022-12-30 22:33:18 -05:00
Hypolite Petovan 5af972bb22
Merge pull request #1341 from nupplaphil/feat/keyvalue_storage
[various] Replace addon "last" config entries with key-value entries
2022-12-30 16:42:32 -05:00
Philipp Holzer 73189581b0
Replace addon "last" config entries with key-value entries 2022-12-29 20:51:04 +01:00
Hypolite Petovan 84fd663a56
Merge pull request #1339 from annando/no-gs-import
GNU-Social import is removed
2022-12-21 17:53:13 -05:00
Michael 35e431c5a4 Updated messages.po 2022-12-21 22:33:05 +00:00
Michael 4988d9c49a More unneeded stuff removed 2022-12-21 22:29:38 +00:00
Michael d0c44aeaaf GNU-Social import is removed 2022-12-21 22:20:34 +00:00
Hypolite Petovan f922d69310
Merge pull request #1338 from brockhaus/2022.12-rc
Added ALT and TITLE of original IMG to fancybox popup.
2022-12-18 22:05:05 -05:00
Grischa Brockhaus f8295635c1 Added ALT and TITLE of original IMG to fancybox popup. 2022-12-19 00:53:36 +01:00
Hypolite Petovan 4cdd24c871
Merge pull request #1337 from tobiasd/20221217-lng
FR, HU, PL translation updates
2022-12-17 08:57:08 -05:00
Tobias Diekershoff 0f273b89ff removed translation files from addons deprecated 2022-12-17 09:11:15 +01:00
Tobias Diekershoff 71d9a42688 HU translation of various addons updated 2022-12-17 09:08:25 +01:00
Tobias Diekershoff b64639dc4c PL translation of various addons updated 2022-12-17 09:08:11 +01:00
Tobias Diekershoff 361e5407cf HU translation of various addons updated 2022-12-17 09:06:55 +01:00
Tobias Diekershoff 0b0d555c69 FR translation of various addons updated 2022-12-17 09:04:29 +01:00
Tobias Diekershoff 239003fa6c
Merge pull request #1336 from MrPetovan/bug/12405-pumpio-log
[pumpio] Cast variable as array before being passed to Logger::info
2022-12-15 06:31:24 +01:00
Hypolite Petovan b52c4fc04f [pumpio] Cast variable as array before being passed to Logger::info 2022-12-14 22:29:54 -05:00
Hypolite Petovan cd620d2134
Merge pull request #1335 from brockhaus/develop
v.1.0.4: Support for upcoming imagegrid
2022-12-14 13:19:52 -05:00
Grischa Brockhaus 98dd4b537c v.1.0.4: Support for upcoming imagegrid 2022-12-14 18:58:00 +01:00
Hypolite Petovan 784bdf82e2
Merge pull request #1334 from AndyHee/2022.12-rc
Deprecated Addons: windowsphonepush, notifyall
2022-12-14 08:54:34 -05:00
Andy H 348f9d5601
Merge branch 'friendica:2022.12-rc' into 2022.12-rc 2022-12-14 13:40:22 +00:00
Gitea b6a384ce0b deleted: namethingy/namethingy.php
deleted:    windowsphonepush/lang/C/messages.po
	deleted:    windowsphonepush/lang/ar/messages.po
	deleted:    windowsphonepush/lang/ar/strings.php
	deleted:    windowsphonepush/lang/cs/messages.po
	deleted:    windowsphonepush/lang/cs/strings.php
	deleted:    windowsphonepush/lang/da-dk/messages.po
	deleted:    windowsphonepush/lang/da-dk/strings.php
	deleted:    windowsphonepush/lang/de/messages.po
	deleted:    windowsphonepush/lang/de/strings.php
	deleted:    windowsphonepush/lang/es/messages.po
	deleted:    windowsphonepush/lang/es/strings.php
	deleted:    windowsphonepush/lang/fi-fi/messages.po
	deleted:    windowsphonepush/lang/fi-fi/strings.php
	deleted:    windowsphonepush/lang/fr/messages.po
	deleted:    windowsphonepush/lang/fr/strings.php
	deleted:    windowsphonepush/lang/hu/messages.po
	deleted:    windowsphonepush/lang/hu/strings.php
	deleted:    windowsphonepush/lang/it/messages.po
	deleted:    windowsphonepush/lang/it/strings.php
	deleted:    windowsphonepush/lang/nl/messages.po
	deleted:    windowsphonepush/lang/nl/strings.php
	deleted:    windowsphonepush/lang/pl/messages.po
	deleted:    windowsphonepush/lang/pl/strings.php
	deleted:    windowsphonepush/lang/ro/messages.po
	deleted:    windowsphonepush/lang/ro/strings.php
	deleted:    windowsphonepush/lang/sv/messages.po
	deleted:    windowsphonepush/lang/sv/strings.php
	deleted:    windowsphonepush/lang/zh-cn/messages.po
	deleted:    windowsphonepush/lang/zh-cn/strings.php
	deleted:    windowsphonepush/templates/settings.tpl
	deleted:    windowsphonepush/windowsphonepush.php
2022-12-14 13:38:47 +00:00
Hypolite Petovan 5953c2835f
Merge pull request #1333 from AndyHee/2022.12-rc
Deprecated Superblock Addon
2022-12-14 08:06:59 -05:00
Gitea 802c5ca87f deleted: superblock/lang/C/messages.po
deleted:    superblock/lang/ar/messages.po
	deleted:    superblock/lang/ar/strings.php
	deleted:    superblock/lang/ca/strings.php
	deleted:    superblock/lang/cs/messages.po
	deleted:    superblock/lang/cs/strings.php
	deleted:    superblock/lang/da-dk/messages.po
	deleted:    superblock/lang/da-dk/strings.php
	deleted:    superblock/lang/de/messages.po
	deleted:    superblock/lang/de/strings.php
	deleted:    superblock/lang/en-gb/messages.po
	deleted:    superblock/lang/en-gb/strings.php
	deleted:    superblock/lang/en-us/messages.po
	deleted:    superblock/lang/en-us/strings.php
	deleted:    superblock/lang/eo/strings.php
	deleted:    superblock/lang/es/messages.po
	deleted:    superblock/lang/es/strings.php
	deleted:    superblock/lang/fi-fi/messages.po
	deleted:    superblock/lang/fi-fi/strings.php
	deleted:    superblock/lang/fr/messages.po
	deleted:    superblock/lang/fr/strings.php
	deleted:    superblock/lang/hu/messages.po
	deleted:    superblock/lang/hu/strings.php
	deleted:    superblock/lang/is/strings.php
	deleted:    superblock/lang/it/messages.po
	deleted:    superblock/lang/it/strings.php
	deleted:    superblock/lang/nb-no/strings.php
	deleted:    superblock/lang/nl/messages.po
	deleted:    superblock/lang/nl/strings.php
	deleted:    superblock/lang/pl/messages.po
	deleted:    superblock/lang/pl/strings.php
	deleted:    superblock/lang/pt-br/messages.po
	deleted:    superblock/lang/pt-br/strings.php
	deleted:    superblock/lang/ro/messages.po
	deleted:    superblock/lang/ro/strings.php
	deleted:    superblock/lang/ru/messages.po
	deleted:    superblock/lang/ru/strings.php
	deleted:    superblock/lang/sv/messages.po
	deleted:    superblock/lang/sv/strings.php
	deleted:    superblock/lang/zh-cn/strings.php
	deleted:    superblock/superblock.php
	deleted:    superblock/templates/settings.tpl
2022-12-14 07:28:16 +00:00
Hypolite Petovan 12bd211516
Merge pull request #1332 from AndyHee/2022.12-rc
[nitter] Update wording
2022-12-13 12:51:03 -05:00
Gitea 8878d7c9d4 modified: nitter/lang/C/messages.po 2022-12-13 17:27:40 +00:00
Andy H 139e4384b1
Update nitter.php
[Now really] Reduced font size of notice
2022-12-13 15:47:30 +00:00
Andy H f9661af3f7
Update nitter.php
Replaced verbose sentence with succinct notice  and reduced its font size.
2022-12-13 15:43:29 +00:00
Andy H 6d3602f9c6
Update nitter.php
Changed  protocol of example URL to secure to avoid confusion as all Nitter servers operate in secure mode only.
2022-12-13 15:41:53 +00:00
Michael Vogel a2dde9cd24
Merge pull request #1331 from MrPetovan/bug/warnings
[twitter] Ward against missing remote_images array key
2022-12-11 03:40:42 +01:00
Hypolite Petovan cab20de6d1 [twitter] Ward against missing remote_images array key
- Address https://github.com/friendica/friendica/issues/11993#issuecomment-1345387060
2022-12-10 17:22:25 -05:00
Michael Vogel e553b6cc9b
Merge pull request #1330 from MrPetovan/bug/warnings
[nsfw] Suppress warnings about failed regexp compilation
2022-12-10 20:53:48 +01:00
Hypolite Petovan b1442ebfd1 [nsfw] Suppress warnings about failed regexp compilation
- Add failed regexp compilation system messages on addon settings submit
- Address https://github.com/friendica/friendica/issues/11992#issuecomment-1336418781
2022-12-10 14:43:30 -05:00
Michael 9524632cdc Merge branch '2022.12-rc' of https://github.com/friendica/friendica-addons into 2022.12-rc 2022-12-10 19:09:45 +00:00
Michael 5da3cf67ce Twitter: Improve uploading of images 2022-12-10 19:09:36 +00:00
Hypolite Petovan 31cecfead3
Merge pull request #1328 from tobiasd/20221208-fr
Twitter addon translation update THX kalon33
2022-12-08 12:16:18 -05:00
Tobias Diekershoff a38b07fa34 Twitter addon translation update THX kalon33 2022-12-08 18:01:18 +01:00
Hypolite Petovan d1d3c73d25
Merge pull request #1327 from brockhaus/develop
fancybox addon v.1.03
2022-12-05 20:46:11 -05:00
Grischa Brockhaus c6d09e5270 Changes added because of good remarks by hypolite@friendica.mrpetovan.com 2022-12-05 12:46:18 +01:00
Grischa Brockhaus 4e7da2799c Version 1.03
* imgages in body-attach with title / alt attribute get them removed while adding fancy attributes
* Added fancybox to image inlined in posts. Un-hooked the old lightbox from frio and vier and excahnged that with fancybox hooks.
* Excluded images in "type-link" divs from being "fancied" as they have no images but pages linked to.
2022-12-05 00:54:04 +01:00
Michael Vogel 07a11f6920
Merge pull request #1326 from MrPetovan/bug/warnings
[twitter] Use correct variable to store application name
2022-12-03 10:51:30 +01:00
Hypolite Petovan e4487c4876 [twitter] Use correct variable to store application name
- Address https://github.com/friendica/friendica/issues/11993#issuecomment-1336015957
2022-12-03 04:22:43 -05:00
Hypolite Petovan d45004f44d
Merge pull request #1325 from MarekBenjamin/fix_jsupload
Adjusted code use of shorthandnotation for image size upload limits
2022-11-30 16:12:35 -05:00
Marek Bachmann efb98c8457 Wrapped Strings::getBytesFromShorthand() around the last overseen DI::config()->get('system', 'maximagesize') 2022-11-30 21:33:11 +01:00
Marek Bachmann 119a5ca8d8 Adjusted code use of shorthandnotation for image size upload limits 2022-11-30 21:27:14 +01:00
Michael Vogel 1c5787946f
Merge pull request #1324 from MrPetovan/bug/deprecated
[various] Address a couple of PHP 8.1 notices
2022-11-30 07:22:29 +01:00
Hypolite Petovan 2e4e7befe5 [various] Address a couple of PHP 8.1 notices
- Replace a couple of strstr calls by strpos
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1331012289
2022-11-29 19:32:56 -05:00
Hypolite Petovan 666d559e72
Merge pull request #1323 from nupplaphil/bug/rendertime
[rendertime] Fix empty minimal_time
2022-11-28 13:55:32 -05:00
Philipp Holzer 3b7d4ce600
[rendertime] Fix empty minimal_time 2022-11-28 19:51:56 +01:00
Philipp Holzer 25bcbabb58
Merge pull request #1322 from tobiasd/20221128-de
[twitter, nsfw] DE translation update
2022-11-28 08:13:13 +01:00
Tobias Diekershoff 8f59b8b951 [twitter, nsfw] DE translation update 2022-11-28 07:04:55 +01:00
Hypolite Petovan 6a2aa4c4a4
Merge pull request #1321 from nupplaphil/mod/fbrowser
[rendertime] Adapt ignored_modules
2022-11-27 08:00:01 -05:00
Philipp Holzer 18783e11c7
Move Browser & Upload to own namespace 2022-11-27 01:25:58 +01:00
Philipp Holzer 2f0671ee6e
Move FileBrowser to own namespace & Bugfix album usage 2022-11-27 00:28:29 +01:00
Philipp Holzer 6fb41f9429
[rendertime] Adapt ignored_modules 2022-11-26 22:27:17 +01:00
Philipp Holzer 7b58c02b1a
Merge pull request #1319 from MrPetovan/bug/deprecated
[various] Address a couple of PHP8.1 deprecation notices
2022-11-25 23:32:50 +01:00
Hypolite Petovan 7d252afddb
Merge pull request #1320 from brockhaus/develop
AddOn Fancybox
2022-11-24 21:49:20 -05:00
Grischa Brockhaus b0d13ab09c Code formatting from hell.. 2022-11-25 02:23:16 +01:00
Grischa Brockhaus d584196215 Code formatting
Wow.. This is very picky... |-(
2022-11-25 02:21:03 +01:00
Grischa Brockhaus 537ee2e656 Code style 2022-11-25 02:05:38 +01:00
Grischa Brockhaus 1a5b19ff69 gitignore 2022-11-25 00:19:18 +01:00
Grischa Brockhaus ae28f6ef01 AddOn Fancybox
This addon loads all media attachments of a post into a "fancybox" instead of linking directly to the media.
Each post gets its own attachment library, when there are more than one media attached you can scroll through them.
2022-11-24 23:48:08 +01:00
Hypolite Petovan f0baf18339 [startpage] Remove deprecated call to strlen
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1321796513
2022-11-24 14:04:55 -05:00
Hypolite Petovan c18e0dc66a [securemail] Upgrade singpolyma/openpgp to version 0.6.0
- Add missing use statement in SecureTestEmail
- Address https://github.com/friendica/friendica/issues/12011#issuecomment-1321196332
- phpseclib version 3 dependency is implied from the core so it is removed from the addon
2022-11-24 14:04:53 -05:00
Hypolite Petovan 30329df0dd
Merge pull request #1318 from annando/no-mod-item
Calls to "item_post" are replaced
2022-11-23 09:03:35 -05:00
Michael 008eeeea4e Merge remote-tracking branch 'upstream/develop' into no-mod-item 2022-11-23 06:29:49 +00:00
Michael 7338b5de59 Don't call mod/item.php anymore 2022-11-23 06:25:28 +00:00
Philipp Holzer e213bb2216
Merge pull request #1317 from MrPetovan/task/10188-addon-config
[various] Set config loaded from default values to SOURCE_STATIC
2022-11-20 21:45:28 +01:00
Hypolite Petovan 2fc7356cf4 [various] Set config loaded from default values to SOURCE_STATIC
- This prevents from clobbering values loaded from base `config/` folder
2022-11-20 12:44:53 -05:00
Hypolite Petovan 46d4d0b51e [various] Remove config/addon.config.php in favor of per-addon configuration file 2022-11-20 11:43:42 -05:00
Hypolite Petovan 5b25b03ea3
Merge pull request #1316 from simcop2387/develop
Fix signature of SAML hooks to work with modern friendica
2022-11-19 21:48:24 -05:00
Ryan Voots a09dd57391 SLO takes no params apparently 2022-11-19 21:41:07 -05:00
Ryan Voots 5e51a3f0ad Fix signature of hooks to work with modern friendica 2022-11-19 20:18:12 -05:00
Philipp Holzer 6b32686443
Merge pull request #1315 from MrPetovan/bug/warnings
[various] Fix PHP 8 deprecation warnings
2022-11-20 01:45:15 +01:00
Hypolite Petovan f4130a9724 [various] Fix PHP 8 deprecation warnings 2022-11-19 19:19:30 -05:00
Tobias Diekershoff e8daa6b97d
Merge pull request #1314 from MrPetovan/task/nsfw-case-sensitive
[nsfw] Match regular words with case sensitivity
2022-11-18 18:07:24 +01:00
Tobias Diekershoff 174fae82ac
Merge pull request #1313 from MrPetovan/bug/7574-notifications-deleted-users
[various] Use new centralized admin account retrieval methods
2022-11-18 18:05:37 +01:00
Hypolite Petovan fada358607 [various] Use new centralized admin account retrieval methods 2022-11-18 12:00:03 -05:00
Hypolite Petovan ba6f6f11c5 [nsfw] Update main translation file after updating a string 2022-11-18 11:58:10 -05:00
Hypolite Petovan 91accba3b9 [nsfw] Match regular words with case sensitivity
- Update field description
2022-11-18 11:57:51 -05:00
Hypolite Petovan a5768ce402
Merge pull request #1312 from tobiasd/20221118-sv
SV translation Update THX BBjoessi
2022-11-18 10:30:36 -05:00
Tobias Diekershoff 53b1c9208a SV translation Update THX BBjoessi# 2022-11-18 15:03:02 +01:00
Hypolite Petovan f840431d41
Merge pull request #1311 from annando/duplicate-media
Unneeded parameter removed
2022-11-13 19:07:34 -05:00
Michael fc3222cd2d Unneeded parameter removed 2022-11-13 23:39:48 +00:00
Hypolite Petovan e800cf20cb
Merge pull request #1310 from annando/auto-follow
Twitter: automatically follow fediverse accounts in profile
2022-11-13 08:36:30 -05:00
Michael f71b2bda38 Twitter: automatically follow fediverse accounts in profile 2022-11-13 10:16:58 +00:00
Hypolite Petovan 18e7d5bfea
Merge pull request #1309 from annando/issue-12161
Issue 12161: Fix Unknown column 'post-view.id'
2022-11-12 08:34:24 -05:00
Michael 50eef93272 Issue 12161: Fix Unknown column 'post-view.id' 2022-11-12 13:13:58 +00:00
Hypolite Petovan e0ad3e0fc7
Merge pull request #1308 from nupplaphil/feat/woodpecker
Woodpecker: Update PHP version
2022-11-10 09:15:38 -05:00
Philipp Holzer 38ec8b3e3b
Woodpecker: Update PHP version 2022-11-09 22:50:55 +01:00
Philipp Holzer 9cee85c4d6
Merge pull request #1304 from MrPetovan/task/4090-move-mod-settings
[various] Move mod/settings.php to src/Module
2022-11-09 20:35:03 +01:00
Hypolite Petovan 72679891af
Merge pull request #1307 from darac/piwik-hook-signature
Hook::register has changed API
2022-11-07 07:57:22 -05:00
Paul Saunders b9207f7e48
Hook::register has changed API
`Hook::register` now takes a string as the second parameter, not an array. Without this change Friendica fails to start, with errors such as:
```
2022-11-07T11:40:20Z index [ERROR]: Uncaught Exception TypeError: "Argument 2 passed to piwik_analytics() must be of the type array, string given, called in /var/www/html/src/Core/Hook.php on line 223" at /var/www/html/addon/piwik/piwik.php line 53 {"exception":"TypeError: Argument 2 passed to piwik_analytics() must be of the type array, string given, called in /var/www/html/src/Core/Hook.php on line 223 and defined in /var/www/html/addon/piwik/piwik.php:53\nStack trace:\n#0 /var/www/html/src/Core/Hook.php(223): piwik_analytics(Object(Friendica\\App), '<h1><img width=...')\n#1 /var/www/html/src/Core/Hook.php(198): Friendica\\Core\\Hook::callSingle(Object(Friendica\\App), 'page_end', Array, '<h1><img width=...')\n#2 /var/www/html/src/App/Page.php(493): Friendica\\Core\\Hook::callAll('page_end', '<h1><img width=...')\n#3 /var/www/html/src/App.php(722): Friendica\\App\\Page->run(Object(Friendica\\App), Object(Friendica\\App\\BaseURL), Object(Friendica\\App\\Arguments), Object(Friendica\\App\\Mode), Object(GuzzleHttp\\Psr7\\Response), Object(Friendica\\Core\\L10n), Object(Friendica\\Util\\Profiler), Object(Friendica\\Core\\Config\\Type\\JitConfig), Object(Friendica\\Core\\PConfig\\Type\\JitPConfig))\n#4 /var/www/html/index.php(44): Friendica\\App->runFrontend(Object(Friendica\\App\\Router), Object(Friendica\\Core\\PConfig\\Type\\JitPConfig), Object(Friendica\\Security\\Authentication), Object(Friendica\\App\\Page), Object(Friendica\\Util\\HTTPInputData), 1667821218.5153)\n#5 {main}"} - {"file":null,"line":null,"function":null,"uid":"73d499","process_id":52}
```
2022-11-07 11:42:31 +00:00
Hypolite Petovan db3a36bd02
Merge pull request #1306 from friendica/mastodon-api
API constant changed
2022-11-06 18:01:47 -05:00
Michael 623b6ceecc API constant changed 2022-11-06 20:03:41 +00:00
Michael Vogel f2ff1053b0
Merge pull request #1305 from MrPetovan/task/deprecate-themes
[newmemberwidget] Remove references to deprecated themes
2022-11-05 21:25:51 +01:00
Hypolite Petovan 2643259a93 [various] Move mod/settings.php to src/Module
- Remove reference to mod/settings.php
- Update settings/addons route
2022-11-05 00:03:07 -04:00
Hypolite Petovan ecb9871f92 [newmemberwidget] Remove references to deprecated themes 2022-11-05 00:01:43 -04:00
Hypolite Petovan ddf87440b2
Merge pull request #1303 from MrPetovan/bug/fatal-errors
[pumpio] Remove obsolete reference to mod/share.php
2022-11-04 18:38:23 -04:00
Hypolite Petovan 38977588b4 [pumpio] Remove obsolete reference to mod/share.php 2022-11-04 18:25:39 -04:00
Hypolite Petovan b84d05b602
Merge pull request #1302 from annando/quote
Add native quotes to the body upon posting
2022-10-30 09:44:47 -04:00
Michael 2de97487f3 Add native quotes to the upon posting 2022-10-29 19:37:25 -04:00
Philipp Holzer 9f3cbad14f
Merge pull request #1300 from MrPetovan/bug/12054-advancedcontentfilter-static-vue
[advancedcontentfilter] Ship standalone Vue 2 library with addon
2022-10-29 19:34:23 +02:00
Hypolite Petovan 7522a8eb9a [advancedcontentfilter] Ship standalone Vue 2 library with addon
- The Composer Bower package stopped including the dist/vue.min.js which was required by the addon
2022-10-28 21:16:27 -04:00
Hypolite Petovan cf37ad5914
Merge pull request #1298 from friendica/revert-1297-bug/woordpecker_ci
Revert "Fix CI pipeline"
2022-10-22 16:57:43 -04:00
Philipp 9a6a092518
Revert "Fix CI pipeline" 2022-10-22 20:16:31 +02:00
Hypolite Petovan ec060745e9
Merge pull request #1295 from nupplaphil/feat/usersession
[various] UserSession class - Refactor addon
2022-10-21 08:37:45 -04:00
Hypolite Petovan 99e33145db
Merge pull request #1296 from nupplaphil/bug/monolog_psr4
[monolog] Remove non-compliant PSR4 config
2022-10-21 08:37:11 -04:00
Philipp Holzer 97fcee53c0
[saml] Replace $_SESSION with DI::session() 2022-10-21 08:44:01 +02:00
Philipp Holzer 6d2b7459b5
[monolog] Remove non-compliant PSR4 config 2022-10-21 08:40:30 +02:00
Hypolite Petovan 05fed0bd6f
Merge pull request #1297 from nupplaphil/bug/woordpecker_ci
Fix CI pipeline
2022-10-20 19:53:20 -04:00
Philipp Holzer 94b4ad6279
Fix CI pipeline 2022-10-21 00:49:38 +02:00
Philipp Holzer b0eb28143a
UserSession class - Refactor addon 2022-10-20 23:51:49 +02:00
Hypolite Petovan 8eca74cfab
Merge pull request #1294 from annando/no-boot
Replace all functions from boot.php
2022-10-19 09:48:07 -04:00
Hypolite Petovan 0f6ea75bb7 [various] Improve formatting 2022-10-19 09:47:48 -04:00
Michael 5d8129600d Replace all functions from boot.php 2022-10-19 09:47:36 -04:00
Hypolite Petovan 5f1028a535
Merge pull request #1293 from nupplaphil/feat/session_util
[various] Move Core\Session::get() to DI::session()->get()
2022-10-18 15:45:38 -04:00
Philipp Holzer 1eb1b10348
Move Core\Session::get() to DI::session()->get() 2022-10-18 21:10:36 +02:00
Hypolite Petovan 7c3f602d12
Merge pull request #1292 from Quix0r/rewrite/gravity-constants
Changed: Moved GRAVITY_* constants to Item class
2022-10-18 11:43:36 -04:00
Roland Häder 346ad9a3e2
Changed:
- moved constants GRAVITY_* from boot.php to Friendica\Model\Item
2022-10-18 16:38:00 +02:00
Hypolite Petovan d267e7f0b7
Merge pull request #1291 from annando/no-eol
The EOL constant is removed
2022-10-18 10:16:06 -04:00
Michael Vogel 47d54e82df
Update wppost/wppost.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2022-10-18 14:58:11 +02:00
Michael b3195504f1 The EOL constant is removed 2022-10-18 12:28:46 +00:00
Hypolite Petovan 285079c12b
Merge pull request #1288 from nupplaphil/feat/move_monolog
[monolog] Add Addon
2022-10-18 07:30:52 -04:00
Philipp Holzer e93260593a
fix space 2022-10-18 08:10:44 +02:00
Hypolite Petovan 432d9097d2
Merge pull request #1290 from annando/eol
Some useless EOL removed
2022-10-17 17:14:41 -04:00
Michael 592374b795 Some useless EOL removed 2022-10-17 21:00:03 +00:00
Philipp Holzer 2e854ee108
Replace Separator constant 2022-10-17 22:39:10 +02:00
Philipp Holzer 101a22c0cd
Adhere feedback 2022-10-17 22:38:08 +02:00
Hypolite Petovan bca0943e19
Merge pull request #1289 from annando/notice
Remove "notice" with new function
2022-10-17 16:24:44 -04:00
Michael 897dbb30cf Remove "notice" with new function 2022-10-17 20:17:25 +00:00
Philipp Holzer 6c8a9bd461
Move Monolog to Addons 2022-10-17 21:25:03 +02:00
Tobias Diekershoff 57e9404729
Merge pull request #1287 from friendica/priorities
The priority is now a class constant
2022-10-17 08:01:01 +02:00
Michael e5842e83c7 The priority is now a class constant 2022-10-17 05:50:23 +00:00
Michael Vogel de345228b5
Merge pull request #1286 from tobiasd/20221015-de
[twitter] DE translation update
2022-10-15 23:31:17 +02:00
Tobias Diekershoff 26c6d501e0 [twitter] DE translation update 2022-10-15 21:09:03 +02:00
Hypolite Petovan 8d2ddd8985
Merge pull request #1284 from tobiasd/20221015-issue11998
[impressum] notes and email field were exchanged
2022-10-15 12:24:37 -04:00
Tobias Diekershoff ce1a787bfb
Merge pull request #1285 from mexon/mat/mailstream-typo
correct typo "arrat"
2022-10-15 18:15:31 +02:00
Matthew Exon d75f4b30f3 correct typo "arrat" 2022-10-15 18:03:55 +02:00
Tobias Diekershoff 5648924852 [impressum] notes and email field were exchanged 2022-10-15 17:49:28 +02:00
Hypolite Petovan 408a62a9a1
Merge pull request #1283 from annando/notice
Wppost: Fix "PHP Notice:  Undefined index:"
2022-10-03 16:35:41 -04:00
Michael 476de2a95d Wppost: Fix "PHP Notice: Undefined index:" 2022-10-03 20:23:14 +00:00
Hypolite Petovan 046b1418f2
Merge pull request #1282 from annando/thread
Support for Twitter threads added
2022-10-02 21:36:32 -04:00
Michael 6f971a0f63 Support for Twitter threads added 2022-10-02 23:57:12 +00:00
Philipp Holzer 94a774a7d2
Merge pull request #1280 from annando/loglevels
Loglevels adjusted, warnings fixed
2022-09-08 07:38:07 +02:00
Michael 86e24c747e Loglevels adjusted, warnings fixed 2022-09-08 04:16:17 +00:00
Philipp Holzer 9e0bc31d42
Merge pull request #1279 from tobiasd/20220819-fr
various addons FR, GD translations added or updated
2022-08-19 20:06:24 +02:00
Tobias Diekershoff 4487b2a923 FR translation of various addons updated 2022-08-19 19:37:09 +02:00
Tobias Diekershoff 0ff332bd11 GD translation for the addons buglink, markdown and randplace added 2022-08-19 19:35:47 +02:00
Tobias Diekershoff 0ecb576ff9 FR translation for the ifttt, newmemberwidge, securemail and webrtc addons added 2022-08-19 19:19:55 +02:00
Philipp Holzer 88d40bc34a
Merge pull request #1278 from MrPetovan/task/remove-poke
[various] Remove morechoice and morepokes addons
2022-08-11 18:17:20 +02:00
Hypolite Petovan e70b3abaa9 [morepokes] Remove addon
- Obsolete once the poke feature is removed
2022-08-09 15:15:14 -04:00
Hypolite Petovan 1e8098bbab [morechoice] Remove obsolete addon
- Gender, sex and marital options have long been removed from the core
2022-08-09 15:15:07 -04:00
Hypolite Petovan a8b8c4cde4
Merge pull request #1277 from nupplaphil/feat/woodpecker_files
Replace SFTP-publish with docker-publish
2022-07-28 14:41:28 -04:00
Philipp Holzer 795eb1bb36
Replace SFTP-publish with docker-publish 2022-07-28 20:39:37 +02:00
Hypolite Petovan f43ae1c480
Merge pull request #1276 from Quix0r/fixes/double-quotes-to-single
Only some double-quotes to single
2022-07-27 22:19:19 -04:00
Roland Häder 6bf18b47a8
Changed:
- convert double-quotes to single
2022-07-28 03:54:30 +02:00
Tobias Diekershoff 024ccb117f
Merge pull request #1275 from nupplaphil/fix/woodpecker
Fix CI / CD woodpecker pipeline
2022-07-17 07:07:22 +02:00
Philipp Holzer 5f6f432a80
Fix CI / CD woodpecker pipeline
- Combination of `labels` and `matrix`-build is broken
2022-07-17 02:25:04 +02:00
Hypolite Petovan a6db7dfa8b
Merge pull request #1274 from Quix0r/fixes/wrong-type-hint-int
Wrong type-hint, fixes #11731
2022-07-13 15:08:24 -04:00
Roland Häder a3e1a43f79
Wrong type-hint, fixes #11731 2022-07-13 20:48:32 +02:00
Tobias Diekershoff 5d5c367d7d
Merge pull request #1273 from MrPetovan/bug/11458-twitter-skips-image-only-posts
[twitter] Valid post body can be empty
2022-07-10 07:51:16 +02:00
Philipp Holzer 3b01cb035e
Merge pull request #1272 from MrPetovan/bug/fatal-errors
[various] Remove unused uid parameter in Item::newURI
2022-07-10 00:59:14 +02:00
Hypolite Petovan f813183fcf [twitter] Valid post body can be empty 2022-07-09 17:40:56 -04:00
Hypolite Petovan 347792bf74 [various] Remove unused uid parameter in Item::newURI 2022-07-09 15:51:41 -04:00
Hypolite Petovan 6822079a03 [twitter] Add logging for error conditions in twitter_fetchtimeline() 2022-07-03 11:40:59 -04:00
Tobias Diekershoff ed1de0cd18
Merge pull request #1271 from MrPetovan/bug/fatal-errors
[cookienotice] Fix wrong type-hint in hook function cookienotice_page_end
2022-07-03 14:46:26 +02:00
Hypolite Petovan aa16591b9f [cookienotice] Fix wrong type-hint in hook function cookienotice_page_end
- Fix "Argument 2 passed to cookienotice_page_end() must be of the type array, string given" error
2022-07-03 08:37:53 -04:00
Tobias Diekershoff 4c58a99e4f
Merge pull request #1270 from MrPetovan/bug/fatal-errors
[cookienotice] Fix wrong type-hint in hook function cookienotice_page_content_top
2022-07-03 06:31:08 +02:00
Hypolite Petovan ff0c7ac104 [cookienotice] Fix wrong type-hint in hook function cookienotice_page_content_top
- Fix "Argument 2 passed to cookienotice_page_content_top() must be of the type array, string given" error
2022-07-03 00:26:55 -04:00
Hypolite Petovan fe4982d51b
Merge pull request #1269 from Quix0r/rewrites/type-hints-double-single-001
Changed type-hints and changed double-quotes to single
2022-06-30 12:26:01 -04:00
Roland Häder 2fc719f720
2nd parameter is not a body 2022-06-30 17:44:07 +02:00
Roland Häder 06b15a6ed0
Changes:
- added missing type-hints
- avoided local variables
- added some documentation
- changed double-quotes to single
2022-06-30 13:33:22 +02:00
Tobias Diekershoff c0c15644a3
Merge pull request #1268 from MrPetovan/bug/fatal-errors
[various] Fix hook function type-hints
2022-06-27 06:40:50 +02:00
Hypolite Petovan 90dec95b6e [various] Fix hook function type-hints
- Address https://friendica.xyz/display/adf174d5-1562-b8d8-53d7-ffd690518338
2022-06-26 19:36:45 -04:00
Tobias Diekershoff de4c972501
Merge pull request #1267 from nupplaphil/feat/woodpecker
Use labels for woodpecker continuous deployments
2022-06-26 15:57:18 +02:00
Philipp Holzer ed3184fd0b
Use labels for woodpecker continuous deployments 2022-06-26 15:45:58 +02:00
Philipp Holzer df8cc5d6c3
Merge pull request #1266 from MrPetovan/bug/fatal-errors
[qcomment] Fix wrong type hint for footer hook function
2022-06-25 11:06:39 +02:00
Hypolite Petovan 88739fcb70 [qcomment] Fix wrong type hint for footer hook function
- Address https://github.com/friendica/friendica/issues/11630#issuecomment-1166188409
2022-06-25 04:58:59 -04:00
Hypolite Petovan 3c5d0dc0cd
Merge pull request #1265 from Quix0r/rewrites/double-quotes-single
Rewrites/double quotes single
2022-06-24 18:49:05 -04:00
Roland Häder 02d4a560a1
Changes:
- added type-hint + intval() (@MrPetovan)
- also changed `if (!$foo == '')` to `if ($foo != '')`
- added some spaces for better readability
2022-06-24 23:35:20 +02:00
Roland Häder 3ab46781b1
Changes:
- if a <addon>_module() function is empty, it is more a statement and not a
  real function
2022-06-24 23:35:16 +02:00
Roland Häder e895b55f6d
Cleaned up 2022-06-23 17:28:15 +02:00
Roland Häder 6c84c9dfc9
Changes:
- made variable $uriId camel-case
2022-06-23 16:04:54 +02:00
Roland Häder 52d971ceab
Wrong type-hint 2022-06-23 12:05:14 +02:00
Roland Häder def2389b57
Wrong type-hint + renamed $b -> $body 2022-06-23 07:54:20 +02:00
Roland Häder 93267b5b83
Fixed wrong type-hint + "imported" class 2022-06-23 07:45:59 +02:00
Roland Häder 43c0e689f9
Wrong type-hint + renamed $b -> $body 2022-06-23 07:42:35 +02:00
Roland Häder 4239112dec
Ops 2022-06-23 07:37:12 +02:00
Roland Häder 37f3f0e621
Wrong types, why call $b so often ... 2022-06-23 07:34:57 +02:00
Roland Häder af994b4818
Ops, wrong type 2022-06-23 07:28:19 +02:00
Roland Häder a2760cb1d1
Re-formatted a bit 2022-06-23 07:27:10 +02:00
Roland Häder 04df7f6e05
Changes:
- added more type-hints
- cleaned up some files (curly braces, spaces)
2022-06-23 07:17:00 +02:00
Roland Häder a1e17968d1
leistungsschutzrecht_is_member_site() returns boolean value 2022-06-23 06:26:42 +02:00
Roland Häder 0ecd772958
Changes:
- added some type-hints
- changed double-quotes to singl
- cleaned up file (e.g. wrong place for curly braces)
2022-06-23 06:21:07 +02:00
Roland Häder 3bda8dfa32
Changes:
- changed more double-quotes to single
- cleaned up js_upload/file-uploader/server/php.php a lot
- added some type-hints
2022-06-23 06:09:29 +02:00
Roland Häder 28cdecea93
Changes:
- changed more double-quotes to single
- `include` is not a function
2022-06-23 05:53:10 +02:00
Roland Häder be9d786ef9
Ops, we need this back! :-( 2022-06-23 05:50:12 +02:00
Roland Häder b9f330fa18
Changed:
- removed discouraged ?>
- changed double-quotes to single
2022-06-23 01:48:01 +02:00
Hypolite Petovan 4603ca00e6
Merge pull request #1264 from Quix0r/fixes/empty-array-get-info-from-url
Images::getInfoFromURL[Cached]() will both return empty arrays ...
2022-06-22 13:32:31 -04:00
Roland Häder f7ba4848bc
Changes:
- ops, my bad that I misunderstood @MrPetovan here and maybe me having a cold :-/
- also made $contactId camel-case
2022-06-22 19:01:50 +02:00
Roland Häder 7d171c9787
Converted more double-quotes to single 2022-06-22 19:01:45 +02:00
Roland Häder 07307823ca
Changed more double-quotes to single 2022-06-22 18:55:48 +02:00
Roland Häder 04466968dc
Let's avoid local variables 2022-06-22 18:19:52 +02:00
Roland Häder d39717a2d5
Converted more double-quotes to single 2022-06-22 18:19:11 +02:00
Roland Häder b1b26062fc
Images::getInfoFromURL[Cached]() will both return empty arrays on error and that needs to be reflected here, too. 2022-06-22 17:20:11 +02:00
Hypolite Petovan 4e825fe621
Merge pull request #1263 from loma-one/develop
Complement the gif emoji
2022-06-19 07:14:09 -04:00
loma-one bb913f81a3 Merge branch 'loma-one-patch-1' into develop 2022-06-19 09:46:30 +02:00
loma-one b4aae7fab3 Supplement emoji
Complete the fediverse, commercial emoji & close the name by :
2022-06-19 08:57:40 +02:00
loma-one 631ad78efc
Add files via upload 2022-06-18 08:53:09 +02:00
Hypolite Petovan 62a49c3c63
Merge pull request #1262 from loma-one/patch-3
Duplicates merged
2022-06-15 13:02:44 -04:00
loma-one dc5e218526
Update unicode_smilies/unicode_smilies.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2022-06-15 18:42:25 +02:00
loma-one ab71c7b80b
Update unicode_smilies/unicode_smilies.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2022-06-15 18:42:15 +02:00
loma-one 6b17e94b86
Update unicode_smilies/unicode_smilies.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2022-06-15 18:42:08 +02:00
loma-one 6ba6f78c3e
Duplicates merged
Duplicates merged & emoji enabled/disabled
2022-06-14 13:33:36 +02:00
Hypolite Petovan 5d7dbe354a
Merge pull request #1261 from tobiasd/20220613-ar
AR translation updates
2022-06-13 07:58:32 -04:00
Tobias Diekershoff 716efd23fe
showmore addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
Tobias Diekershoff b6342eca0a
rendertime addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
Tobias Diekershoff 85220c4bf6
nitter addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
Tobias Diekershoff b00459d077
mailstream addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
Tobias Diekershoff 990312fafb
statusnet addon AR translation THX ButterflyOfFire 2022-06-13 09:49:29 +02:00
Tobias Diekershoff 07df35bad4
Merge pull request #1260 from MrPetovan/imgbot
[ImgBot] Optimize images
2022-06-12 07:40:58 +02:00
ImgBotApp 1f0372c4b5 [ImgBot] Optimize images
*Total -- 939.27kb -> 798.60kb (14.98%)

/smilies_adult/icons/bong.gif -- 0.96kb -> 0.19kb (80.06%)
/smiley_pack/icons/animals/bunnyflowers.gif -- 6.48kb -> 1.30kb (80.02%)
/smiley_pack/icons/love/inlove.gif -- 0.98kb -> 0.21kb (78.51%)
/smiley_pack/icons/fantasy/dragon.gif -- 3.35kb -> 0.98kb (70.74%)
/smiley_pack/icons/food/popcorn.gif -- 1.13kb -> 0.34kb (69.87%)
/smiley_pack/icons/sport/tennis.gif -- 1.04kb -> 0.34kb (67.58%)
/smiley_pack/icons/fantasy/dragonwhelp.gif -- 2.28kb -> 0.77kb (66.47%)
/smileybutton/view/default.svg -- 3.43kb -> 1.24kb (63.78%)
/smileybutton/view/vier.svg -- 3.48kb -> 1.29kb (62.95%)
/smiley_pack/icons/fight/acid.gif -- 69.20kb -> 26.86kb (61.19%)
/smiley_pack/icons/smoking/smoking.gif -- 2.23kb -> 0.95kb (57.56%)
/smiley_pack/icons/love/loveheart.gif -- 0.64kb -> 0.28kb (56.75%)
/smiley_pack/icons/animals/frog.gif -- 1.54kb -> 0.69kb (55.57%)
/smiley_pack/icons/music/guitar.gif -- 2.02kb -> 0.91kb (54.88%)
/smiley_pack/icons/fight/bfg.gif -- 2.21kb -> 1.01kb (54.43%)
/smileybutton/view/smoothly.svg -- 4.46kb -> 2.09kb (53.16%)
/smiley_pack/icons/devilangel/catdevil.gif -- 1.92kb -> 0.95kb (50.28%)
/smilies_adult/icons/sperm.gif -- 2.84kb -> 1.41kb (50.28%)
/smiley_pack/icons/animals/bunny.gif -- 1.45kb -> 0.72kb (50.2%)
/smiley_pack/icons/tired/countsheep.gif -- 1.48kb -> 0.75kb (49.34%)
/smiley_pack/icons/sport/cycling.gif -- 1.84kb -> 0.95kb (48.22%)
/smiley_pack/icons/animals/sheep.gif -- 7.45kb -> 3.86kb (48.19%)
/js_upload/file-uploader/client/loading.gif -- 1.65kb -> 0.88kb (46.39%)
/js_upload/file-uploader/tests/sample-files/1imagelonglonglonglonglonglongname.gif -- 1.65kb -> 0.88kb (46.39%)
/smiley_pack/icons/sport/snooker.gif -- 10.99kb -> 5.94kb (45.99%)
/smiley_pack/icons/music/violin.gif -- 1.76kb -> 0.99kb (43.66%)
/smiley_pack/icons/fight/chainsaw.gif -- 19.89kb -> 11.25kb (43.41%)
/smiley_pack/icons/fight/gangs.gif -- 1.65kb -> 1.04kb (37.31%)
/smiley_pack/icons/music/drums.gif -- 7.42kb -> 4.66kb (37.23%)
/birdavatar/avatars/accessorie_7.png -- 7.24kb -> 4.56kb (37.05%)
/smiley_pack/icons/food/broccoli.gif -- 3.93kb -> 2.62kb (33.47%)
/smiley_pack/icons/sport/bowling.gif -- 3.48kb -> 2.39kb (31.39%)
/smiley_pack/icons/animals/horse.gif -- 2.41kb -> 1.72kb (28.69%)
/smiley_pack/icons/food/apple.gif -- 1.65kb -> 1.18kb (28.24%)
/smiley_pack/icons/love/iloveyou.gif -- 15.31kb -> 11.22kb (26.71%)
/smiley_pack/icons/drool/drool.gif -- 1.35kb -> 1.02kb (24.37%)
/smiley_pack/icons/devilangel/saint.gif -- 1.17kb -> 0.89kb (24.23%)
/smiley_pack/icons/babies/babycot.gif -- 3.37kb -> 2.61kb (22.62%)
/smiley_pack/icons/animals/monkey.gif -- 4.79kb -> 3.71kb (22.42%)
/smiley_pack/icons/animals/pig.gif -- 0.90kb -> 0.71kb (21.19%)
/birdavatar/avatars/accessorie_17.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_2.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_13.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_18.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_20.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_4.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/accessorie_19.png -- 0.38kb -> 0.31kb (19.9%)
/birdavatar/avatars/hoop_8.png -- 0.38kb -> 0.31kb (19.9%)
/smiley_pack/icons/fight/2guns.gif -- 0.79kb -> 0.64kb (19.51%)
/smiley_pack/icons/sport/archery.gif -- 2.73kb -> 2.28kb (16.58%)
/smiley_pack/icons/music/elvis.gif -- 1.75kb -> 1.46kb (16.27%)
/smiley_pack/icons/laugh/rofl.gif -- 0.99kb -> 0.83kb (15.94%)
/smiley_pack/icons/tired/yawn.gif -- 1.70kb -> 1.44kb (15.7%)
/smiley_pack/icons/confused/shrug.gif -- 0.18kb -> 0.15kb (15.3%)
/smiley_pack/icons/babies/pregnant.gif -- 1.47kb -> 1.26kb (14.53%)
/smiley_pack/icons/animals/fish.gif -- 4.39kb -> 3.80kb (13.51%)
/smiley_pack/icons/fight/viking.gif -- 9.42kb -> 8.15kb (13.5%)
/smiley_pack/icons/fantasy/alienmonster.gif -- 7.46kb -> 6.46kb (13.42%)
/smiley_pack/icons/cool/affro.gif -- 0.15kb -> 0.13kb (12.66%)
/smiley_pack/icons/devilangel/blondedevil.gif -- 2.89kb -> 2.54kb (12.07%)
/smiley_pack/icons/disgust/fartinbed.gif -- 22.74kb -> 20.01kb (12.03%)
/smiley_pack/icons/devilangel/turnevil.gif -- 0.62kb -> 0.55kb (11.95%)
/smiley_pack/icons/sport/golf.gif -- 2.34kb -> 2.06kb (11.88%)
/smiley_pack/icons/animals/cow.gif -- 0.76kb -> 0.67kb (11.79%)
/smiley_pack/icons/animals/chick.gif -- 3.58kb -> 3.17kb (11.62%)
/smiley_pack/icons/devilangel/daseesaw.gif -- 6.62kb -> 5.87kb (11.34%)
/smiley_pack/icons/sport/fencing.gif -- 10.98kb -> 9.76kb (11.13%)
/ljpost/livejournal.png -- 3.51kb -> 3.14kb (10.63%)
/smiley_pack/icons/confused/dazed.gif -- 1.58kb -> 1.42kb (10.16%)
/smiley_pack/icons/fight/bowman.gif -- 1.31kb -> 1.18kb (9.95%)
/smiley_pack/icons/fight/alienfight.gif -- 25.52kb -> 23.31kb (8.64%)
/smiley_pack/icons/fight/samurai.gif -- 3.21kb -> 2.94kb (8.37%)
/smiley_pack/icons/disgust/toilet.gif -- 8.73kb -> 8.03kb (7.96%)
/smiley_pack/icons/sport/juggling.gif -- 4.19kb -> 3.86kb (7.88%)
/smiley_pack/icons/animals/cat.gif -- 0.84kb -> 0.78kb (7.52%)
/smilies_adult/icons/drunk.gif -- 0.31kb -> 0.29kb (7.48%)
/smiley_pack/icons/fight/lasergun.gif -- 2.02kb -> 1.87kb (7.39%)
/smiley_pack/icons/fight/hammersplat.gif -- 16.44kb -> 15.26kb (7.22%)
/smiley_pack/icons/animals/bee.gif -- 4.40kb -> 4.08kb (7.21%)
/smiley_pack/icons/devilangel/cherub.gif -- 1.58kb -> 1.46kb (7.06%)
/smiley_pack/icons/sport/skipping.gif -- 0.84kb -> 0.78kb (6.98%)
/smiley_pack/icons/fight/machinegun.gif -- 1.67kb -> 1.55kb (6.85%)
/smiley_pack/icons/fight/sabre.gif -- 0.65kb -> 0.60kb (6.78%)
/smiley_pack/icons/music/dj.gif -- 4.34kb -> 4.05kb (6.77%)
/smiley_pack/icons/cool/cool.gif -- 5.02kb -> 4.71kb (6.26%)
/birdavatar/avatars/accessorie_8.png -- 13.16kb -> 12.34kb (6.24%)
/smiley_pack/icons/disgust/fartblush.gif -- 29.16kb -> 27.37kb (6.11%)
/smiley_pack/icons/fight/marine.gif -- 5.69kb -> 5.34kb (6.11%)
/smiley_pack/icons/food/fryegg.gif -- 6.34kb -> 5.97kb (5.84%)
/birdavatar/avatars/wing_5.png -- 5.54kb -> 5.22kb (5.8%)
/birdavatar/avatars/body_7.png -- 17.19kb -> 16.20kb (5.72%)
/smiley_pack/icons/disgust/vomit.gif -- 2.66kb -> 2.51kb (5.57%)
/smiley_pack/icons/food/banana.gif -- 1.51kb -> 1.43kb (5.44%)
/smiley_pack/icons/sad/sigh.gif -- 0.73kb -> 0.69kb (5.08%)
/smiley_pack/icons/sport/darts.gif -- 6.94kb -> 6.59kb (5.03%)
/smiley_pack/icons/food/tomato.gif -- 2.57kb -> 2.45kb (4.83%)
/smiley_pack/icons/fight/crossbow.gif -- 0.87kb -> 0.84kb (3.82%)
/smiley_pack/icons/animals/snail.gif -- 0.63kb -> 0.61kb (3.72%)
/twitter/vendor/abraham/twitteroauth/tests/kitten.jpg -- 210.64kb -> 202.94kb (3.66%)
/smiley_pack/icons/sport/horseriding.gif -- 10.24kb -> 9.89kb (3.48%)
/smiley_pack/icons/food/carrot.gif -- 0.57kb -> 0.55kb (3.09%)
/smiley_pack/icons/fantasy/ghost.gif -- 1.03kb -> 1.00kb (2.86%)
/smiley_pack/icons/sport/surfing.gif -- 1.60kb -> 1.56kb (2.68%)
/smiley_pack/icons/animals/bigspider.gif -- 25.37kb -> 24.71kb (2.59%)
/smiley_pack/icons/fantasy/dinosaur.gif -- 2.77kb -> 2.70kb (2.57%)
/smiley_pack/icons/animals/hamster.gif -- 1.22kb -> 1.19kb (2.57%)
/smiley_pack/icons/animals/dragonfly.gif -- 2.49kb -> 2.42kb (2.51%)
/smiley_pack/icons/animals/dolphin.gif -- 1.54kb -> 1.51kb (2.34%)
/birdavatar/avatars/tail_6.png -- 12.88kb -> 12.58kb (2.33%)
/highlightjs/asset/styles/brown-papersq.png -- 17.77kb -> 17.36kb (2.32%)
/smiley_pack/icons/love/love.gif -- 3.37kb -> 3.29kb (2.32%)
/smiley_pack/icons/animals/dog.gif -- 5.25kb -> 5.13kb (2.22%)
/birdavatar/avatars/tail_4.png -- 5.36kb -> 5.25kb (2.04%)
/smiley_pack/icons/oldcore/headbang.gif -- 0.86kb -> 0.85kb (1.92%)
/smiley_pack/icons/laugh/loltv.gif -- 2.28kb -> 2.25kb (1.54%)
/smiley_pack/icons/animals/elephant.gif -- 0.93kb -> 0.92kb (1.47%)
/smiley_pack/icons/sad/prisoner.gif -- 1.92kb -> 1.89kb (1.12%)
/smiley_pack/icons/babies/stork.gif -- 18.54kb -> 18.37kb (0.94%)
/smiley_pack/icons/tired/hammock.gif -- 8.12kb -> 8.05kb (0.9%)
/smiley_pack/icons/animals/crab.gif -- 2.65kb -> 2.63kb (0.88%)
/smiley_pack/icons/oldcore/shaka.gif -- 2.19kb -> 2.17kb (0.85%)
/smiley_pack/icons/sport/football.gif -- 1.89kb -> 1.88kb (0.83%)
/birdavatar/avatars/tail_2.png -- 10.09kb -> 10.02kb (0.75%)
/birdavatar/avatars/eyes_1.png -- 6.67kb -> 6.62kb (0.75%)
/smiley_pack/icons/food/cooking.gif -- 3.05kb -> 3.03kb (0.7%)
/smiley_pack/icons/devilangel/devil.gif -- 1.95kb -> 1.94kb (0.45%)
/smiley_pack/icons/love/lovebear.gif -- 4.39kb -> 4.37kb (0.31%)
/smiley_pack/icons/drink/tea.gif -- 9.68kb -> 9.66kb (0.27%)
/birdavatar/avatars/body_9.png -- 21.06kb -> 21.01kb (0.25%)
/smiley_pack/icons/happy/tearsofjoy.gif -- 1.27kb -> 1.26kb (0.23%)
/birdavatar/avatars/body_3.png -- 20.46kb -> 20.43kb (0.17%)
/smiley_pack/icons/respect/hailking.gif -- 23.18kb -> 23.14kb (0.17%)
/smiley_pack/icons/fight/tank.gif -- 11.19kb -> 11.18kb (0.11%)
/birdavatar/avatars/accessorie_6.png -- 7.99kb -> 7.99kb (0.02%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-06-11 09:08:16 -04:00
Hypolite Petovan 612272ef80
Merge pull request #1259 from tobiasd/20220611-winphone
mark the whindowsphonepush as unsupported
2022-06-11 08:02:44 -04:00
Tobias Diekershoff bea8d103bf
mark the whindowsphonepush as unsupported
The Windows Phone app for Friendica does not seem to exist anymore (see https://www.microsoft.com/store/p/friendica-mobile/9nblggh0fhmn) which was linked from a promo video as store location. So lets set it to unsupported and deprecate it once 2022.09 was released.
2022-06-11 13:56:52 +02:00
Hypolite Petovan 7bb3595d46
Merge pull request #1257 from loma-one/patch-1
Update unicode_smilies.php
2022-06-08 14:48:45 -04:00
loma-one 14baddba32
Update unicode_smilies.php
changed
2022-06-08 20:07:32 +02:00
loma-one 8d84f2a557
Update unicode_smilies.php
The plain ASCII emoticons are not enclosed by a :
2022-06-08 13:17:05 +02:00
loma-one 357c7e7597
Update unicode_smilies.php
:p in re:pubica was interpreted as emoji and output in text
2022-06-08 12:24:53 +02:00
Michael Vogel 8089989083
Merge pull request #1256 from tobiasd/20220607-lng
RU translation updates
2022-06-07 07:13:00 +02:00
Tobias Diekershoff 6d3c4e51ac
planets translation update THX SpcCw 2022-06-07 06:42:10 +02:00
Tobias Diekershoff ecc841b5f7
startpage translation update THX SpcCw 2022-06-07 06:42:10 +02:00
Tobias Diekershoff 682ce12ac2
ijpost translation update THX SpcCw 2022-06-07 06:42:04 +02:00
Tobias Diekershoff 169081d503
Merge pull request #1255 from annando/twitter-extid
Twitter: Only search for comments with extid to avoid problems with mirrored posts
2022-06-02 15:21:41 +02:00
Michael c71e29a772 Twitter: Only search for comments with extid to avoid problems with mirrored posts 2022-06-02 13:16:45 +00:00
Philipp Holzer 07300cb9c9
Merge pull request #1254 from tobiasd/20220531-ru
RU translation updates THX Alexander An
2022-05-31 07:35:27 +02:00
Tobias Diekershoff 58d40a1d81
RU translation of curweather addon THX Alexander An 2022-05-31 07:07:44 +02:00
Tobias Diekershoff c5d19154f2
RU translation of webrtc addon updated THX Alexander An 2022-05-31 07:06:56 +02:00
Tobias Diekershoff d304873049
advanced content filter added RU translation THX Alexander An 2022-05-31 07:05:28 +02:00
Hypolite Petovan ffe62a2577
Merge pull request #1253 from tobiasd/20220525-frhu
FR and HU translation updates
2022-05-25 09:05:16 -04:00
Tobias Diekershoff 19ae3851e8
advancedcontentfilter addon HU translation update THX Balázs Úr 2022-05-25 08:37:28 +02:00
Tobias Diekershoff 348ca80292
markdown addon FR translation updated THX kalon33 2022-05-25 08:36:54 +02:00
Tobias Diekershoff 91f5ba9eab
notifyall addon FR translation updated THX kalon33 2022-05-25 08:36:09 +02:00
Michael Vogel 640cc4c717
Merge pull request #1252 from tobiasd/20220525-fr
FR translation updates THX  kalon33
2022-05-24 08:55:34 +02:00
Tobias Diekershoff 886c56e4b7
twitter addon FR translation updated THX kalon33 2022-05-24 08:01:18 +02:00
Tobias Diekershoff 53a806af87
notifyall addon FR translation updated THX kalon33 2022-05-24 08:00:56 +02:00
Tobias Diekershoff d0dfb04585
mailstream addon FR translation updated THX kalon33 2022-05-24 07:59:53 +02:00
Tobias Diekershoff 96637b30a4
tictac addon FR translation updated THX kalon33 2022-05-24 07:59:32 +02:00
Tobias Diekershoff ab2eaf136e
morechoice addon FR translation updated THX kalon33 2022-05-24 07:59:10 +02:00
Tobias Diekershoff 6481b384ee
langfilter addon FR translation updated THX kalon33 2022-05-24 07:58:37 +02:00
Hypolite Petovan efd654d08e
Merge pull request #1251 from tobiasd/20220513-lngs
Translation Updates
2022-05-13 11:28:54 -04:00
Tobias Diekershoff 1a8925b0aa
langfilter ZH CN translation update THX shykana 2022-05-13 16:38:26 +02:00
Tobias Diekershoff bb1ca9ee92
PL translation advancedcontentfilter THX strebski 2022-05-13 16:32:32 +02:00
Tobias Diekershoff 4eec2841f4
DE translation advancedcontentfilter updated 2022-05-13 16:31:57 +02:00
Tobias Diekershoff 3ce438f4d6
Merge pull request #1250 from MrPetovan/bug/11491-advancedcontentfilter-variables-mismatch
[advancedcontentfilter] Use a random item to validate fields on rule save
2022-05-11 15:12:34 +02:00
Hypolite Petovan 444330d91f [advancedcontentfilter] Update main translation file after string was added 2022-05-11 09:00:41 -04:00
Hypolite Petovan 3455871f40 [advancedcontentfilter] Use a random item to validate fields on rule save
- Remove hard-coded list of allowed fields
2022-05-11 09:00:19 -04:00
Michael Vogel 99a3ddfefa
Merge pull request #1249 from tobiasd/20220503-pl
PL translation webrtc THX strebski
2022-05-03 13:15:52 +02:00
Tobias Diekershoff ffb8e897cf
PL translation webrtc THX strebski 2022-05-03 09:15:05 +02:00
Michael Vogel 5e8fc51b94
Merge pull request #1248 from tobiasd/20220502-daDK
DA DK translation for various addons added THX atjn
2022-05-02 14:00:16 +02:00
Tobias Diekershoff 931be19eca
DA DK translation for various addons added THX atjn 2022-05-02 12:26:36 +02:00
Michael Vogel 798f163a9a
Merge pull request #1247 from tobiasd/20220429-webrtcmessages
regen webrtc messeages.po file
2022-04-29 16:55:52 +02:00
Tobias Diekershoff d584f0e729
regen webrtc messeages.po file 2022-04-29 15:57:44 +02:00
Hypolite Petovan 2fd8b75598
Merge pull request #1246 from atjn/webrtc-support
Update browser support notes for WebRTC
2022-04-28 16:08:54 -04:00
atjn f1933d2f89 Update browser support notes 2022-04-28 21:12:20 +02:00
Hypolite Petovan 5101253aa0
Merge pull request #1245 from nupplaphil/feat/http_client_arg
[various] Introduce explicit HttpClient "Accept" parameter
2022-04-08 14:36:55 -04:00
Philipp Holzer bfc4542881
Remove redundant header 2022-04-08 20:06:45 +02:00
Philipp Holzer 46221882c3
Remove accept parameter for request again 2022-04-03 19:35:39 +02:00
Philipp Holzer 707e03635b
Remove accept parameter for head/post again 2022-04-03 19:33:08 +02:00
Philipp Holzer 82f8c14633
Move ACCEPT constants to own "enum" class 2022-04-02 21:16:21 +02:00
Michael Vogel aed0b53925
Merge pull request #1244 from tobiasd/20220325-pl
added PL translation for SAML addon THX strebski
2022-03-25 08:18:31 +01:00
Tobias Diekershoff 08b984029a
added PL translation for SAML addon THX strebski 2022-03-25 07:06:35 +01:00
Hypolite Petovan ea16a541db
Merge pull request #1243 from tobiasd/20220323-pl
PL translation update THX strebski
2022-03-23 15:29:48 -04:00
Tobias Diekershoff e3932e4575
PL translation update blackout addon THX strebski 2022-03-23 20:16:55 +01:00
Tobias Diekershoff 13298d507d
PL translation rendertime THX strebski 2022-03-23 20:16:42 +01:00
Hypolite Petovan 006102bf38
Merge pull request #1242 from tobiasd/20220318-pl
PL translation updates THX strebski
2022-03-18 12:26:19 -04:00
Tobias Diekershoff 34c7094790
PL translation updates THX strebski 2022-03-18 17:10:36 +01:00
Hypolite Petovan 14124f49e7
Merge pull request #1241 from tobiasd/20220317-pl
PL translation updates THX strebski
2022-03-17 14:16:39 -04:00
Tobias Diekershoff 4778cc4be7
PL translation updates THX strebski 2022-03-17 19:09:32 +01:00
Hypolite Petovan 2387e7d11b
Merge pull request #1240 from tobiasd/20220308-pl
PL translation update THX strebski
2022-03-08 10:54:02 -05:00
Tobias Diekershoff ed96e0a2f6
PL translation update THX strebski 2022-03-08 16:26:19 +01:00
Philipp Holzer ba94368482
Merge pull request #1239 from friendica/stable
Fix Woodpecker Releaser
2022-03-07 20:02:39 +01:00
Philipp Holzer c35a6d5834
Fix Woodpecker Releaser 2022-03-07 19:43:28 +01:00
Hypolite Petovan 3317ce2324
Merge pull request #1236 from nupplaphil/feat/s3
Add S3 Storage Backend
2022-02-25 08:56:05 -05:00
Philipp Holzer 3425cd3d47
Add feedback 2022-02-25 08:48:13 +01:00
Philipp Holzer 993685f2a5
Add messages.po 2022-02-25 08:46:15 +01:00
Philipp Holzer 3f800389dc
Config fix 2022-02-25 08:46:15 +01:00
Philipp Holzer 52edb1711a
Fix akeeba library 2022-02-25 08:46:15 +01:00
Philipp Holzer 9c4b12f868
Add S3 Storage Backend 2022-02-25 08:46:14 +01:00
Hypolite Petovan 95fcf98759
Merge pull request #1238 from nupplaphil/fix/git_config
Fix woodpecker GIT email/name
2022-02-24 18:02:23 -05:00
Philipp Holzer 25e95fa2da
Fix GIT email/name 2022-02-24 23:20:01 +01:00
Michael Vogel 7be6eb5d00
Merge pull request #1237 from MrPetovan/task/10862-move-unfollow-worker
[twitter] Update unfollow and block hook functions after parameters have changed
2022-02-24 21:24:48 +01:00
Hypolite Petovan d886aac0e3 [twitter] Update unfollow and block hook functions after parameters have changed 2022-02-23 10:42:14 -05:00
Tobias Diekershoff d07a9185be
Merge pull request #1235 from nupplaphil/bug/releaser
Fix CI release prefix
2022-02-06 22:23:19 +01:00
Philipp Holzer 6914b94454
Exclude .woodpecker instead of .drone.yml 2022-02-06 21:50:45 +01:00
Philipp Holzer 444bdfe619
fix command 2022-02-06 21:37:04 +01:00
Philipp Holzer 7e1d18f8a3
Fix CI release prefix 2022-02-06 21:33:26 +01:00
Hypolite Petovan dd6bf79e19
Merge pull request #1234 from annando/twitter-avatar
Twitter: Assign contacts via their twitter id - not via their url
2022-02-02 18:07:37 -05:00
Michael fd2fb29568 Use the owner-id at another place 2022-02-02 22:30:54 +00:00
Michael a1a3322968 Twitter: Assign contacts via their twitter id - not via their url 2022-02-02 22:12:08 +00:00
Hypolite Petovan f9ff50b2cb
Merge pull request #1233 from annando/avatar
Birdavatar: Fix log function / Twitter: Fix avatar address
2022-01-30 16:52:37 -05:00
Michael d527848dfc Merge remote-tracking branch 'upstream/2021.12-rc' into avatar 2022-01-30 19:00:14 +00:00
Michael 00ac39e941 Birdavatar: Fix log function / Twitter: Fix avatar address 2022-01-30 17:47:42 +00:00
Philipp de91e04678
Merge pull request #1231 from tobiasd/20220122-lng
DE, HU, SV translation updates
2022-01-22 19:09:05 +01:00
Tobias Diekershoff 1e60ac18cf DE addon translation update 2022-01-22 18:52:57 +01:00
Tobias Diekershoff 484482a4ce HU addon translation update THX Balázs Úr 2022-01-22 18:52:30 +01:00
Tobias Diekershoff 631b456755 SV addon translation update THX Kristoffer Grundström 2022-01-22 18:50:50 +01:00
Tobias Diekershoff 5a236d72b6
Merge pull request #1230 from MrPetovan/task/langfilter-improve
[langfilter] Prevent image proxifying while converting text for language detection
2022-01-20 19:10:15 +01:00
Hypolite Petovan b6d03e10b6 [langfilter] Prevent image proxifying while converting text for language detection 2022-01-20 09:23:31 -05:00
Tobias Diekershoff 2e16db590a
Merge pull request #1229 from MrPetovan/task/langfilter-improve
[langfilter] Improve language detection by removing contiguous whitespace from the message
2022-01-20 07:10:38 +01:00
Hypolite Petovan 34437e368f [langfilter] Improve language detection by removing contiguous whitespace from the message
- HTML-heavy posts had several superfluous whitespace character putting them over the minimum message length
2022-01-19 19:52:04 -05:00
Philipp 5c2071a72b
Merge pull request #1228 from MrPetovan/bug/11139-twitter-follow-not-connected
[twitter] Abort follow process on API call failure
2022-01-07 14:24:39 +01:00
Hypolite Petovan e46bff23d5 [twitter] Abort follow process on API call failure
- Prevents users without a connected Twitter account from visibly following a Twitter contact
2022-01-07 12:34:28 +01:00
Hypolite Petovan 5df88741f2
Merge pull request #1227 from GidiKroon/bug/fix-webdav-storage-config
Add name check for webdav configuration options
2022-01-07 10:21:14 +01:00
Hypolite Petovan 1a721b976d
Merge pull request #1226 from nupplaphil/bug/fix_check
Fixing CI Changed_Files
2022-01-07 10:17:53 +01:00
Gidi Kroon 327bfcb2b5 Add name check for webdav configuration options
The webdav_storage addon should check whether it should provide its
config options and its instance based on the provided `$data['name']`.
Not doing this will override the configuration and instance of another
storage add-on.
2022-01-07 02:14:24 +01:00
Philipp Holzer d1bac4f620
Fixing CI Changed_Files 2022-01-06 23:11:59 +01:00
Tobias Diekershoff 1b87105bb8
Merge pull request #1225 from nupplaphil/bug/woodpecker
Fixup woodpecker
2021-12-30 20:07:58 +01:00
Philipp Holzer 61c614c4da
Fixup woodpecker 2021-12-30 19:28:50 +01:00
Philipp Holzer 05f7e4264c
Fixup woodpecker 2021-12-30 19:26:35 +01:00
Hypolite Petovan ff763795a3
Merge pull request #1224 from nupplaphil/feat/woodpecker
Replace Drone with Woodpecker
2021-12-30 18:28:43 +01:00
Philipp Holzer dab21d0ba5
Replace Drone with Woodpecker 2021-12-30 14:04:35 +01:00
Hypolite Petovan 59f517fbfe
Merge pull request #1223 from tobiasd/20211222-missingSmuleybuttonMSGs
[smileybutton] generated missing lang/C/messages.po file
2021-12-22 11:01:29 -05:00
Tobias Diekershoff 4abb880f57 [smileybutton] generated missing lang/C/messages.po file 2021-12-22 15:52:56 +01:00
Hypolite Petovan e478bdf508
Merge pull request #1222 from tobiasd/20211213-catavatar
FR catavatar translations THX Walter Bulbazor
2021-12-13 12:50:07 -05:00
Tobias Diekershoff 9a3ca26fa9 FR catavatar translations THX Walter Bulbazor 2021-12-13 18:43:12 +01:00
Philipp 32a7560595
Merge pull request #1221 from annando/blocktrans
Blockbot: Added translation to the setings descrption
2021-12-13 07:29:00 +01:00
Michael Vogel a156cb2714
Merge pull request #1220 from tobiasd/20211213-de
openstreetmap DE translation update
2021-12-13 07:21:54 +01:00
Michael 767d76682b messages.po updated 2021-12-13 06:19:14 +00:00
Michael 57db23c641 Blockbot: Added translation to the setings descrption 2021-12-13 06:16:31 +00:00
Tobias Diekershoff 8b5c8d78a4 openstreetmap DE translation update 2021-12-13 07:02:30 +01:00
Philipp d672029da0
Merge pull request #1219 from annando/rendertime
Rendertime: Admin configuration added
2021-12-12 23:14:38 +01:00
Michael 2077941432 Updated messages.po 2021-12-12 22:10:12 +00:00
Michael Vogel 2413c74b72
Apply suggestions from code review
Co-authored-by: Philipp <admin+Github@philipp.info>
2021-12-12 23:08:52 +01:00
Michael ce42fc43ce Rendertime: Admin configuration added 2021-12-12 05:57:21 +00:00
Hypolite Petovan 8495420eb7
Merge pull request #1218 from annando/morebots
Blockbot: add more bots to the allow and deny lists
2021-12-08 15:48:34 -05:00
Michael eb967c5433 Moved a bot to the good crawlers 2021-12-08 20:08:14 +00:00
Michael 9f69e05069 Blockbot: add more bots to the allow and deny lists 2021-12-08 20:00:45 +00:00
Michael Vogel 4b97fa0e5e
Merge pull request #1216 from MrPetovan/bug/10955-php-mysql-time
[various] Replace references to UTC_TIMESTAMP in SQL queries with a DateTimeFormat generated parameter
2021-12-05 20:00:43 +01:00
Hypolite Petovan adcdf447ce
Merge pull request #1217 from tobiasd/20211205-jsuploadDE
jsupload addon DE translation updated
2021-12-05 07:29:40 -05:00
Tobias Diekershoff dfdc47879a jsupload addon DE translation updated 2021-12-05 10:38:10 +01:00
Hypolite Petovan fd29c1a074 [various] Replace references to UTC_TIMESTAMP in SQL queries with a DateTimeFormat generated parameter 2021-12-03 07:35:02 -05:00
Michael Vogel 0de0faa44f
Merge pull request #1215 from tobiasd/20211203-twitter
twitter addon HU translations updated THX Balázs Úr
2021-12-03 08:21:16 +01:00
Tobias Diekershoff f039a07ff9 twitter addon HU translations updated THX Balázs Úr 2021-12-03 07:31:53 +01:00
Michael Vogel d8c393b57a
Merge pull request #1210 from MrPetovan/task/10978-settings-keyboard-actionable
[various] Convert connector/addon_settings hook functions to the new data format
2021-11-30 06:45:55 +01:00
Hypolite Petovan 3104d176e7 [various] Updated translation files after editing several strings 2021-11-29 06:55:24 -05:00
Hypolite Petovan 9acfdb4090 [various] Convert connector_settings hook functions to the new data array format
- Add separate template files to several addons
- Remove superfluous addon settings CSS files
2021-11-29 06:55:16 -05:00
Hypolite Petovan 779b38ec09 [various] Convert addon_settings hook functions to the new data array format
- Add separate template files to several addons
- Remove superfluous addon settings CSS files
2021-11-29 06:55:16 -05:00
Hypolite Petovan f0522a998b [various] Use __DIR__ constant in all Page registerStylesheet and registerFooterScript calls 2021-11-29 06:54:59 -05:00
Hypolite Petovan 5c0b20b21f
Merge pull request #1209 from nupplaphil/feat/module_di
[rendertime] Switch to args for module name
2021-11-27 17:11:16 -05:00
Hypolite Petovan dad7f75fd7
Merge pull request #1213 from tobiasd/20211127-removedeprecatedaddons
moved BLOGGER, BUFFER, NOTIMELINE and XMPP addons to the deprecated-addons repository
2021-11-27 13:29:43 -05:00
Philipp 9e6f5c1339
Merge pull request #1214 from tobiasd/20211127-twitter
DE translation of the twitter addon updated
2021-11-27 18:55:12 +01:00
Tobias Diekershoff f5ea9f14e2 DE translation of the twitter addon updated 2021-11-27 18:26:06 +01:00
Tobias Diekershoff c76eb06020 moved BLOGGER, BUFFER, NOTIMELINE and XMPP addons to the deprecated-addons repository
The translation resources have been removed from transifex.
A pull-request has been opened at the deprecated-addons repository.
2021-11-27 17:13:05 +01:00
Philipp 13ce3aa0a4
Merge pull request #1211 from MrPetovan/task/11022-twitter-support-delete
[twitter] Add support for unretweet and post/comment deletion
2021-11-27 13:29:19 +01:00
Philipp Holzer 82cef20e60
Split and delete `ModuleController`
- $moduleName is part of the argument string => App\Arguments
- $isBackend boolean already part of App\Mode::isBackend()
- $module is now the direct return of App\Router::getModule()
- ModuleController::run() moved to BaseModule::run()
2021-11-27 12:42:12 +01:00
Hypolite Petovan 4d7c1e795d
Merge pull request #1025 from hoergen/develop
Typos removed (hopefully)
2021-11-24 08:51:47 -05:00
Hypolite Petovan 1114692cb0
Merge pull request #1212 from fabrixxm/birdavatar
Bird Avatar Generator
2021-11-24 08:44:14 -05:00
fabrixxm f42fd689d9 Code standards 2021-11-24 14:30:30 +01:00
fabrixxm c307cc147b Replace last cat 2021-11-24 12:12:43 +01:00
fabrixxm 20bbee0d99 Bird Avatar Generator 2021-11-24 12:05:12 +01:00
Hypolite Petovan f90b9c6c86 [twitter] Updated main translation file after adding some strings 2021-11-23 18:33:50 -05:00
Hypolite Petovan 86a204af7d [twitter] Add support for unretweet and post/comment deletion
Remaining caveat: Comments posted on Twitter and imported in Friendica do not trigger any Notifier task, possibly because they are private to the user and don't require any remote deletion notifications sent. Comments posted on Friendica and mirrored on Twitter trigger the Notifier task and the Twitter counter-part will be deleted accordingly.
2021-11-23 17:59:08 -05:00
Hypolite Petovan 93e5d97fdd [twitter] Add item_by_link hook function 2021-11-23 17:52:52 -05:00
Hypolite Petovan 2f2b75ba50 [twitter] Improve probe_detect hook function
- Prevent tweet URLs to be considered as contact URLs
2021-11-23 17:51:12 -05:00
Michael Vogel a309d2bf1b
Merge pull request #1208 from MrPetovan/task/10839-securemail-php8-compat
[securemail] Upgrade Composer dependencies to fix PHP8 issue
2021-11-16 22:04:54 +01:00
Hypolite Petovan 0c7fd9a34d [securemail] Upgrade Composer dependencies to fix PHP8 issue
- Upgrading phpseclib/phpseclib (2.0.4 => 2.0.34)
- Upgrading singpolyma/openpgp-php (0.3.0 => 0.5.0)
2021-11-16 15:37:37 -05:00
Hypolite Petovan fd3bc71f82
Merge pull request #1207 from tobiasd/20211116-pl
PL translation updates to the rendertime and advancedcontentfilter THX Joe Doe
2021-11-16 06:59:44 -05:00
Tobias Diekershoff d189c83495 PL translation rendertime THX Joe Doe 2021-11-16 12:35:02 +01:00
Tobias Diekershoff 365c09619c PL translation advancedcontentfilter THX Joe Doe 2021-11-16 12:34:03 +01:00
Michael Vogel fb77e3c5ea
Merge pull request #1206 from MrPetovan/task/deprecated
[windowsphonepush] Simplify authentication structure
2021-11-07 16:52:48 +01:00
Hypolite Petovan 2bae6a41c3 [windowsphonepush] Simplify authentication structure 2021-11-07 10:45:27 -05:00
Michael Vogel ef71f4681e
Merge pull request #1205 from AlfredSK/patch-2
Fix WSOD twitter
2021-11-07 16:40:28 +01:00
Michael Vogel 4f93db9d57
Merge pull request #1204 from AlfredSK/patch-1
Fix WSOD tumblr
2021-11-07 16:39:57 +01:00
Steffen K9 c57c1de3d4
Fix WSOD twitter 2021-11-07 16:19:53 +01:00
Steffen K9 fde6d795cd
Fix WSOD tumblr 2021-11-07 16:18:27 +01:00
Hypolite Petovan 2ac5662ab2
Merge pull request #1203 from annando/deprecated
Replaced deprecated functionalities
2021-11-07 10:02:24 -05:00
Michael 25b267c6da Replaced deprecated functionalities 2021-11-07 14:01:30 +00:00
Philipp a6d6edf322
Merge pull request #1202 from annando/escapeTags
"escapeTags" is removed from the addons
2021-11-07 14:39:12 +01:00
Michael Vogel 8fea67dade
Apply suggestions from code review
Co-authored-by: Philipp <admin+Github@philipp.info>
2021-11-07 14:02:13 +01:00
Michael cff3dd67b0 "escapeTags" is removed from the addons 2021-11-07 08:49:34 +00:00
Hypolite Petovan 6a7f36ba89
Merge pull request #1201 from annando/boot
Support for cleared boot.php
2021-11-04 19:17:56 -04:00
Michael 6a349e7fd9 Support for cleared boot.php 2021-11-04 20:32:16 +00:00
Michael Vogel 95622a0f0d
Merge pull request #1200 from tobiasd/20211030-ar
AR translation updates THX abidin toumi
2021-10-30 09:20:20 +02:00
Tobias Diekershoff d22ac5d137 gravatar AR translations updated THX abidin toumi 2021-10-30 08:14:48 +02:00
Tobias Diekershoff 1bc3e6ac46 geonames AR translations updated THX abidin toumi 2021-10-30 08:13:57 +02:00
Tobias Diekershoff 6f52ecd025 forumdirectory AR translations updated THX abidin toumi 2021-10-30 08:13:02 +02:00
Tobias Diekershoff 8bce920963 dwpost AR translations updated THX abidin toumi 2021-10-30 08:12:07 +02:00
Tobias Diekershoff 514f5b80e0 gnot AR translations updated THX abidin toumi 2021-10-30 08:11:12 +02:00
Tobias Diekershoff 5ab61cd441 fromapp AR translations updated THX abidin toumi 2021-10-30 08:04:03 +02:00
Tobias Diekershoff 4aeb9d94e2 diaspora AR translations updated THX abidin toumi 2021-10-30 08:03:01 +02:00
Tobias Diekershoff 7296d2428d buglink AR translations updated THX abidin toumi 2021-10-30 07:58:46 +02:00
Tobias Diekershoff b48539d7d6 catavatar AR translations updated THX abidin toumi 2021-10-30 07:57:43 +02:00
Tobias Diekershoff 6a73d3e4b9 buffer AR translations updated THX abidin toumi 2021-10-30 07:56:39 +02:00
Tobias Diekershoff ff7792952b blogger AR translations updated THX abidin toumi 2021-10-30 07:53:36 +02:00
Tobias Diekershoff 9eb4ab297d blockem AR translations updated THX abidin toumi 2021-10-30 07:45:38 +02:00
Tobias Diekershoff f75b61d543 cookienotice AR translations updated THX abidin toumi 2021-10-30 07:44:39 +02:00
Tobias Diekershoff 25bcb62f67 curweather AR translations updated THX abidin toumi 2021-10-30 07:43:12 +02:00
Tobias Diekershoff c67ed6e918 AR translation added for blockbot addon THX abidin toumi 2021-10-30 07:41:26 +02:00
Hypolite Petovan 0bef8af9e3
Merge pull request #1198 from nupplaphil/feat/httpclient_restructuring
Paradigm Restructuring Part 3 - Logger HTTPClient
2021-10-29 09:56:46 -04:00
Philipp Holzer 6f4e9a14e3
Add Feedback :-) 2021-10-29 08:03:58 +02:00
Philipp Holzer fe296e5a73
Restructure HTTPClient for new paradigm 2021-10-28 19:36:00 +02:00
Philipp Holzer 6bc61d5ef7
Restructure Logger to new paradigm 2021-10-28 18:24:33 +02:00
Hypolite Petovan ab32dd53bb
Merge pull request #1196 from nupplaphil/feat/storage_restructuring
Paradigm Restructuring Part 2 - Storage
2021-10-28 10:12:54 -04:00
Philipp Holzer 5184ca0fc2
Restructure Storage to new paradigm 2021-10-27 20:02:55 +02:00
Hypolite Petovan 0d3a35dbe9
Merge pull request #1195 from nupplaphil/feat/core_new_paradigm
Paradigm Restructuring Part 1 - Core classes
2021-10-27 13:50:39 -04:00
Philipp 6e27f08021
Merge pull request #1199 from tobiasd/20211027-lng
AR translation updates abidin toumi
2021-10-27 14:38:47 +02:00
Tobias Diekershoff 28abb42fec AR translation of blackout addon updated THX abidin toumi 2021-10-27 14:00:29 +02:00
Tobias Diekershoff 38344b2234 AR translation of advancedcontentfilter addon updated THX abidin toumi 2021-10-27 13:59:21 +02:00
Tobias Diekershoff 2335face75 AR translation of blockem addon updated THX abidin toumi 2021-10-27 13:58:08 +02:00
Philipp Holzer 63fca0af29
Refactoring Core class structures ... 2021-10-26 21:44:28 +02:00
Philipp Holzer ae86b2e806
Restructure (P)Config to follow new paradigm 2021-10-23 11:29:15 +02:00
Philipp Holzer 2d3c2b4ee9
Restructure Cache to follow new paradigm 2021-10-23 10:49:26 +02:00
Tobias Diekershoff abf06edc90
Merge pull request #1194 from annando/logger
"log" is replaced with the corresponding logging functions
2021-10-21 10:41:45 +02:00
Michael 0bf6612ea3 "log" is replaced with the corresponding logging functions 2021-10-21 06:04:27 +00:00
Hypolite Petovan fd078ee0e2
Merge pull request #1193 from annando/no-enotify
Replace calls to "notification" with the new function
2021-10-19 22:22:50 -04:00
Michael 6b0172d093 Replace calls to "notification" with the new function 2021-10-19 19:53:10 +00:00
Hypolite Petovan e63881bf5b
Merge pull request #1192 from tobiasd/20211019-lng
langfilter translations DE, IT updated
2021-10-19 15:16:18 -04:00
Tobias Diekershoff 685cc96bc6 IT translation of langfilter addon updated THX SickShark X 2021-10-19 20:11:15 +02:00
Tobias Diekershoff 6352b25e46 DE translation of langfilter addon 2021-10-19 20:10:23 +02:00
Tobias Diekershoff d7fe20a1c3
Merge pull request #1191 from MrPetovan/bug/10634-markdown-html
[markdown] Limit HTML escaping to left chevrons
2021-10-18 17:26:26 +02:00
Hypolite Petovan 54ef923499 [markdown] Limit HTML escaping to left chevrons
- Right chevrons are used for quotation in Markdown
2021-10-18 09:13:47 -04:00
Tobias Diekershoff c22cb063d7
Merge pull request #1190 from MrPetovan/bug/10634-markdown-html
[markdown] Escape HTML characters before running Markdown::toBBCode()
2021-10-14 09:56:35 +02:00
Hypolite Petovan 43b0b5a0e4 [markdown] Escape HTML characters before running Markdown::toBBCode()
- This prevents HTML tag looking text to be purified in the Markdown to BBCode process
2021-10-14 02:11:53 -04:00
Philipp 31635cf6c3
Merge pull request #1189 from tobiasd/20211010-de
DE translation of the twitter addon updated
2021-10-10 14:36:13 +02:00
Tobias Diekershoff 809103d5f0 DE translation of the twitter addon updated 2021-10-10 14:28:40 +02:00
Michael Vogel 31de85dd82
Merge pull request #1188 from tobiasd/20211010-ar
added AR translations to the Friendica addons
2021-10-10 12:59:57 +02:00
Tobias Diekershoff 86de95f77b added AR translations to the Friendica addons
Thanks to the work of طاهر, Farida Khalaf, محمد أحمد, abidin toumi, Abdullah Alsabi, ButterflyOfFire and ominds the translation of Friendica into Arabic has crossed the magic 50% progress mark, so we now include their work into the addons repository.
2021-10-10 12:55:16 +02:00
Michael Vogel 943187d02f
Merge pull request #1187 from tobiasd/20211010-regenlng
regenerated all the strings
2021-10-10 09:45:30 +02:00
Tobias Diekershoff 25ba6023d0 regenerated all the strings 2021-10-10 08:27:53 +02:00
Philipp 55986ad17d
Merge pull request #1186 from MrPetovan/bug/10844-twitter-unfollow-block
[twitter] Fix typo in API path for unfollowing
2021-10-09 09:25:13 +02:00
Hypolite Petovan 7cc6f3f4a3 [twitter] Fix typo in API path for unfollowing 2021-10-09 02:05:25 -04:00
Hypolite Petovan d37f779908 [twitter] Mirror the Twitter block behavior concerning established relationships 2021-10-09 02:05:25 -04:00
Hypolite Petovan 52828b2b45 [twitter] Combine POST calls in a single function for centralized logging 2021-10-09 02:05:25 -04:00
Philipp c208a4ec14
Merge pull request #1185 from MrPetovan/bug/10851-favorites
[twitter] Fix typo in remote API path for likes
2021-10-09 07:48:06 +02:00
Hypolite Petovan 9e5768a8f7 [twitter] Update main translation file after updating a string 2021-10-08 22:25:42 -04:00
Hypolite Petovan 24740d0ba0 [twitter] Fix typo in remote API path for likes 2021-10-08 22:22:26 -04:00
Hypolite Petovan 21efea5b50 [twitter] Update description of autocreate contact option after contact drop feature was removed 2021-10-08 22:22:09 -04:00
Hypolite Petovan 0cac474b20
Merge pull request #1184 from annando/jappix-and-q
Jappix removed / more q calls have been replaced
2021-10-07 16:56:56 -04:00
Michael 793eca1f7b Replaced the last occurences of "q" 2021-10-07 19:30:10 +00:00
Michael e61a3d02ce Assigns values in a single array 2021-10-07 18:55:49 +00:00
Michael 16d7eafd41 More replaced "q" calls 2021-10-07 05:53:16 +00:00
Michael 24ffee74d7 Jappixmini removed since it relied upon the deprecated DFRN transport layer 2021-10-07 05:42:03 +00:00
Hypolite Petovan 1294b7e5bb
Merge pull request #1162 from nupplaphil/feat/webdav_storage
WebDav Storage backend
2021-10-05 14:42:05 -04:00
Tobias Diekershoff c4c2536052
Merge pull request #1182 from annando/deprecated
Moved widgets and remote permissions to the deprecated addons
2021-10-05 11:31:10 +02:00
Philipp Holzer 853c5b528f
Disable WebDav test because of impossible execution (yet) 2021-10-05 10:31:35 +02:00
Philipp Holzer ed1306caea
Adapt tests 2021-10-05 10:05:17 +02:00
Michael e19abd6646 Moved widgets and remote permissions to the deprecated addons 2021-10-05 05:59:44 +00:00
Michael Vogel 4026d06287
Merge pull request #1181 from MrPetovan/task/remove-event-adjust
[advancedcontentfilter] Remove event.adjust field from available fields to match
2021-10-04 14:33:02 +02:00
Hypolite Petovan 23a02dbde7 [advancedcontentfilter] Remove event.adjust field from available fields to match 2021-10-04 08:18:46 -04:00
Philipp Holzer 6b3d22d85d
Add messages.po 2021-10-04 11:59:49 +02:00
Philipp Holzer 45d849ee76
Add WebDavConfig 2021-10-04 11:41:25 +02:00
Philipp Holzer 2038eec6d7
Add WebDavConfig 2021-10-04 11:40:05 +02:00
Hypolite Petovan a5e15acee9
Merge pull request #1180 from annando/more-q
Replacing "q" calls with "DBA" calls
2021-10-03 19:03:49 -04:00
Michael 0533f9bfdb More indentations 2021-10-03 20:09:36 +00:00
Michael cb1b5d3964 Fixed indentation 2021-10-03 20:04:36 +00:00
Michael Vogel 4340ebb2a5
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-10-03 22:01:43 +02:00
Michael Vogel f9e758e2a8
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-10-03 22:00:22 +02:00
Michael Vogel 366fbbd3e1
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-10-03 21:58:05 +02:00
Michael Vogel 674249ccfc
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-10-03 20:58:52 +02:00
Michael deb4f8d9ef Merge remote-tracking branch 'upstream/develop' into more-q 2021-10-03 17:40:49 +00:00
Michael 428c6876f0 Replacing "q" calls with "DBA" calls 2021-10-03 17:35:20 +00:00
Tobias Diekershoff 107811903c
Merge pull request #1179 from MrPetovan/task/10739-twitter-block
[twitter] Comment out remote post deletion currently never triggered
2021-10-03 12:53:45 +02:00
Hypolite Petovan d9e7bab46f [twitter] Comment out remote post deletion currently never triggered 2021-10-03 06:49:41 -04:00
Philipp Holzer 52407530db
Adjust php-cs 2021-10-02 23:46:47 +02:00
Philipp Holzer 749ba4315e
Add WebDavTest (theoretically ..) 2021-10-02 23:46:47 +02:00
Philipp Holzer 15d77952ac
WebDav Storage backend 2021-10-02 23:46:46 +02:00
Michael Vogel 020a1245fd
Merge pull request #1178 from MrPetovan/task/10739-twitter-block
[twitter] Add support for block and unblock hooks
2021-10-02 23:40:14 +02:00
Hypolite Petovan 8de6454c8c [twitter] Add support for block and unblock hooks 2021-10-02 16:54:26 -04:00
Hypolite Petovan dc04c0cfc4 [twitter] Refactor common API calls on posts
- Re-activate post deletion API calls
2021-10-02 16:54:21 -04:00
Hypolite Petovan aec6e2f97e [twitter] Refactor common API calls on contacts 2021-10-02 16:47:38 -04:00
Tobias Diekershoff 8579bde2b6
Merge pull request #1177 from MrPetovan/task/10734-twitter-unfollow
[twitter] Add support for the new support_follow hook
2021-10-02 20:30:44 +02:00
Hypolite Petovan 678878289f
Merge pull request #1170 from nupplaphil/feat/dep_php8
[twitter] Update abraham/twitteroauth dependency
2021-10-02 14:03:36 -04:00
Hypolite Petovan 7a1d3302d0 [twitter] Add support for the new support_follow hook 2021-10-02 11:52:24 -04:00
Michael Vogel 40946a4c08
Merge pull request #1173 from MrPetovan/task/10734-twitter-unfollow
[twitter] Add unfollow hook function
2021-10-02 17:29:01 +02:00
Hypolite Petovan 31dd9f8e22 [twitter] Fix typo, improve formatting in twitter_unfollow() 2021-10-02 11:27:57 -04:00
Hypolite Petovan eb810831a5
Merge pull request #1176 from tobiasd/20211001-nitter2
[nitter] DE translation and I forgot the updated README in the other PR
2021-10-01 15:40:27 -04:00
Tobias Diekershoff 58a1cd4395 updated the DE translation of the nitter addon 2021-10-01 20:09:29 +02:00
Tobias Diekershoff 9e219efd46 forget to commit the updated README 2021-10-01 20:07:18 +02:00
Hypolite Petovan 7d72aeb2c4
Merge pull request #1175 from tobiasd/20211001-nitter
[nitter] addon version update - reload of the addon required
2021-10-01 11:20:01 -04:00
Tobias Diekershoff 8c5125c3f1 [nitter] update README, bump version number
As the changed hook is a breaking change, the version of the addon is raised to 2.0.
2021-10-01 17:08:38 +02:00
Tobias Diekershoff 1ec669ce9a [nitter] use other hook for the addon
This enables the addon to also replace links in the attached preview with the
Nitter server. **BUT** it requires the addon to be reloaded manually by the
nodes admin.
2021-10-01 17:04:33 +02:00
Tobias Diekershoff d893ea016d [nitter] renew the messages.po file 2021-10-01 16:10:51 +02:00
Tobias Diekershoff 5199a88708 [nitter] add note about privacy protection to the replacement message 2021-10-01 15:53:09 +02:00
Hypolite Petovan 9682cc7dda
Merge pull request #1174 from annando/issue-10772
Issue 10772: Avoid duplicated links to Twitter
2021-09-28 07:02:18 -04:00
Michael Vogel eed987f9e1
Update twitter/twitter.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-09-28 05:22:01 +02:00
Michael 8ed6469fb9 Issue 10772: Avoid duplicated links to Twitter 2021-09-27 20:29:11 +00:00
Philipp Holzer 569e3f4831
[twitter] Update abraham/twitteroauth dependency 2021-09-26 19:52:02 +02:00
Hypolite Petovan 250dafd2b6 [twitter] Add data to the unfollow hook result key 2021-09-26 10:34:31 -04:00
Hypolite Petovan b732cf8968 [twitter] Use existing contact fields instead of guessing in twitter_unfollow
- Add `friendship/destroy` API call result logging
2021-09-26 07:36:49 -04:00
Hypolite Petovan 5769d99478 [twitter] Add unfollow hook function 2021-09-25 16:19:20 -04:00
Michael Vogel 30445b3c85
Merge pull request #1172 from nupplaphil/bug/drone_chmod
Adapt permissions
2021-09-25 22:10:05 +02:00
Philipp Holzer b6eccfb8a4
Adapt permissions 2021-09-25 20:13:55 +02:00
hoergen c1f07c54f2
Typos removed (hopefully) 2020-09-26 13:27:57 +02:00
3766 changed files with 160608 additions and 217762 deletions

View File

@ -1,280 +0,0 @@
---
kind: pipeline
type: docker
name: Check messages.po
clone:
disable: true
trigger:
event:
- pull_request
steps:
- name: clone friendica base
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $DRONE_COMMIT_BRANCH
- name: clone friendica addon
image: alpine/git
commands:
- git clone $DRONE_REPO_LINK addon
- cd addon/
- git checkout $DRONE_COMMIT_BRANCH
- git fetch origin $DRONE_COMMIT_REF
- git merge $DRONE_COMMIT_SHA
- name: Run Xgettext for addons
image: friendicaci/transifex
commands:
- /xgettext-addon.sh
- name: Check update necessary
image: friendicaci/transifex
commands:
- /check-addons.sh
---
kind: pipeline
type: docker
name: php-cs check
clone:
disable: true
trigger:
event:
- pull_request
steps:
- name: Clone friendica base
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $DRONE_COMMIT_BRANCH
- name: Clone friendica addon
image: alpine/git
commands:
- git clone $DRONE_REPO_LINK addon
- cd addon/
- git checkout $DRONE_COMMIT_BRANCH
- git fetch origin $DRONE_COMMIT_REF
- git merge $DRONE_COMMIT_SHA
- name: Install dependencies
image: composer
commands:
- ./bin/composer.phar run cs:install
- name: Run coding standards check
image: friendicaci/php-cs
commands:
- cd addon/
- export CHANGED_FILES="$(git diff --name-status ${DRONE_COMMIT_BEFORE}..${DRONE_COMMIT_AFTER} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")"
- cd ../
- /check-php-cs.sh
---
kind: pipeline
type: docker
name: continuous-deployment
trigger:
repo:
- friendica/friendica-addons
branch:
- develop
- 20*-rc
event:
- push
node:
node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
clone:
disable: true
steps:
- name: Clone friendica base
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $DRONE_COMMIT_BRANCH
- name: Clone friendica addon
image: alpine/git
commands:
- git clone $DRONE_REPO_LINK addon
- cd addon/
- git checkout $DRONE_COMMIT_BRANCH
- git fetch origin $DRONE_COMMIT_REF
- git merge $DRONE_COMMIT_SHA
- name: Create artifacts
image: debian
commands:
- apt-get update
- apt-get install bzip2
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-addons-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- mkdir ./build
- # Create artifact for friendica-addons
- tar
--exclude='.tx'
--exclude='.git'
--exclude='.editorconfig'
--exclude='.gitattributes'
--exclude='.gitignore'
--exclude='.drone.yml'
--exclude='**/*/messages.po'
-cvzf ./build/$ARTIFACT addon/
- # calculate SHA256 checksum
- cd ./build
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- ls -lh
- # output the sha256 sum for checking
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
- name: Sign artifacts
image: plugins/gpgsign
settings:
key:
from_secret: gpg_key
passphrase:
from_secret: gpg_password
files:
- build/*
exclude:
- build/*.sum256
detach_sign: true
- name: Upload artifacts
image: alpine
environment:
LFTP_HOST:
from_secret: sftp_host
LFTP_USER:
from_secret: sftp_user
LFTP_KEY:
from_secret: ssh_key
LFTP_PORT: "22"
LFTP_SOURCE: "build"
LFTP_TARGET: "/http"
commands:
- apk add lftp openssh openssl
- touch drone.key
- chmod 400 drone.key
- echo "$LFTP_KEY" | openssl base64 -A -d > drone.key
- lftp -c "
set net:timeout 5;
set net:max-retries 2;
set net:reconnect-interval-base 5;
set sftp:auto-confirm true;
set sftp:connect-program 'ssh -q -a -x -i drone.key';
connect sftp://$LFTP_USER:@$LFTP_HOST:$LFTP_PORT;
cd $LFTP_TARGET;
mput $LFTP_SOURCE/*;
"
- rm drone.key
volumes:
- name: cache
host:
path: /tmp/drone-cache
---
kind: pipeline
type: docker
name: release-deployment
trigger:
repo:
- friendica/friendica-addons
branch:
- stable
event:
- tag
node:
node: releaser # This prevents executing this pipeline at other servers than drone.friendi.ca
clone:
disable: true
steps:
- name: Clone friendica base
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $DRONE_COMMIT_BRANCH
- name: Clone friendica addon
image: alpine/git
commands:
- git clone $DRONE_REPO_LINK addon
- cd addon/
- git checkout $DRONE_COMMIT_BRANCH
- git fetch origin $DRONE_COMMIT_REF
- git merge $DRONE_COMMIT_SHA
- name: Create artifacts
image: debian
commands:
- apt-get update
- apt-get install bzip2
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-addons-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- mkdir ./build
- # Create artifact for friendica-addons
- tar
--exclude='.tx'
--exclude='.git'
--exclude='.editorconfig'
--exclude='.gitattributes'
--exclude='.gitignore'
--exclude='.drone.yml'
--exclude='**/*/messages.po'
-cvzf ./build/$ARTIFACT addon/
- # calculate SHA256 checksum
- cd ./build
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- ls -lh
- # output the sha256 sum for checking
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
- name: Sign artifacts
image: plugins/gpgsign
settings:
key:
from_secret: gpg_key
passphrase:
from_secret: gpg_password
files:
- build/*
exclude:
- build/*.sum256
detach_sign: true
- name: Upload artifacts
image: alpine
environment:
LFTP_HOST:
from_secret: sftp_host
LFTP_USER:
from_secret: sftp_user
LFTP_KEY:
from_secret: ssh_key
LFTP_PORT: "22"
LFTP_SOURCE: "build"
LFTP_TARGET: "/http"
commands:
- apk add lftp openssh openssl
- touch drone.key
- chmod 400 drone.key
- echo "$LFTP_KEY" | openssl base64 -A -d > drone.key
- lftp -c "
set net:timeout 5;
set net:max-retries 2;
set net:reconnect-interval-base 5;
set sftp:auto-confirm true;
set sftp:connect-program 'ssh -q -a -x -i drone.key';
connect sftp://$LFTP_USER:@$LFTP_HOST:$LFTP_PORT;
cd $LFTP_TARGET;
mput $LFTP_SOURCE/*;
"
- rm drone.key
volumes:
- name: cache
host:
path: /tmp/drone-cache

View File

@ -6,5 +6,27 @@ root = true
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespaces = true
indent_style = tab
trim_trailing_whitespace = true
insert_final_newline = true
quote_type = single
max_line_length = off
[*.js]
quote_type = double
ij_javascript_use_double_quotes = true
[*.yml]
indent_style = space
indent_size = 2
[*.xml]
indent_style = space
indent_size = 2
[*.json]
indent_style = space
indent_size = 2
[composer.json]
indent_size = 4

View File

@ -1,399 +1,399 @@
[main]
host = https://www.transifex.com
host = https://api.transifex.com
[friendica.addon_advancedcontentfilter_messagespo]
[o:Friendica:p:friendica:r:addon_advancedcontentfilter_messagespo]
file_filter = advancedcontentfilter/lang/<lang>/messages.po
source_file = advancedcontentfilter/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_blackout_messagespo]
[o:Friendica:p:friendica:r:addon_blackout_messagespo]
file_filter = blackout/lang/<lang>/messages.po
source_file = blackout/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_blockem_messagespo]
[o:Friendica:p:friendica:r:addon_blockem_messagespo]
file_filter = blockem/lang/<lang>/messages.po
source_file = blockem/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_blogger_messagespo]
[o:Friendica:p:friendica:r:addon_blogger_messagespo]
file_filter = blogger/lang/<lang>/messages.po
source_file = blogger/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_buffer_messagespo]
[o:Friendica:p:friendica:r:addon_buffer_messagespo]
file_filter = buffer/lang/<lang>/messages.po
source_file = buffer/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_buglink_messagespo]
[o:Friendica:p:friendica:r:addon_buglink_messagespo]
file_filter = buglink/lang/<lang>/messages.po
source_file = buglink/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_catavatar_messagespo]
[o:Friendica:p:friendica:r:addon_catavatar_messagespo]
file_filter = catavatar/lang/<lang>/messages.po
source_file = catavatar/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_cookienotice_messagespo]
[o:Friendica:p:friendica:r:addon_cookienotice_messagespo]
file_filter = cookienotice/lang/<lang>/messages.po
source_file = cookienotice/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_curweather_messagespo]
[o:Friendica:p:friendica:r:addon_curweather_messagespo]
file_filter = curweather/lang/<lang>/messages.po
source_file = curweather/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_diaspora_messagespo]
[o:Friendica:p:friendica:r:addon_diaspora_messagespo]
file_filter = diaspora/lang/<lang>/messages.po
source_file = diaspora/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_dwpost_messagespo]
[o:Friendica:p:friendica:r:addon_dwpost_messagespo]
file_filter = dwpost/lang/<lang>/messages.po
source_file = dwpost/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_forumdirectory_messagespo]
[o:Friendica:p:friendica:r:addon_forumdirectory_messagespo]
file_filter = forumdirectory/lang/<lang>/messages.po
source_file = forumdirectory/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_fromapp_messagespo]
[o:Friendica:p:friendica:r:addon_fromapp_messagespo]
file_filter = fromapp/lang/<lang>/messages.po
source_file = fromapp/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_fromgplus_messagespo]
[o:Friendica:p:friendica:r:addon_fromgplus_messagespo]
file_filter = fromgplus/lang/<lang>/messages.po
source_file = fromgplus/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_geonames_messagespo]
[o:Friendica:p:friendica:r:addon_geonames_messagespo]
file_filter = geonames/lang/<lang>/messages.po
source_file = geonames/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_gnot_messagespo]
[o:Friendica:p:friendica:r:addon_gnot_messagespo]
file_filter = gnot/lang/<lang>/messages.po
source_file = gnot/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_gravatar_messagespo]
[o:Friendica:p:friendica:r:addon_gravatar_messagespo]
file_filter = gravatar/lang/<lang>/messages.po
source_file = gravatar/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_group_text_messagespo]
[o:Friendica:p:friendica:r:addon_group_text_messagespo]
file_filter = group_text/lang/<lang>/messages.po
source_file = group_text/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_ifttt_messagespo]
[o:Friendica:p:friendica:r:addon_ifttt_messagespo]
file_filter = ifttt/lang/<lang>/messages.po
source_file = ifttt/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_ijpost_messagespo]
[o:Friendica:p:friendica:r:addon_ijpost_messagespo]
file_filter = ijpost/lang/<lang>/messages.po
source_file = ijpost/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_impressum_messagespo]
[o:Friendica:p:friendica:r:addon_impressum_messagespo]
file_filter = impressum/lang/<lang>/messages.po
source_file = impressum/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_infiniteimprobabilitydrive_messagespo]
[o:Friendica:p:friendica:r:addon_infiniteimprobabilitydrive_messagespo]
file_filter = infiniteimprobabilitydrive/lang/<lang>/messages.po
source_file = infiniteimprobabilitydrive/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_irc_messagespo]
[o:Friendica:p:friendica:r:addon_irc_messagespo]
file_filter = irc/lang/<lang>/messages.po
source_file = irc/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_jappixmini_messagespo]
[o:Friendica:p:friendica:r:addon_jappixmini_messagespo]
file_filter = jappixmini/lang/<lang>/messages.po
source_file = jappixmini/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_js_upload_messagespo]
[o:Friendica:p:friendica:r:addon_js_upload_messagespo]
file_filter = js_upload/lang/<lang>/messages.po
source_file = js_upload/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_krynn_messagespo]
[o:Friendica:p:friendica:r:addon_krynn_messagespo]
file_filter = krynn/lang/<lang>/messages.po
source_file = krynn/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_langfilter_messagespo]
[o:Friendica:p:friendica:r:addon_langfilter_messagespo]
file_filter = langfilter/lang/<lang>/messages.po
source_file = langfilter/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_libertree_messagespo]
[o:Friendica:p:friendica:r:addon_libertree_messagespo]
file_filter = libertree/lang/<lang>/messages.po
source_file = libertree/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_libravatar_messagespo]
[o:Friendica:p:friendica:r:addon_libravatar_messagespo]
file_filter = libravatar/lang/<lang>/messages.po
source_file = libravatar/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_ljpost_messagespo]
[o:Friendica:p:friendica:r:addon_ljpost_messagespo]
file_filter = ljpost/lang/<lang>/messages.po
source_file = ljpost/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_mailstream_messagespo]
[o:Friendica:p:friendica:r:addon_mailstream_messagespo]
file_filter = mailstream/lang/<lang>/messages.po
source_file = mailstream/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_mathjax_messagespo]
[o:Friendica:p:friendica:r:addon_mathjax_messagespo]
file_filter = mathjax/lang/<lang>/messages.po
source_file = mathjax/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_membersince_messagespo]
[o:Friendica:p:friendica:r:addon_membersince_messagespo]
file_filter = membersince/lang/<lang>/messages.po
source_file = membersince/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_morechoice_messagespo]
[o:Friendica:p:friendica:r:addon_morechoice_messagespo]
file_filter = morechoice/lang/<lang>/messages.po
source_file = morechoice/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_morepokes_messagespo]
[o:Friendica:p:friendica:r:addon_morepokes_messagespo]
file_filter = morepokes/lang/<lang>/messages.po
source_file = morepokes/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_newmemberwidget_messagespo]
[o:Friendica:p:friendica:r:addon_newmemberwidget_messagespo]
file_filter = newmemberwidget/lang/<lang>/messages.po
source_file = newmemberwidget/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_notifyall_messagespo]
[o:Friendica:p:friendica:r:addon_notifyall_messagespo]
file_filter = notifyall/lang/<lang>/messages.po
source_file = notifyall/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_notimeline_messagespo]
[o:Friendica:p:friendica:r:addon_notimeline_messagespo]
file_filter = notimeline/lang/<lang>/messages.po
source_file = notimeline/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_nsfw_messagespo]
[o:Friendica:p:friendica:r:addon_nsfw_messagespo]
file_filter = nsfw/lang/<lang>/messages.po
source_file = nsfw/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_numfriends_messagespo]
[o:Friendica:p:friendica:r:addon_numfriends_messagespo]
file_filter = numfriends/lang/<lang>/messages.po
source_file = numfriends/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_openstreetmap_messagespo]
[o:Friendica:p:friendica:r:addon_openstreetmap_messagespo]
file_filter = openstreetmap/lang/<lang>/messages.po
source_file = openstreetmap/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_pageheader_messagespo]
[o:Friendica:p:friendica:r:addon_pageheader_messagespo]
file_filter = pageheader/lang/<lang>/messages.po
source_file = pageheader/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_piwik_messagespo]
[o:Friendica:p:friendica:r:addon_piwik_messagespo]
file_filter = piwik/lang/<lang>/messages.po
source_file = piwik/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_planets_messagespo]
[o:Friendica:p:friendica:r:addon_planets_messagespo]
file_filter = planets/lang/<lang>/messages.po
source_file = planets/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_public_server_messagespo]
[o:Friendica:p:friendica:r:addon_public_server_messagespo]
file_filter = public_server/lang/<lang>/messages.po
source_file = public_server/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_pumpio_messagespo]
[o:Friendica:p:friendica:r:addon_pumpio_messagespo]
file_filter = pumpio/lang/<lang>/messages.po
source_file = pumpio/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_qcomment_messagespo]
[o:Friendica:p:friendica:r:addon_qcomment_messagespo]
file_filter = qcomment/lang/<lang>/messages.po
source_file = qcomment/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_randplace_messagespo]
[o:Friendica:p:friendica:r:addon_randplace_messagespo]
file_filter = randplace/lang/<lang>/messages.po
source_file = randplace/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_remote_permissions_messagespo]
[o:Friendica:p:friendica:r:addon_remote_permissions_messagespo]
file_filter = remote_permissions/lang/<lang>/messages.po
source_file = remote_permissions/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_rendertime_messagespo]
[o:Friendica:p:friendica:r:addon_rendertime_messagespo]
file_filter = rendertime/lang/<lang>/messages.po
source_file = rendertime/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_securemail_messagespo]
[o:Friendica:p:friendica:r:addon_securemail_messagespo]
file_filter = securemail/lang/<lang>/messages.po
source_file = securemail/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_showmore_messagespo]
[o:Friendica:p:friendica:r:addon_showmore_messagespo]
file_filter = showmore/lang/<lang>/messages.po
source_file = showmore/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_smileybutton_messagespo]
[o:Friendica:p:friendica:r:addon_smileybutton_messagespo]
file_filter = smileybutton/lang/<lang>/messages.po
source_file = smileybutton/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_startpage_messagespo]
[o:Friendica:p:friendica:r:addon_startpage_messagespo]
file_filter = startpage/lang/<lang>/messages.po
source_file = startpage/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_statusnet_messagespo]
[o:Friendica:p:friendica:r:addon_statusnet_messagespo]
file_filter = statusnet/lang/<lang>/messages.po
source_file = statusnet/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_superblock_messagespo]
[o:Friendica:p:friendica:r:addon_superblock_messagespo]
file_filter = superblock/lang/<lang>/messages.po
source_file = superblock/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_testdrive_messagespo]
[o:Friendica:p:friendica:r:addon_testdrive_messagespo]
file_filter = testdrive/lang/<lang>/messages.po
source_file = testdrive/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_tictac_messagespo]
[o:Friendica:p:friendica:r:addon_tictac_messagespo]
file_filter = tictac/lang/<lang>/messages.po
source_file = tictac/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_tumblr_messagespo]
[o:Friendica:p:friendica:r:addon_tumblr_messagespo]
file_filter = tumblr/lang/<lang>/messages.po
source_file = tumblr/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_twitter_messagespo]
[o:Friendica:p:friendica:r:addon_twitter_messagespo]
file_filter = twitter/lang/<lang>/messages.po
source_file = twitter/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_viewsrc_messagespo]
[o:Friendica:p:friendica:r:addon_viewsrc_messagespo]
file_filter = viewsrc/lang/<lang>/messages.po
source_file = viewsrc/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_webrtc_messagespo]
[o:Friendica:p:friendica:r:addon_webrtc_messagespo]
file_filter = webrtc/lang/<lang>/messages.po
source_file = webrtc/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_widgets_messagespo]
[o:Friendica:p:friendica:r:addon_widgets_messagespo]
file_filter = widgets/lang/<lang>/messages.po
source_file = widgets/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_windowsphonepush_messagespo]
[o:Friendica:p:friendica:r:addon_windowsphonepush_messagespo]
file_filter = windowsphonepush/lang/<lang>/messages.po
source_file = windowsphonepush/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_wppost_messagespo]
[o:Friendica:p:friendica:r:addon_wppost_messagespo]
file_filter = wppost/lang/<lang>/messages.po
source_file = wppost/lang/C/messages.po
source_lang = en
type = PO
type = PO
[friendica.addon_xmpp_messagespo]
[o:Friendica:p:friendica:r:addon_xmpp_messagespo]
file_filter = xmpp/lang/<lang>/messages.po
source_file = xmpp/lang/C/messages.po
source_lang = en
type = PO
type = PO

View File

@ -0,0 +1,69 @@
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $CI_COMMIT_BRANCH
when:
event: pull_request
clone_friendica_addon:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git clone $CI_REPO_CLONE_URL addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
event: pull_request
restore_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
restore: true
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
event: pull_request
composer_install:
image: composer
commands:
- export COMPOSER_HOME=.composer
- ./bin/composer.phar run cs:install
when:
event: pull_request
rebuild_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
rebuild: true
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
event: pull_request
check:
image: friendicaci/php-cs
commands:
- cd addon/
- 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 | sed -e "s/^/addon\\//")";
else
export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
fi
- cd ../
- /check-php-cs.sh
when:
event: pull_request

View File

@ -0,0 +1,112 @@
# This prevents executing this pipeline at other servers than ci.friendi.ca
labels:
location: friendica
type: releaser
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $CI_COMMIT_BRANCH
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
clone_friendica_addon:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git clone $CI_REPO_CLONE_URL addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
restore_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
composer_install:
image: friendicaci/php8.2:php8.2.16
commands:
- export COMPOSER_HOME=.composer
- composer validate
- composer install --no-dev --optimize-autoloader
volumes:
- /etc/hosts:/etc/hosts
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
create_artifacts:
image: debian
commands:
- apt-get update
- apt-get install bzip2
- mkdir ./build
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-addons-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- tar
--exclude='.tx'
--exclude='.git'
--exclude='.editorconfig'
--exclude='.gitattributes'
--exclude='.gitignore'
--exclude='.woodpecker'
--exclude='**/*/messages.po'
-cvzf ./build/$ARTIFACT addon/
- cd ./build
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- chmod 664 ./*
- ls -lh
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
sign_artifacts:
image: plugins/gpgsign
settings:
key:
from_secret: gpg_key
passphrase:
from_secret: gpg_password
files:
- build/*
exclude:
- build/*.sum256
detach_sign: true
when:
repo: friendica/friendica-addons
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-addons
branch: [ develop, '*-rc' ]
event: push

View File

@ -0,0 +1,37 @@
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $CI_COMMIT_BRANCH
when:
event: pull_request
clone_friendica_addon:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git clone $CI_REPO_CLONE_URL addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
event: pull_request
build_xgettext:
image: friendicaci/transifex
commands:
- /xgettext-addon.sh
when:
event: pull_request
check:
image: friendicaci/transifex
commands:
- /check-addons.sh
when:
event: pull_request
branches:
exclude: [ stable ]

115
.woodpecker/.phpunit.yml Normal file
View File

@ -0,0 +1,115 @@
matrix:
include:
- PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.33
- PHP_MAJOR_VERSION: 8.0
PHP_VERSION: 8.0.30
- PHP_MAJOR_VERSION: 8.1
PHP_VERSION: 8.1.27
- PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
- PHP_MAJOR_VERSION: 8.3
PHP_VERSION: 8.3.3
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
labels:
location: opensocial
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $CI_COMMIT_BRANCH
clone_friendica_addon:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git clone $CI_REPO_CLONE_URL addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
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/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
commands:
- export COMPOSER_HOME=.composer
- ./bin/composer.phar validate
- ./bin/composer.phar install --prefer-dist
volumes:
- /etc/hosts:/etc/hosts
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
test:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
environment:
MYSQL_HOST: "mariadb"
MYSQL_PORT: "3306"
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
REDIS_HOST: "redis"
MEMCACHED_HOST: "memcached"
MEMCACHE_HOST: "memcached"
commands:
- cp config/local-sample.config.php config/local.config.php
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
- if [ "${PHP_MAJOR_VERSION}" = "8.2" -a "${CI_REPO}" = "friendica/friendica-addons" ]; then
phpenmod xdebug;
export XDEBUG_MODE=coverage;
phpunit --configuration tests/phpunit-addons.xml --coverage-clover clover.xml;
else
phpunit --configuration tests/phpunit-addons.xml;
fi
codecov:
image: friendicaci/codecov
when:
matrix:
PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
repo:
- friendica/friendica-addons
commands:
- codecov -R '.' -Z -f 'clover.xml'
secrets:
- source: codecov-token
target: codecov_token
services:
mariadb:
image: mariadb:latest
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
memcached:
image: memcached
redis:
image: redis

105
.woodpecker/.releaser.yml Normal file
View File

@ -0,0 +1,105 @@
# This prevents executing this pipeline at other servers than ci.friendi.ca
labels:
location: friendica
type: releaser
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git clone https://github.com/friendica/friendica.git .
- git checkout $CI_COMMIT_BRANCH
when:
repo: friendica/friendica-addons
event: tag
clone_friendica_addon:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git clone $CI_REPO_CLONE_URL addon
- cd addon/
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
when:
repo: friendica/friendica-addons
event: tag
restore_cache:
image: meltwater/drone-cache:dev
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
volumes:
- /tmp/drone-cache:/tmp/cache
when:
repo: friendica/friendica-addons
event: tag
composer_install:
image: friendicaci/php8.2:php8.2.16
commands:
- export COMPOSER_HOME=.composer
- composer validate
- composer install --no-dev --optimize-autoloader
when:
repo: friendica/friendica-addons
event: tag
volumes:
- /etc/hosts:/etc/hosts
create_artifacts:
image: debian
commands:
- apt-get update
- apt-get install bzip2
- mkdir ./build
- export VERSION="$(cat VERSION)"
- export RELEASE="friendica-addons-$VERSION"
- export ARTIFACT="$RELEASE.tar.gz"
- tar
--exclude='.tx'
--exclude='.git'
--exclude='.editorconfig'
--exclude='.gitattributes'
--exclude='.gitignore'
--exclude='.woodpecker'
--exclude='**/*/messages.po'
-cvzf ./build/$ARTIFACT addon/
- cd ./build
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
- chmod 664 ./*
- ls -lh
- cat "$ARTIFACT.sum256"
- sha256sum "$ARTIFACT"
when:
repo: friendica/friendica-addons
event: tag
sign_artifacts:
image: plugins/gpgsign
settings:
key:
from_secret: gpg_key
passphrase:
from_secret: gpg_password
files:
- build/*
exclude:
- build/*.sum256
detach_sign: true
when:
repo: friendica/friendica-addons
event: tag
publish_artifacts:
image: alpine
commands:
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica-addons
event: tag

File diff suppressed because one or more lines are too long

View File

@ -55,7 +55,7 @@ use Symfony\Component\ExpressionLanguage;
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
function advancedcontentfilter_install(App $a)
function advancedcontentfilter_install()
{
Hook::register('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
@ -64,33 +64,37 @@ function advancedcontentfilter_install(App $a)
Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
DBStructure::performUpdate();
Logger::log("installed advancedcontentfilter");
Logger::notice('installed advancedcontentfilter');
}
/*
* Hooks
*/
function advancedcontentfilter_dbstructure_definition(App $a, &$database)
function advancedcontentfilter_dbstructure_definition(&$database)
{
$database["advancedcontentfilter_rules"] = [
"comment" => "Advancedcontentfilter addon rules",
"fields" => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented rule id"],
"uid" => ["type" => "int unsigned", "not null" => "1", "comment" => "Owner user id"],
"name" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Rule name"],
"expression" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Expression text"],
"serialized" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Serialized parsed expression"],
"active" => ["type" => "boolean" , "not null" => "1", "default" => "1", "comment" => "Whether the rule is active or not"],
"created" => ["type" => "datetime" , "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"],
$database['advancedcontentfilter_rules'] = [
'comment' => 'Advancedcontentfilter addon rules',
'fields' => [
'id' => ['type' => 'int unsigned', 'not null' => '1', 'extra' => 'auto_increment', 'primary' => '1', 'comment' => 'Auto incremented rule id'],
'uid' => ['type' => 'int unsigned', 'not null' => '1', 'comment' => 'Owner user id'],
'name' => ['type' => 'varchar(255)', 'not null' => '1', 'comment' => 'Rule name'],
'expression' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Expression text'],
'serialized' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Serialized parsed expression'],
'active' => ['type' => 'boolean' , 'not null' => '1', 'default' => '1', 'comment' => 'Whether the rule is active or not'],
'created' => ['type' => 'datetime' , 'not null' => '1', 'default' => DBA::NULL_DATETIME, 'comment' => 'Creation date'],
],
"indexes" => [
"PRIMARY" => ["id"],
"uid_active" => ["uid", "active"],
'indexes' => [
'PRIMARY' => ['id'],
'uid_active' => ['uid', 'active'],
]
];
}
/**
* @param array $item Prepared by either Model\Item::prepareBody or advancedcontentfilter_prepare_item_row
* @return array
*/
function advancedcontentfilter_get_filter_fields(array $item)
{
$vars = [];
@ -111,7 +115,7 @@ function advancedcontentfilter_get_filter_fields(array $item)
return $vars;
}
function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
{
static $expressionLanguage;
@ -119,21 +123,21 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
}
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$vars = advancedcontentfilter_get_filter_fields($hook_data['item']);
$rules = DI::cache()->get('rules_' . local_user());
$rules = DI::cache()->get('rules_' . DI::userSession()->getLocalUserId());
if (!isset($rules)) {
$rules = DBA::toArray(DBA::select(
'advancedcontentfilter_rules',
['name', 'expression', 'serialized'],
['uid' => local_user(), 'active' => true]
['uid' => DI::userSession()->getLocalUserId(), 'active' => true]
));
DI::cache()->set('rules_' . local_user(), $rules);
DI::cache()->set('rules_' . DI::userSession()->getLocalUserId(), $rules);
}
if ($rules) {
@ -159,31 +163,34 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
}
function advancedcontentfilter_addon_settings(App $a, &$s)
function advancedcontentfilter_addon_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$advancedcontentfilter = DI::l10n()->t('Advanced Content Filter');
$s .= <<<HTML
<span class="settings-block fakelink" style="display: block;"><h3><a href="advancedcontentfilter">$advancedcontentfilter <i class="glyphicon glyphicon-share"></i></a></h3></span>
HTML;
return;
$data = [
'addon' => 'advancedcontentfilter',
'title' => DI::l10n()->t('Advanced Content Filter'),
'href' => 'advancedcontentfilter',
];
}
/*
* Module
*/
/**
* This is a statement rather than an actual function definition. The simple
* existence of this method is checked to figure out if the addon offers a
* module.
*/
function advancedcontentfilter_module() {}
function advancedcontentfilter_init(App $a)
function advancedcontentfilter_init()
{
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'api') {
$slim = new \Slim\App();
$slim = \Slim\Factory\AppFactory::create();
require __DIR__ . '/src/middlewares.php';
@ -194,14 +201,14 @@ function advancedcontentfilter_init(App $a)
}
}
function advancedcontentfilter_content(App $a)
function advancedcontentfilter_content()
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return Login::form('/' . implode('/', DI::args()->getArgv()));
}
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'help') {
$user = User::getById(local_user());
$user = User::getById(DI::userSession()->getLocalUserId());
$lang = $user['language'];
@ -245,8 +252,8 @@ function advancedcontentfilter_content(App $a)
'rule_expression' => DI::l10n()->t('Rule Expression'),
'cancel' => DI::l10n()->t('Cancel'),
],
'$current_theme' => $a->getCurrentTheme(),
'$rules' => advancedcontentfilter_get_rules(),
'$current_theme' => DI::app()->getCurrentTheme(),
'$rules' => DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()])),
'$form_security_token' => BaseModule::getFormSecurityToken()
]);
}
@ -264,30 +271,20 @@ function advancedcontentfilter_build_fields($data)
}
if (!empty($data['expression'])) {
$allowed_keys = [
'author_id', 'author_link', 'author_name', 'author_avatar',
'owner_id', 'owner_link', 'owner_name', 'owner_avatar',
'contact_id', 'uid', 'id', 'parent', 'uri',
'thr_parent', 'parent_uri',
'content_warning',
'commented', 'created', 'edited', 'received',
'verb', 'object_type', 'postopts', 'plink', 'guid', 'wall', 'private', 'starred',
'title', 'body',
'file', 'event_id', 'location', 'coord', 'app', 'attach',
'rendered_hash', 'rendered_html', 'object',
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
'item_id', 'item_network', 'author_thumb', 'owner_thumb',
'network', 'url', 'name', 'writable', 'self',
'cid', 'alias',
'event_created', 'event_edited', 'event_start', 'event_finish', 'event_summary',
'event_desc', 'event_location', 'event_type', 'event_nofinish', 'event_adjust', 'event_ignore',
'children', 'pagedrop', 'tags', 'hashtags', 'mentions',
'attachments',
];
// Using a dummy item to validate the field existence
$condition = ["(`uid` = ? OR `uid` = 0)", DI::userSession()->getLocalUserId()];
$params = ['order' => ['uid' => true]];
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
if (!DBA::isResult($item_row)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('This addon requires this node having at least one post'));
}
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
$parsedExpression = $expressionLanguage->parse($data['expression'], $allowed_keys);
$parsedExpression = $expressionLanguage->parse(
$data['expression'],
array_keys(advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row)))
);
$serialized = serialize($parsedExpression->getNodes());
@ -308,31 +305,33 @@ function advancedcontentfilter_build_fields($data)
* API
*/
function advancedcontentfilter_get_rules()
function advancedcontentfilter_get_rules(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => local_user()]));
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()]));
return json_encode($rules);
$response->getBody()->write(json_encode($rules));
return $response->withHeader('Content-Type', 'application/json');
}
function advancedcontentfilter_get_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => local_user()]);
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()]);
return json_encode($rule);
$response->getBody()->write(json_encode($rule));
return $response->withHeader('Content-Type', 'application/json');
}
function advancedcontentfilter_post_rules(ServerRequestInterface $request)
function advancedcontentfilter_post_rules(ServerRequestInterface $request, ResponseInterface $response)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
@ -352,7 +351,7 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request)
throw new HTTPException\BadRequestException(DI::l10n()->t('The rule name and expression are required.'));
}
$fields['uid'] = local_user();
$fields['uid'] = DI::userSession()->getLocalUserId();
$fields['created'] = DateTimeFormat::utcNow();
if (!DBA::insert('advancedcontentfilter_rules', $fields)) {
@ -361,14 +360,15 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request)
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]);
DI::cache()->delete('rules_' . local_user());
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
return json_encode(['message' => DI::l10n()->t('Rule successfully added'), 'rule' => $rule]);
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully added'), 'rule' => $rule]));
return $response->withHeader('Content-Type', 'application/json');
}
function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
@ -376,7 +376,7 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
}
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
}
@ -392,14 +392,15 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
}
DI::cache()->delete('rules_' . local_user());
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
return json_encode(['message' => DI::l10n()->t('Rule successfully updated')]);
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully updated')]));
return $response->withHeader('Content-Type', 'application/json');
}
function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
@ -407,7 +408,7 @@ function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request,
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
}
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
}
@ -415,14 +416,15 @@ function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request,
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
}
DI::cache()->delete('rules_' . local_user());
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
return json_encode(['message' => DI::l10n()->t('Rule successfully deleted')]);
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully deleted')]));
return $response->withHeader('Content-Type', 'application/json');
}
function advancedcontentfilter_get_variables_guid(ServerRequestInterface $request, ResponseInterface $response, $args)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
}
@ -430,25 +432,36 @@ function advancedcontentfilter_get_variables_guid(ServerRequestInterface $reques
throw new HTTPException\BadRequestException(DI::l10n()->t('Missing argument: guid.'));
}
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], local_user()];
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], DI::userSession()->getLocalUserId()];
$params = ['order' => ['uid' => true]];
$item = Post::selectFirstForUser(local_user(), [], $condition, $params);
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
if (!DBA::isResult($item)) {
if (!DBA::isResult($item_row)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown post with guid: %s', $args['guid']));
}
$tags = Tag::populateFromItem($item);
$return = advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row));
$item['tags'] = $tags['tags'];
$item['hashtags'] = $tags['hashtags'];
$item['mentions'] = $tags['mentions'];
$attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'] ?? '');
$item['attachments'] = $attachments;
$return = advancedcontentfilter_get_filter_fields($item);
return json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]);
$response->getBody()->write(json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]));
return $response->withHeader('Content-Type', 'application/json');
}
/**
* This mimimcs the processing performed in Model\Item::prepareBody
*
* @param array $item_row
* @return array
* @throws HTTPException\InternalServerErrorException
* @throws ImagickException
*/
function advancedcontentfilter_prepare_item_row(array $item_row): array
{
$tags = Tag::populateFromItem($item_row);
$item_row['tags'] = $tags['tags'];
$item_row['hashtags'] = $tags['hashtags'];
$item_row['mentions'] = $tags['mentions'];
$item_row['attachments'] = DI::postMediaRepository()->splitAttachments($item_row['uri-id']);
return $item_row;
}

11894
advancedcontentfilter/asset/vue/dist/vue.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,25 +1,27 @@
{
"name": "friendica-addons/advancedcontentfilter",
"description": "Advanced Content Filter addon for Friendica",
"type": "friendica-addon",
"authors": [
{
"name": "Hypolite Petovan",
"email": "hypolite@mrpetovan.com",
"homepage": "https://friendica.mrpetovan.com/profile/hypolite",
"role": "Developer"
}
],
"require": {
"php": ">=5.6.0",
"slim/slim": "^3.1",
"symfony/expression-language": "^3.4"
},
"license": "3-clause BSD license",
"minimum-stability": "stable",
"config": {
"optimize-autoloader": true,
"autoloader-suffix": "AdvancedContentFilterAddon",
"preferred-install": "dist"
}
"name": "friendica-addons/advancedcontentfilter",
"description": "Advanced Content Filter addon for Friendica",
"type": "friendica-addon",
"authors": [
{
"name": "Hypolite Petovan",
"email": "hypolite@mrpetovan.com",
"homepage": "https://friendica.mrpetovan.com/profile/hypolite",
"role": "Developer"
}
],
"require": {
"slim/slim": "^4",
"symfony/expression-language": "^3.4"
},
"license": "3-clause BSD license",
"minimum-stability": "stable",
"config": {
"platform": {
"php": "7.4"
},
"optimize-autoloader": true,
"autoloader-suffix": "AdvancedContentFilterAddon",
"preferred-install": "dist"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -36,10 +36,10 @@ A post will be collapsed if at least one rule matches, but all matching rule nam
## Examples
1. To block specific domains `body matches "/\\.example\\.com/"`
2. To block everything that contains the words `body matches "/Guten Morgen/"`
3. To block every occurence of the word facebook with a space in front and after the word `body matches "//s facebook/s /"`
4. To colapse every post that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
1. Collapse posts with specific domains `body matches "/\\.example\\.com/"`
2. Collapse posts that contains the words `body matches "/Guten Morgen/"`
3. Collapse posts with the word facebook that have a space in front and after the word `body matches "//s facebook/s /"`
4. Collapse posts that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
## Expression Syntax
@ -458,11 +458,6 @@ You can also retrieve the variables of a specific post by pasting its URL below
<td>string</td>
<td>null</td>
</tr>
<tr>
<th>event_adjust</th>
<td>boolean</td>
<td>null</td>
</tr>
<tr>
<th>event_ignore</th>
<td>boolean</td>

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-25 13:15+0000\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,28 +17,28 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: advancedcontentfilter.php:153
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr ""
#: advancedcontentfilter.php:167 advancedcontentfilter.php:224
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr ""
#: advancedcontentfilter.php:223
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr ""
#: advancedcontentfilter.php:225
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr ""
#: advancedcontentfilter.php:226
#: advancedcontentfilter.php:227
msgid "Help"
msgstr ""
#: advancedcontentfilter.php:227
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have "
"a name and an arbitrary expression that will be matched against post data. "
@ -46,108 +46,112 @@ msgid ""
"the help page."
msgstr ""
#: advancedcontentfilter.php:228
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr ""
#: advancedcontentfilter.php:229
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next "
"to the title."
msgstr ""
#: advancedcontentfilter.php:230
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr ""
#: advancedcontentfilter.php:231
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr ""
#: advancedcontentfilter.php:232
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr ""
#: advancedcontentfilter.php:233
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr ""
#: advancedcontentfilter.php:234
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr ""
#: advancedcontentfilter.php:235
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr ""
#: advancedcontentfilter.php:236
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr ""
#: advancedcontentfilter.php:237
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr ""
#: advancedcontentfilter.php:238
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr ""
#: advancedcontentfilter.php:239
#: advancedcontentfilter.php:240
msgid "Close"
msgstr ""
#: advancedcontentfilter.php:240
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr ""
#: advancedcontentfilter.php:241
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr ""
#: advancedcontentfilter.php:242
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr ""
#: advancedcontentfilter.php:243
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr ""
#: advancedcontentfilter.php:310 advancedcontentfilter.php:321
#: advancedcontentfilter.php:332 advancedcontentfilter.php:366
#: advancedcontentfilter.php:395 advancedcontentfilter.php:416
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr ""
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr ""
#: advancedcontentfilter.php:336 advancedcontentfilter.php:370
#: advancedcontentfilter.php:399
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr ""
#: advancedcontentfilter.php:348
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr ""
#: advancedcontentfilter.php:360
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr ""
#: advancedcontentfilter.php:374 advancedcontentfilter.php:403
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr ""
#: advancedcontentfilter.php:389
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr ""
#: advancedcontentfilter.php:410
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr ""
#: advancedcontentfilter.php:420
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr ""
#: advancedcontentfilter.php:428
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr ""

View File

@ -0,0 +1,166 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# Farida Khalaf <faridakhalaf@hotmail.com>, 2021
# abidin toumi <abidin24@tutanota.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-25 13:15+0000\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: abidin toumi <abidin24@tutanota.com>, 2021\n"
"Language-Team: Arabic (https://www.transifex.com/Friendica/teams/12172/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: advancedcontentfilter.php:153
#, php-format
msgid "Filtered by rule: %s"
msgstr "رشّح حسب القاعدة: %s"
#: advancedcontentfilter.php:167 advancedcontentfilter.php:224
msgid "Advanced Content Filter"
msgstr "ترشيح المحتوى المتقدم"
#: advancedcontentfilter.php:223
msgid "Back to Addon Settings"
msgstr "الرجوع إلى إعدادات الإضافات"
#: advancedcontentfilter.php:225
msgid "Add a Rule"
msgstr "أضف قاعدة"
#: advancedcontentfilter.php:226
msgid "Help"
msgstr "مساعدة"
#: advancedcontentfilter.php:227
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the help page."
msgstr ""
"إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.\n"
" القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة."
#: advancedcontentfilter.php:228
msgid "Your rules"
msgstr "القواعد"
#: advancedcontentfilter.php:229
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
msgstr ""
"لا يوجد قواعد!\n"
"أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان."
#: advancedcontentfilter.php:230
msgid "Disabled"
msgstr "معطل"
#: advancedcontentfilter.php:231
msgid "Enabled"
msgstr "مفعل"
#: advancedcontentfilter.php:232
msgid "Disable this rule"
msgstr "عطّل القاعدة"
#: advancedcontentfilter.php:233
msgid "Enable this rule"
msgstr "فعّل القاعدة"
#: advancedcontentfilter.php:234
msgid "Edit this rule"
msgstr "عدّل هذه القاعدة"
#: advancedcontentfilter.php:235
msgid "Edit the rule"
msgstr "عدّل القاعدة"
#: advancedcontentfilter.php:236
msgid "Save this rule"
msgstr "احفظ هذه القاعدة"
#: advancedcontentfilter.php:237
msgid "Delete this rule"
msgstr "احذف هذه القاعدة"
#: advancedcontentfilter.php:238
msgid "Rule"
msgstr "القاعدة"
#: advancedcontentfilter.php:239
msgid "Close"
msgstr "اغلق"
#: advancedcontentfilter.php:240
msgid "Add new rule"
msgstr "أضف قاعدة جديدة"
#: advancedcontentfilter.php:241
msgid "Rule Name"
msgstr "اسم القاعدة"
#: advancedcontentfilter.php:242
msgid "Rule Expression"
msgstr "تعبير القاعدة"
#: advancedcontentfilter.php:243
msgid "Cancel"
msgstr "الغ"
#: advancedcontentfilter.php:310 advancedcontentfilter.php:321
#: advancedcontentfilter.php:332 advancedcontentfilter.php:366
#: advancedcontentfilter.php:395 advancedcontentfilter.php:416
msgid "You must be logged in to use this method"
msgstr "عليك الولوج لاستخدام هذه الطريقة"
#: advancedcontentfilter.php:336 advancedcontentfilter.php:370
#: advancedcontentfilter.php:399
msgid "Invalid form security token, please refresh the page."
msgstr "رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة."
#: advancedcontentfilter.php:348
msgid "The rule name and expression are required."
msgstr "يلزم اسم وتعبير للقاعدة."
#: advancedcontentfilter.php:360
msgid "Rule successfully added"
msgstr "نجحت إضافة القاعدة"
#: advancedcontentfilter.php:374 advancedcontentfilter.php:403
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "القاعدة غير موجودة أو لا تنتمي إليك."
#: advancedcontentfilter.php:389
msgid "Rule successfully updated"
msgstr "نجح تحديث القاعدة"
#: advancedcontentfilter.php:410
msgid "Rule successfully deleted"
msgstr "نجح حذف القاعدة"
#: advancedcontentfilter.php:420
msgid "Missing argument: guid."
msgstr "معامل ناقص: دليل."
#: advancedcontentfilter.php:428
#, php-format
msgid "Unknown post with guid: %s"
msgstr "مشاركة غير معروفة ذات الدليل: 1%s"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "لم يُعثر على التطبيق"

View File

@ -0,0 +1,41 @@
<?php
if(! function_exists("string_plural_select_ar")) {
function string_plural_select_ar($n){
$n = intval($n);
if ($n==0) { return 0; } else if ($n==1) { return 1; } else if ($n==2) { return 2; } else if ($n%100>=3 && $n%100<=10) { return 3; } else if ($n%100>=11 && $n%100<=99) { return 4; } else { return 5; }
}}
$a->strings['Filtered by rule: %s'] = 'رشّح حسب القاعدة: %s';
$a->strings['Advanced Content Filter'] = 'ترشيح المحتوى المتقدم';
$a->strings['Back to Addon Settings'] = 'الرجوع إلى إعدادات الإضافات';
$a->strings['Add a Rule'] = 'أضف قاعدة';
$a->strings['Help'] = 'مساعدة';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.
القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة.';
$a->strings['Your rules'] = 'القواعد';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'لا يوجد قواعد!
أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان.';
$a->strings['Disabled'] = 'معطل';
$a->strings['Enabled'] = 'مفعل';
$a->strings['Disable this rule'] = 'عطّل القاعدة';
$a->strings['Enable this rule'] = 'فعّل القاعدة';
$a->strings['Edit this rule'] = 'عدّل هذه القاعدة';
$a->strings['Edit the rule'] = 'عدّل القاعدة';
$a->strings['Save this rule'] = 'احفظ هذه القاعدة';
$a->strings['Delete this rule'] = 'احذف هذه القاعدة';
$a->strings['Rule'] = 'القاعدة';
$a->strings['Close'] = 'اغلق';
$a->strings['Add new rule'] = 'أضف قاعدة جديدة';
$a->strings['Rule Name'] = 'اسم القاعدة';
$a->strings['Rule Expression'] = 'تعبير القاعدة';
$a->strings['Cancel'] = 'الغ';
$a->strings['You must be logged in to use this method'] = 'عليك الولوج لاستخدام هذه الطريقة';
$a->strings['Invalid form security token, please refresh the page.'] = 'رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة.';
$a->strings['The rule name and expression are required.'] = 'يلزم اسم وتعبير للقاعدة.';
$a->strings['Rule successfully added'] = 'نجحت إضافة القاعدة';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'القاعدة غير موجودة أو لا تنتمي إليك.';
$a->strings['Rule successfully updated'] = 'نجح تحديث القاعدة';
$a->strings['Rule successfully deleted'] = 'نجح حذف القاعدة';
$a->strings['Missing argument: guid.'] = 'معامل ناقص: دليل.';
$a->strings['Unknown post with guid: %s'] = 'مشاركة غير معروفة ذات الدليل: 1%s';
$a->strings['Method not found'] = 'لم يُعثر على التطبيق';

View File

@ -5,33 +5,36 @@ function string_plural_select_ca($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Filtered by rule: %s"] = "Filtrat per regla: %s";
$a->strings["Advanced Content Filter"] = "Contingut avançat Filtre";
$a->strings["Back to Addon Settings"] = "Torna Addon Configuració";
$a->strings["Add a Rule"] = "Afegiu una regla";
$a->strings["Help"] = "Ajuda";
$a->strings["Your rules"] = "Les seves normes";
$a->strings["Disabled"] = "Desactivat";
$a->strings["Enabled"] = "Permetre";
$a->strings["Disable this rule"] = "Desactiva aquesta regla";
$a->strings["Enable this rule"] = "Activa aquesta regla";
$a->strings["Edit this rule"] = "Edita aquesta regla";
$a->strings["Edit the rule"] = "Edita la regla";
$a->strings["Save this rule"] = "Deseu aquesta regla";
$a->strings["Delete this rule"] = "Suprimeix aquesta regla";
$a->strings["Rule"] = "Regla";
$a->strings["Close"] = "Tancar";
$a->strings["Add new rule"] = "Add nova regla";
$a->strings["Rule Name"] = "Nom de la regla";
$a->strings["Rule Expression"] = "Expressió de regla";
$a->strings["Cancel"] = "cancel·lar";
$a->strings["You must be logged in to use this method"] = "Per utilitzar aquest mètode, heu diniciar sessió";
$a->strings["The rule name and expression are required."] = "El nom i lexpressió de la regla són obligatoris";
$a->strings["Rule successfully added"] = "La regla s'ha afegit correctament";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regla no existeix o no us pertany.";
$a->strings["Rule successfully updated"] = "La regla s'ha actualitzat correctament";
$a->strings["Rule successfully deleted"] = "S'ha suprimit la regla correctament";
$a->strings["Missing argument: guid."] = "Falta un argument: guia";
$a->strings["Unknown post with guid: %s"] = "Publicació desconeguda amb guia: %s";
$a->strings["Method not found"] = "Mètode no trobat";
$a->strings['Filtered by rule: %s'] = 'Filtrat per regla: %s';
$a->strings['Advanced Content Filter'] = 'Contingut avançat Filtre';
$a->strings['Back to Addon Settings'] = 'Torna Addon Configuració';
$a->strings['Add a Rule'] = 'Afegiu una regla';
$a->strings['Help'] = 'Ajuda';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Afegiu i gestioneu les vostres regles de filtre de contingut personal en aquesta pantalla. Les regles tenen un nom i una expressió arbitrària que es combinen amb les dades de la publicació. Per obtenir una referència completa de les variables i operacions disponibles, comproveu el botó <a href="advancedcontentfilter/help">pàgina dajuda</a>.';
$a->strings['Your rules'] = 'Les seves normes';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Encara no teniu normes. Comenceu a afegir-ne un fent clic al botó situat al costat del títol.';
$a->strings['Disabled'] = 'Desactivat';
$a->strings['Enabled'] = 'Permetre';
$a->strings['Disable this rule'] = 'Desactiva aquesta regla';
$a->strings['Enable this rule'] = 'Activa aquesta regla';
$a->strings['Edit this rule'] = 'Edita aquesta regla';
$a->strings['Edit the rule'] = 'Edita la regla';
$a->strings['Save this rule'] = 'Deseu aquesta regla';
$a->strings['Delete this rule'] = 'Suprimeix aquesta regla';
$a->strings['Rule'] = 'Regla';
$a->strings['Close'] = 'Tancar';
$a->strings['Add new rule'] = 'Add nova regla';
$a->strings['Rule Name'] = 'Nom de la regla';
$a->strings['Rule Expression'] = 'Expressió de regla';
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Exemples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
$a->strings['Cancel'] = 'cancel·lar';
$a->strings['You must be logged in to use this method'] = 'Per utilitzar aquest mètode, heu diniciar sessió';
$a->strings['Invalid form security token, please refresh the page.'] = 'El testimoni de seguretat del formulari no és vàlid. Actualitza la pàgina';
$a->strings['The rule name and expression are required.'] = 'El nom i lexpressió de la regla són obligatoris';
$a->strings['Rule successfully added'] = 'La regla s\'ha afegit correctament';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existeix o no us pertany.';
$a->strings['Rule successfully updated'] = 'La regla s\'ha actualitzat correctament';
$a->strings['Rule successfully deleted'] = 'S\'ha suprimit la regla correctament';
$a->strings['Missing argument: guid.'] = 'Falta un argument: guia';
$a->strings['Unknown post with guid: %s'] = 'Publicació desconeguda amb guia: %s';
$a->strings['Method not found'] = 'Mètode no trobat';

View File

@ -5,34 +5,36 @@ function string_plural_select_cs($n){
$n = intval($n);
if (($n == 1 && $n % 1 == 0)) { return 0; } else if (($n >= 2 && $n <= 4 && $n % 1 == 0)) { return 1; } else if (($n % 1 != 0 )) { return 2; } else { return 3; }
}}
;
$a->strings["Filtered by rule: %s"] = "Filtrováno podle pravidla: %s";
$a->strings["Advanced Content Filter"] = "Rozšířený filtr obsahu";
$a->strings["Back to Addon Settings"] = "Zpět na nastavení doplňku";
$a->strings["Add a Rule"] = "Přidat pravidlo";
$a->strings["Help"] = "Nápověda";
$a->strings["Your rules"] = "Vaše pravidla";
$a->strings["Disabled"] = "Zakázáno";
$a->strings["Enabled"] = "Povoleno";
$a->strings["Disable this rule"] = "Zakázat toto pravidlo";
$a->strings["Enable this rule"] = "Povolit toto pravidlo";
$a->strings["Edit this rule"] = "Upravit toto pravidlo";
$a->strings["Edit the rule"] = "Upravit pravidlo";
$a->strings["Save this rule"] = "Uložit toto pravidlo";
$a->strings["Delete this rule"] = "Smazat toto pravidlo";
$a->strings["Rule"] = "Pravidlo";
$a->strings["Close"] = "Zavřít";
$a->strings["Add new rule"] = "Přidat nové pravidlo";
$a->strings["Rule Name"] = "Název pravidla";
$a->strings["Rule Expression"] = "Výraz pravidla";
$a->strings["Cancel"] = "Zrušit";
$a->strings["You must be logged in to use this method"] = "Pro použití této metody musíte být přihlášen/a";
$a->strings["Invalid form security token, please refresh the page."] = "Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.";
$a->strings["The rule name and expression are required."] = "Je požadován název pravidla a výraz.";
$a->strings["Rule successfully added"] = "Pravidlo úspěšně přidáno";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Pravidlo buď neexistuje, nebo Vám nepatří.";
$a->strings["Rule successfully updated"] = "Pravidlo úspěšně aktualizováno";
$a->strings["Rule successfully deleted"] = "Pravidlo úspěšně smazáno";
$a->strings["Missing argument: guid."] = "Chybí argument: guid.";
$a->strings["Unknown post with guid: %s"] = "Neznámý pžíspěvek s číslem guid: %s";
$a->strings["Method not found"] = "Metoda nenalezena";
$a->strings['Filtered by rule: %s'] = 'Filtrováno podle pravidla: %s';
$a->strings['Advanced Content Filter'] = 'Rozšířený filtr obsahu';
$a->strings['Back to Addon Settings'] = 'Zpět na nastavení doplňku';
$a->strings['Add a Rule'] = 'Přidat pravidlo';
$a->strings['Help'] = 'Nápověda';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Přidávejte a spravujte Vaše osobní pravidla pro filtrování obsahu na této obrazovce. Pravidla mají název a libovolný výraz, který bude porovnán s daty příspěvku. Pro úplnou referenci dostupných operací a proměnných navštivte <a href="advancedcontentfilter/help">stránku nápovědy</a>.';
$a->strings['Your rules'] = 'Vaše pravidla';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Ještě nemáte žádná pravidla! Přidejte první kliknutím na tlačítko nahoře vedle nadpisu.';
$a->strings['Disabled'] = 'Zakázáno';
$a->strings['Enabled'] = 'Povoleno';
$a->strings['Disable this rule'] = 'Zakázat toto pravidlo';
$a->strings['Enable this rule'] = 'Povolit toto pravidlo';
$a->strings['Edit this rule'] = 'Upravit toto pravidlo';
$a->strings['Edit the rule'] = 'Upravit pravidlo';
$a->strings['Save this rule'] = 'Uložit toto pravidlo';
$a->strings['Delete this rule'] = 'Smazat toto pravidlo';
$a->strings['Rule'] = 'Pravidlo';
$a->strings['Close'] = 'Zavřít';
$a->strings['Add new rule'] = 'Přidat nové pravidlo';
$a->strings['Rule Name'] = 'Název pravidla';
$a->strings['Rule Expression'] = 'Výraz pravidla';
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Příklady:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
$a->strings['Cancel'] = 'Zrušit';
$a->strings['You must be logged in to use this method'] = 'Pro použití této metody musíte být přihlášen/a';
$a->strings['Invalid form security token, please refresh the page.'] = 'Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.';
$a->strings['The rule name and expression are required.'] = 'Je požadován název pravidla a výraz.';
$a->strings['Rule successfully added'] = 'Pravidlo úspěšně přidáno';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Pravidlo buď neexistuje, nebo Vám nepatří.';
$a->strings['Rule successfully updated'] = 'Pravidlo úspěšně aktualizováno';
$a->strings['Rule successfully deleted'] = 'Pravidlo úspěšně smazáno';
$a->strings['Missing argument: guid.'] = 'Chybí argument: guid.';
$a->strings['Unknown post with guid: %s'] = 'Neznámý pžíspěvek s číslem guid: %s';
$a->strings['Method not found'] = 'Metoda nenalezena';

View File

@ -0,0 +1,157 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Language-Team: Danish (Denmark) (https://www.transifex.com/Friendica/teams/12172/da_DK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da_DK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr ""
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr ""
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr ""
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr ""
#: advancedcontentfilter.php:227
msgid "Help"
msgstr ""
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the help page."
msgstr ""
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr ""
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
msgstr ""
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr ""
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr ""
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr ""
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr ""
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr ""
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr ""
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr ""
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr ""
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr ""
#: advancedcontentfilter.php:240
msgid "Close"
msgstr ""
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr ""
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr ""
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr ""
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr ""
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
msgid "You must be logged in to use this method"
msgstr ""
#: advancedcontentfilter.php:338 advancedcontentfilter.php:374
#: advancedcontentfilter.php:405
msgid "Invalid form security token, please refresh the page."
msgstr ""
#: advancedcontentfilter.php:350
msgid "The rule name and expression are required."
msgstr ""
#: advancedcontentfilter.php:364
msgid "Rule successfully added"
msgstr ""
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
msgid "Rule doesn't exist or doesn't belong to you."
msgstr ""
#: advancedcontentfilter.php:395
msgid "Rule successfully updated"
msgstr ""
#: advancedcontentfilter.php:418
msgid "Rule successfully deleted"
msgstr ""
#: advancedcontentfilter.php:428
msgid "Missing argument: guid."
msgstr ""
#: advancedcontentfilter.php:436
#, php-format
msgid "Unknown post with guid: %s"
msgstr ""
#: src/middlewares.php:49
msgid "Method not found"
msgstr ""

View File

@ -0,0 +1,7 @@
<?php
if(! function_exists("string_plural_select_da_dk")) {
function string_plural_select_da_dk($n){
$n = intval($n);
return intval($n != 1);
}}

View File

@ -5,49 +5,45 @@
#
# Translators:
# Ulf Rompe <transifex.com@rompe.org>, 2019
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2021
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2021\n"
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022\n"
"Language-Team: German (https://app.transifex.com/Friendica/teams/12172/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Methode nicht gefunden"
#: advancedcontentfilter.php:136
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Nach dieser Regel gefiltert: %s"
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Erweiterter Inhaltsfilter"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Zurück zu den Addon Einstellungen"
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Eine Regel hinzufügen"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Hilfe"
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
@ -60,11 +56,11 @@ msgstr ""
"gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für "
"die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons."
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Deine Regeln"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -72,98 +68,108 @@ msgstr ""
"Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen,"
" verwende bitte den Button neben dem Titel."
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Deaktiviert"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Aktiv"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Diese Regel deaktivieren"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Diese Regel aktivieren"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Diese Regel bearbeiten"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Die Regel bearbeiten"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Regel speichern"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Diese Regel löschen"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Regel"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Schließen"
#: advancedcontentfilter.php:223
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Neue Regel hinzufügen"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Name der Regel"
#: advancedcontentfilter.php:225
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Ausdruck der Regel"
#: advancedcontentfilter.php:226
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Abbrechen"
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr ""
"Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag"
" existiert."
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Du musst angemeldet sein, um diese Methode verwenden zu können "
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
#: advancedcontentfilter.php:382
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Ungültiges Sciherheitstoken, bitte die Seite neu laden."
#: advancedcontentfilter.php:331
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Der Name der Regel und der Ausdruck sind erforderlich."
#: advancedcontentfilter.php:343
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Regel erfolgreich hinzugefügt."
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Entweder existiert die Regel nicht, oder sie gehört dir nicht."
#: advancedcontentfilter.php:372
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Regel wurde erfolgreich aktualisiert."
#: advancedcontentfilter.php:393
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Regel erfolgreich gelöscht."
#: advancedcontentfilter.php:403
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Fehlendes Argument: guid."
#: advancedcontentfilter.php:411
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Unbekannter Beitrag mit der guid: %s"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Methode nicht gefunden"

View File

@ -5,34 +5,36 @@ function string_plural_select_de($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Method not found"] = "Methode nicht gefunden";
$a->strings["Filtered by rule: %s"] = "Nach dieser Regel gefiltert: %s";
$a->strings["Advanced Content Filter"] = "Erweiterter Inhaltsfilter";
$a->strings["Back to Addon Settings"] = "Zurück zu den Addon Einstellungen";
$a->strings["Add a Rule"] = "Eine Regel hinzufügen";
$a->strings["Help"] = "Hilfe";
$a->strings["Your rules"] = "Deine Regeln";
$a->strings["Disabled"] = "Deaktiviert";
$a->strings["Enabled"] = "Aktiv";
$a->strings["Disable this rule"] = "Diese Regel deaktivieren";
$a->strings["Enable this rule"] = "Diese Regel aktivieren";
$a->strings["Edit this rule"] = "Diese Regel bearbeiten";
$a->strings["Edit the rule"] = "Die Regel bearbeiten";
$a->strings["Save this rule"] = "Regel speichern";
$a->strings["Delete this rule"] = "Diese Regel löschen";
$a->strings["Rule"] = "Regel";
$a->strings["Close"] = "Schließen";
$a->strings["Add new rule"] = "Neue Regel hinzufügen";
$a->strings["Rule Name"] = "Name der Regel";
$a->strings["Rule Expression"] = "Ausdruck der Regel";
$a->strings["Cancel"] = "Abbrechen";
$a->strings["You must be logged in to use this method"] = "Du musst angemeldet sein, um diese Methode verwenden zu können ";
$a->strings["Invalid form security token, please refresh the page."] = "Ungültiges Sciherheitstoken, bitte die Seite neu laden.";
$a->strings["The rule name and expression are required."] = "Der Name der Regel und der Ausdruck sind erforderlich.";
$a->strings["Rule successfully added"] = "Regel erfolgreich hinzugefügt.";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Entweder existiert die Regel nicht, oder sie gehört dir nicht.";
$a->strings["Rule successfully updated"] = "Regel wurde erfolgreich aktualisiert.";
$a->strings["Rule successfully deleted"] = "Regel erfolgreich gelöscht.";
$a->strings["Missing argument: guid."] = "Fehlendes Argument: guid.";
$a->strings["Unknown post with guid: %s"] = "Unbekannter Beitrag mit der guid: %s";
$a->strings['Filtered by rule: %s'] = 'Nach dieser Regel gefiltert: %s';
$a->strings['Advanced Content Filter'] = 'Erweiterter Inhaltsfilter';
$a->strings['Back to Addon Settings'] = 'Zurück zu den Addon Einstellungen';
$a->strings['Add a Rule'] = 'Eine Regel hinzufügen';
$a->strings['Help'] = 'Hilfe';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons.';
$a->strings['Your rules'] = 'Deine Regeln';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen, verwende bitte den Button neben dem Titel.';
$a->strings['Disabled'] = 'Deaktiviert';
$a->strings['Enabled'] = 'Aktiv';
$a->strings['Disable this rule'] = 'Diese Regel deaktivieren';
$a->strings['Enable this rule'] = 'Diese Regel aktivieren';
$a->strings['Edit this rule'] = 'Diese Regel bearbeiten';
$a->strings['Edit the rule'] = 'Die Regel bearbeiten';
$a->strings['Save this rule'] = 'Regel speichern';
$a->strings['Delete this rule'] = 'Diese Regel löschen';
$a->strings['Rule'] = 'Regel';
$a->strings['Close'] = 'Schließen';
$a->strings['Add new rule'] = 'Neue Regel hinzufügen';
$a->strings['Rule Name'] = 'Name der Regel';
$a->strings['Rule Expression'] = 'Ausdruck der Regel';
$a->strings['Cancel'] = 'Abbrechen';
$a->strings['This addon requires this node having at least one post'] = 'Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag existiert.';
$a->strings['You must be logged in to use this method'] = 'Du musst angemeldet sein, um diese Methode verwenden zu können ';
$a->strings['Invalid form security token, please refresh the page.'] = 'Ungültiges Sciherheitstoken, bitte die Seite neu laden.';
$a->strings['The rule name and expression are required.'] = 'Der Name der Regel und der Ausdruck sind erforderlich.';
$a->strings['Rule successfully added'] = 'Regel erfolgreich hinzugefügt.';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Entweder existiert die Regel nicht, oder sie gehört dir nicht.';
$a->strings['Rule successfully updated'] = 'Regel wurde erfolgreich aktualisiert.';
$a->strings['Rule successfully deleted'] = 'Regel erfolgreich gelöscht.';
$a->strings['Missing argument: guid.'] = 'Fehlendes Argument: guid.';
$a->strings['Unknown post with guid: %s'] = 'Unbekannter Beitrag mit der guid: %s';
$a->strings['Method not found'] = 'Methode nicht gefunden';

View File

@ -5,34 +5,36 @@ function string_plural_select_en_gb($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Filtered by rule: %s"] = "Filtered by rule: %s";
$a->strings["Advanced Content Filter"] = "Advanced Content Filter";
$a->strings["Back to Addon Settings"] = "Back to addon settings";
$a->strings["Add a Rule"] = "Add a rule";
$a->strings["Help"] = "Help";
$a->strings["Your rules"] = "Your rules";
$a->strings["Disabled"] = "Disabled";
$a->strings["Enabled"] = "Enabled";
$a->strings["Disable this rule"] = "Disable this rule";
$a->strings["Enable this rule"] = "Enable this rule";
$a->strings["Edit this rule"] = "Edit this rule";
$a->strings["Edit the rule"] = "Edit the rule";
$a->strings["Save this rule"] = "Save this rule";
$a->strings["Delete this rule"] = "Delete this rule";
$a->strings["Rule"] = "Rule";
$a->strings["Close"] = "Close";
$a->strings["Add new rule"] = "Add new rule";
$a->strings["Rule Name"] = "Rule name";
$a->strings["Rule Expression"] = "Rule expression";
$a->strings["Cancel"] = "Cancel";
$a->strings["You must be logged in to use this method"] = "You must be logged in to use this method";
$a->strings["Invalid form security token, please refresh the page."] = "Invalid form security token, please refresh the page.";
$a->strings["The rule name and expression are required."] = "The rule name and expression are required.";
$a->strings["Rule successfully added"] = "Rule successfully added";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Rule doesn't exist or doesn't belong to you.";
$a->strings["Rule successfully updated"] = "Rule successfully updated";
$a->strings["Rule successfully deleted"] = "Rule successfully deleted";
$a->strings["Missing argument: guid."] = "Missing argument: Global Unique Identifier (GUID).";
$a->strings["Unknown post with guid: %s"] = "Unknown post with Global Unique Identifier (GUID): %s";
$a->strings["Method not found"] = "Method not found";
$a->strings['Filtered by rule: %s'] = 'Filtered by rule: %s';
$a->strings['Advanced Content Filter'] = 'Advanced Content Filter';
$a->strings['Back to Addon Settings'] = 'Back to addon settings';
$a->strings['Add a Rule'] = 'Add a rule';
$a->strings['Help'] = 'Help';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.';
$a->strings['Your rules'] = 'Your rules';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'You have no rules yet! Start adding one by clicking on the button above next to the title.';
$a->strings['Disabled'] = 'Disabled';
$a->strings['Enabled'] = 'Enabled';
$a->strings['Disable this rule'] = 'Disable this rule';
$a->strings['Enable this rule'] = 'Enable this rule';
$a->strings['Edit this rule'] = 'Edit this rule';
$a->strings['Edit the rule'] = 'Edit the rule';
$a->strings['Save this rule'] = 'Save this rule';
$a->strings['Delete this rule'] = 'Delete this rule';
$a->strings['Rule'] = 'Rule';
$a->strings['Close'] = 'Close';
$a->strings['Add new rule'] = 'Add new rule';
$a->strings['Rule Name'] = 'Rule name';
$a->strings['Rule Expression'] = 'Rule expression';
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
$a->strings['Cancel'] = 'Cancel';
$a->strings['You must be logged in to use this method'] = 'You must be logged in to use this method';
$a->strings['Invalid form security token, please refresh the page.'] = 'Invalid form security token, please refresh the page.';
$a->strings['The rule name and expression are required.'] = 'The rule name and expression are required.';
$a->strings['Rule successfully added'] = 'Rule successfully added';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Rule doesn\'t exist or doesn\'t belong to you.';
$a->strings['Rule successfully updated'] = 'Rule successfully updated';
$a->strings['Rule successfully deleted'] = 'Rule successfully deleted';
$a->strings['Missing argument: guid.'] = 'Missing argument: Global Unique Identifier (GUID).';
$a->strings['Unknown post with guid: %s'] = 'Unknown post with Global Unique Identifier (GUID): %s';
$a->strings['Method not found'] = 'Method not found';

View File

@ -5,33 +5,35 @@ function string_plural_select_es($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Method not found"] = "Método no encontrado";
$a->strings["Filtered by rule: %s"] = "Filtrado por la regla: %s";
$a->strings["Advanced Content Filter"] = "Filtro de contenido avanzado";
$a->strings["Back to Addon Settings"] = "Volver a Ajustes de Complemento";
$a->strings["Add a Rule"] = "Añadir una regla";
$a->strings["Help"] = "Ayuda";
$a->strings["Your rules"] = "Tus reglas";
$a->strings["Disabled"] = "Desactivado";
$a->strings["Enabled"] = "Activado";
$a->strings["Disable this rule"] = "Desactivar esta regla";
$a->strings["Enable this rule"] = "Activar esta regla";
$a->strings["Edit this rule"] = "Editar esta regla";
$a->strings["Edit the rule"] = "Editar regla";
$a->strings["Save this rule"] = "Guardar esta regla";
$a->strings["Delete this rule"] = "Borrar esta regla";
$a->strings["Rule"] = "Regla";
$a->strings["Close"] = "Cerrar";
$a->strings["Add new rule"] = "Agregar nueva regla";
$a->strings["Rule Name"] = "Nombre de la regla";
$a->strings["Rule Expression"] = "Expresión de la regla";
$a->strings["Cancel"] = "Cancelar";
$a->strings["You must be logged in to use this method"] = "Debe estar registrado para usar este método";
$a->strings["The rule name and expression are required."] = "El nombre y la expresión de la regla son obligatorios.";
$a->strings["Rule successfully added"] = "Regla añadida exitosamente";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regla no existe o no te pertenece.";
$a->strings["Rule successfully updated"] = "Regla actualizada exitosamente";
$a->strings["Rule successfully deleted"] = "Regla eliminada exitosamente";
$a->strings["Missing argument: guid."] = "Algumento faltante: guía";
$a->strings["Unknown post with guid: %s"] = "Publicacion desconocida con la guía: %s";
$a->strings['Method not found'] = 'Método no encontrado';
$a->strings['Filtered by rule: %s'] = 'Filtrado por la regla: %s';
$a->strings['Advanced Content Filter'] = 'Filtro de contenido avanzado';
$a->strings['Back to Addon Settings'] = 'Volver a Ajustes de Complemento';
$a->strings['Add a Rule'] = 'Añadir una regla';
$a->strings['Help'] = 'Ayuda';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Agregue y administre sus reglas de filtrado de contenido personal en esta pantalla. Las reglas tienen un nombre y una expresión arbitraria que se comparará con los datos de la publicación. Para obtener una referencia completa de las operaciones y variables disponibles, consulte la página de ayuda.';
$a->strings['Your rules'] = 'Tus reglas';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de arriba al lado del título. ';
$a->strings['Disabled'] = 'Desactivado';
$a->strings['Enabled'] = 'Activado';
$a->strings['Disable this rule'] = 'Desactivar esta regla';
$a->strings['Enable this rule'] = 'Activar esta regla';
$a->strings['Edit this rule'] = 'Editar esta regla';
$a->strings['Edit the rule'] = 'Editar regla';
$a->strings['Save this rule'] = 'Guardar esta regla';
$a->strings['Delete this rule'] = 'Borrar esta regla';
$a->strings['Rule'] = 'Regla';
$a->strings['Close'] = 'Cerrar';
$a->strings['Add new rule'] = 'Agregar nueva regla';
$a->strings['Rule Name'] = 'Nombre de la regla';
$a->strings['Rule Expression'] = 'Expresión de la regla';
$a->strings['Cancel'] = 'Cancelar';
$a->strings['You must be logged in to use this method'] = 'Debe estar registrado para usar este método';
$a->strings['Invalid form security token, please refresh the page.'] = 'Token de seguridad de formulario inválido, por favor actualice la página.';
$a->strings['The rule name and expression are required.'] = 'El nombre y la expresión de la regla son obligatorios.';
$a->strings['Rule successfully added'] = 'Regla añadida exitosamente';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existe o no te pertenece.';
$a->strings['Rule successfully updated'] = 'Regla actualizada exitosamente';
$a->strings['Rule successfully deleted'] = 'Regla eliminada exitosamente';
$a->strings['Missing argument: guid.'] = 'Algumento faltante: guía';
$a->strings['Unknown post with guid: %s'] = 'Publicacion desconocida con la guía: %s';

View File

@ -5,19 +5,18 @@ function string_plural_select_fi($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Add a Rule"] = "Lisää sääntö";
$a->strings["Your rules"] = "Sääntösi";
$a->strings["Disabled"] = "Ei käytössä";
$a->strings["Enabled"] = "Käytössä";
$a->strings["Enable this rule"] = "Ota tämä sääntö käyttöön";
$a->strings["Edit this rule"] = "Muokkaa tätä sääntöä";
$a->strings["Edit the rule"] = "Muokkaa sääntöä";
$a->strings["Save this rule"] = "Tallenna tämä sääntö";
$a->strings["Delete this rule"] = "Poista tämä sääntö";
$a->strings["Rule"] = "Sääntö";
$a->strings["Close"] = "Sulje";
$a->strings["Add new rule"] = "Lisää uusi sääntö";
$a->strings["Rule successfully added"] = "Sääntö lisätty";
$a->strings["Rule successfully updated"] = "Sääntö päivitetty";
$a->strings["Rule successfully deleted"] = "Sääntö poistettu";
$a->strings['Add a Rule'] = 'Lisää sääntö';
$a->strings['Your rules'] = 'Sääntösi';
$a->strings['Disabled'] = 'Ei käytössä';
$a->strings['Enabled'] = 'Käytössä';
$a->strings['Enable this rule'] = 'Ota tämä sääntö käyttöön';
$a->strings['Edit this rule'] = 'Muokkaa tätä sääntöä';
$a->strings['Edit the rule'] = 'Muokkaa sääntöä';
$a->strings['Save this rule'] = 'Tallenna tämä sääntö';
$a->strings['Delete this rule'] = 'Poista tämä sääntö';
$a->strings['Rule'] = 'Sääntö';
$a->strings['Close'] = 'Sulje';
$a->strings['Add new rule'] = 'Lisää uusi sääntö';
$a->strings['Rule successfully added'] = 'Sääntö lisätty';
$a->strings['Rule successfully updated'] = 'Sääntö päivitetty';
$a->strings['Rule successfully deleted'] = 'Sääntö poistettu';

View File

@ -8,48 +8,45 @@
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018
# Phigger Phigger <automates@lepouete.fr>, 2019
# Wil Tur <wiltur@yargl.com>, 2021
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Wil Tur <wiltur@yargl.com>, 2021\n"
"Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
"Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Méthode non trouvée"
#: advancedcontentfilter.php:136
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Filtré par règle:%s"
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Filtre avancé de contenu"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Retour aux paramètres de l'extension"
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Ajouter une règle"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Aide"
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
@ -61,11 +58,11 @@ msgstr ""
"comparée aux données des messages. Pour une référence complète des "
"opérations et variables disponibles, consultez la page d'aide."
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Vos règles"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -73,98 +70,108 @@ msgstr ""
"Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-"
"dessus près du titre"
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Désactivé"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Activé"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Désactiver cette règle"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Activer cette règle"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Modifier cette règle"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Modifier la règle"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Enregistrer cette règle"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Supprimer cette règle"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Règle"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Fermer"
#: advancedcontentfilter.php:223
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Ajouter nouvelle règle"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Nommer règle"
#: advancedcontentfilter.php:225
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Expression de règle"
#: advancedcontentfilter.php:226
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Annuler"
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr ""
"Cette extension requiert au moins une publication sur ce serveur pour "
"fonctionner"
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Vous devez être connecté pour utiliser cette méthode"
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
#: advancedcontentfilter.php:382
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Formulaire token de sécurité invalide, rafraîchissez la page"
#: advancedcontentfilter.php:331
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Le nom et l'expression de cette règle sont requis"
#: advancedcontentfilter.php:343
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Règle bien ajoutée"
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Cette règle n'existe pas ou ne vous appartient pas"
#: advancedcontentfilter.php:372
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Règle bien mise à jour"
#: advancedcontentfilter.php:393
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Règle bien supprimée"
#: advancedcontentfilter.php:403
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Argument manquant: "
#: advancedcontentfilter.php:411
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Post inconnu avec guid : %s"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Méthode non trouvée"

View File

@ -3,36 +3,38 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
;
$a->strings["Method not found"] = "Méthode non trouvée";
$a->strings["Filtered by rule: %s"] = "Filtré par règle:%s";
$a->strings["Advanced Content Filter"] = "Filtre avancé de contenu";
$a->strings["Back to Addon Settings"] = "Retour aux paramètres de l'extension";
$a->strings["Add a Rule"] = "Ajouter une règle";
$a->strings["Help"] = "Aide";
$a->strings["Your rules"] = "Vos règles";
$a->strings["Disabled"] = "Désactivé";
$a->strings["Enabled"] = "Activé";
$a->strings["Disable this rule"] = "Désactiver cette règle";
$a->strings["Enable this rule"] = "Activer cette règle";
$a->strings["Edit this rule"] = "Modifier cette règle";
$a->strings["Edit the rule"] = "Modifier la règle";
$a->strings["Save this rule"] = "Enregistrer cette règle";
$a->strings["Delete this rule"] = "Supprimer cette règle";
$a->strings["Rule"] = "Règle";
$a->strings["Close"] = "Fermer";
$a->strings["Add new rule"] = "Ajouter nouvelle règle";
$a->strings["Rule Name"] = "Nommer règle";
$a->strings["Rule Expression"] = "Expression de règle";
$a->strings["Cancel"] = "Annuler";
$a->strings["You must be logged in to use this method"] = "Vous devez être connecté pour utiliser cette méthode";
$a->strings["Invalid form security token, please refresh the page."] = "Formulaire token de sécurité invalide, rafraîchissez la page";
$a->strings["The rule name and expression are required."] = "Le nom et l'expression de cette règle sont requis";
$a->strings["Rule successfully added"] = "Règle bien ajoutée";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Cette règle n'existe pas ou ne vous appartient pas";
$a->strings["Rule successfully updated"] = "Règle bien mise à jour";
$a->strings["Rule successfully deleted"] = "Règle bien supprimée";
$a->strings["Missing argument: guid."] = "Argument manquant: ";
$a->strings["Unknown post with guid: %s"] = "Post inconnu avec guid : %s";
$a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
$a->strings['Advanced Content Filter'] = 'Filtre avancé de contenu';
$a->strings['Back to Addon Settings'] = 'Retour aux paramètres de l\'extension';
$a->strings['Add a Rule'] = 'Ajouter une règle';
$a->strings['Help'] = 'Aide';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Cet écran permet d\'ajouter et de gérer vos règles de filtrage de contenu personnelles. Les règles ont un nom et une expression arbitraire qui sera comparée aux données des messages. Pour une référence complète des opérations et variables disponibles, consultez la page d\'aide.';
$a->strings['Your rules'] = 'Vos règles';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Vous n\'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-dessus près du titre';
$a->strings['Disabled'] = 'Désactivé';
$a->strings['Enabled'] = 'Activé';
$a->strings['Disable this rule'] = 'Désactiver cette règle';
$a->strings['Enable this rule'] = 'Activer cette règle';
$a->strings['Edit this rule'] = 'Modifier cette règle';
$a->strings['Edit the rule'] = 'Modifier la règle';
$a->strings['Save this rule'] = 'Enregistrer cette règle';
$a->strings['Delete this rule'] = 'Supprimer cette règle';
$a->strings['Rule'] = 'Règle';
$a->strings['Close'] = 'Fermer';
$a->strings['Add new rule'] = 'Ajouter nouvelle règle';
$a->strings['Rule Name'] = 'Nommer règle';
$a->strings['Rule Expression'] = 'Expression de règle';
$a->strings['Cancel'] = 'Annuler';
$a->strings['This addon requires this node having at least one post'] = 'Cette extension requiert au moins une publication sur ce serveur pour fonctionner';
$a->strings['You must be logged in to use this method'] = 'Vous devez être connecté pour utiliser cette méthode';
$a->strings['Invalid form security token, please refresh the page.'] = 'Formulaire token de sécurité invalide, rafraîchissez la page';
$a->strings['The rule name and expression are required.'] = 'Le nom et l\'expression de cette règle sont requis';
$a->strings['Rule successfully added'] = 'Règle bien ajoutée';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Cette règle n\'existe pas ou ne vous appartient pas';
$a->strings['Rule successfully updated'] = 'Règle bien mise à jour';
$a->strings['Rule successfully deleted'] = 'Règle bien supprimée';
$a->strings['Missing argument: guid.'] = 'Argument manquant: ';
$a->strings['Unknown post with guid: %s'] = 'Post inconnu avec guid : %s';
$a->strings['Method not found'] = 'Méthode non trouvée';

View File

@ -4,16 +4,16 @@
#
#
# Translators:
# Balázs Úr, 2021
# Balázs Úr, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Balázs Úr, 2021\n"
"Last-Translator: Balázs Úr, 2022\n"
"Language-Team: Hungarian (https://www.transifex.com/Friendica/teams/12172/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -21,32 +21,28 @@ msgstr ""
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "A módszer nem található"
#: advancedcontentfilter.php:136
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Szűrve a szabály alapján: %s"
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Speciális tartalomszűrő"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Vissza a bővítménybeállításokhoz"
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Szabály hozzáadása"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Súgó"
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
@ -58,11 +54,11 @@ msgstr ""
"adataira lesz illesztve. Az elérhető műveletek és változók teljes "
"hivatkozásáért nézze meg a súgóoldalt."
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Az Ön szabályai"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -70,98 +66,108 @@ msgstr ""
"Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett "
"lévő fenti gombra kattintva."
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Letiltva"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Engedélyezve"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "A szabály letiltása"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "A szabály engedélyezése"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "A szabály szerkesztése"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "A szabály szerkesztése"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "A szabály mentése"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "A szabály törlése"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Szabály"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Bezárás"
#: advancedcontentfilter.php:223
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Új szabály hozzáadása"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Szabály neve"
#: advancedcontentfilter.php:225
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Szabály kifejezése"
#: advancedcontentfilter.php:226
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Mégse"
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr ""
"Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy "
"bejegyzése legyen"
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Bejelentkezve kell lennie a módszer használatához"
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
#: advancedcontentfilter.php:382
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Érvénytelen űrlap biztonsági token. Frissítse az oldalt."
#: advancedcontentfilter.php:331
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "A szabály neve és kifejezése kötelező."
#: advancedcontentfilter.php:343
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "A szabály sikeresen hozzáadva"
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "A szabály nem létezik vagy nem Önhöz tatozik."
#: advancedcontentfilter.php:372
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "A szabály sikeresen frissítve"
#: advancedcontentfilter.php:393
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "A szabály sikeresen törölve"
#: advancedcontentfilter.php:403
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Hiányzó argumentum: guid."
#: advancedcontentfilter.php:411
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Ismeretlen bejegyzés a következő guid azonosítóval: %s"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "A módszer nem található"

View File

@ -5,34 +5,36 @@ function string_plural_select_hu($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Method not found"] = "A módszer nem található";
$a->strings["Filtered by rule: %s"] = "Szűrve a szabály alapján: %s";
$a->strings["Advanced Content Filter"] = "Speciális tartalomszűrő";
$a->strings["Back to Addon Settings"] = "Vissza a bővítménybeállításokhoz";
$a->strings["Add a Rule"] = "Szabály hozzáadása";
$a->strings["Help"] = "Súgó";
$a->strings["Your rules"] = "Az Ön szabályai";
$a->strings["Disabled"] = "Letiltva";
$a->strings["Enabled"] = "Engedélyezve";
$a->strings["Disable this rule"] = "A szabály letiltása";
$a->strings["Enable this rule"] = "A szabály engedélyezése";
$a->strings["Edit this rule"] = "A szabály szerkesztése";
$a->strings["Edit the rule"] = "A szabály szerkesztése";
$a->strings["Save this rule"] = "A szabály mentése";
$a->strings["Delete this rule"] = "A szabály törlése";
$a->strings["Rule"] = "Szabály";
$a->strings["Close"] = "Bezárás";
$a->strings["Add new rule"] = "Új szabály hozzáadása";
$a->strings["Rule Name"] = "Szabály neve";
$a->strings["Rule Expression"] = "Szabály kifejezése";
$a->strings["Cancel"] = "Mégse";
$a->strings["You must be logged in to use this method"] = "Bejelentkezve kell lennie a módszer használatához";
$a->strings["Invalid form security token, please refresh the page."] = "Érvénytelen űrlap biztonsági token. Frissítse az oldalt.";
$a->strings["The rule name and expression are required."] = "A szabály neve és kifejezése kötelező.";
$a->strings["Rule successfully added"] = "A szabály sikeresen hozzáadva";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "A szabály nem létezik vagy nem Önhöz tatozik.";
$a->strings["Rule successfully updated"] = "A szabály sikeresen frissítve";
$a->strings["Rule successfully deleted"] = "A szabály sikeresen törölve";
$a->strings["Missing argument: guid."] = "Hiányzó argumentum: guid.";
$a->strings["Unknown post with guid: %s"] = "Ismeretlen bejegyzés a következő guid azonosítóval: %s";
$a->strings['Filtered by rule: %s'] = 'Szűrve a szabály alapján: %s';
$a->strings['Advanced Content Filter'] = 'Speciális tartalomszűrő';
$a->strings['Back to Addon Settings'] = 'Vissza a bővítménybeállításokhoz';
$a->strings['Add a Rule'] = 'Szabály hozzáadása';
$a->strings['Help'] = 'Súgó';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés adataira lesz illesztve. Az elérhető műveletek és változók teljes hivatkozásáért nézze meg a súgóoldalt.';
$a->strings['Your rules'] = 'Az Ön szabályai';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett lévő fenti gombra kattintva.';
$a->strings['Disabled'] = 'Letiltva';
$a->strings['Enabled'] = 'Engedélyezve';
$a->strings['Disable this rule'] = 'A szabály letiltása';
$a->strings['Enable this rule'] = 'A szabály engedélyezése';
$a->strings['Edit this rule'] = 'A szabály szerkesztése';
$a->strings['Edit the rule'] = 'A szabály szerkesztése';
$a->strings['Save this rule'] = 'A szabály mentése';
$a->strings['Delete this rule'] = 'A szabály törlése';
$a->strings['Rule'] = 'Szabály';
$a->strings['Close'] = 'Bezárás';
$a->strings['Add new rule'] = 'Új szabály hozzáadása';
$a->strings['Rule Name'] = 'Szabály neve';
$a->strings['Rule Expression'] = 'Szabály kifejezése';
$a->strings['Cancel'] = 'Mégse';
$a->strings['This addon requires this node having at least one post'] = 'Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy bejegyzése legyen';
$a->strings['You must be logged in to use this method'] = 'Bejelentkezve kell lennie a módszer használatához';
$a->strings['Invalid form security token, please refresh the page.'] = 'Érvénytelen űrlap biztonsági token. Frissítse az oldalt.';
$a->strings['The rule name and expression are required.'] = 'A szabály neve és kifejezése kötelező.';
$a->strings['Rule successfully added'] = 'A szabály sikeresen hozzáadva';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'A szabály nem létezik vagy nem Önhöz tatozik.';
$a->strings['Rule successfully updated'] = 'A szabály sikeresen frissítve';
$a->strings['Rule successfully deleted'] = 'A szabály sikeresen törölve';
$a->strings['Missing argument: guid.'] = 'Hiányzó argumentum: guid.';
$a->strings['Unknown post with guid: %s'] = 'Ismeretlen bejegyzés a következő guid azonosítóval: %s';
$a->strings['Method not found'] = 'A módszer nem található';

View File

@ -3,60 +3,63 @@
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# fabrixxm <fabrix.xm@gmail.com>, 2018
# Sylke Vicious <silkevicious@gmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>, 2018\n"
"Language-Team: Italian (https://www.transifex.com/Friendica/teams/12172/it/)\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Sylke Vicious <silkevicious@gmail.com>, 2021\n"
"Language-Team: Italian (https://app.transifex.com/Friendica/teams/12172/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: advancedcontentfilter.php:134
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Filtrato dalla regola: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Filtro Avanzato Contenuti"
#: advancedcontentfilter.php:203
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Torna alle impostazioni del componente aggiuntivo"
#: advancedcontentfilter.php:205
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Aggiungi una regola"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Aiuto"
#: advancedcontentfilter.php:207
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>."
"the help page."
msgstr ""
"Aggiungi e gestisci le tue regole personali di filtro contenuti in questa "
"schermata. Le regole hanno un nome e un'espressione arbitraria che sarà "
"confrontata con i dati del messaggio. Per un elenco completo delle "
"operazioni disponibili, controlla la <a "
"href=\"advancedcontentfilter/help\">pagina di aiuto</a>."
"operazioni e variabili disponibili, controlla la pagina di aiuto."
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Le tue regole"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -64,110 +67,106 @@ msgstr ""
"Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui "
"sopra a fianco al titolo."
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Disabilitato"
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Abilitato"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Diabilita questa regola"
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Abilita questa regola"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Modifica questa regola"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Modifica la regola"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Salva questa regola"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Elimina questa regola"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Regola"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Chiudi"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Aggiungi nuova regola"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Nome Regola"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Espressione Regola"
#: advancedcontentfilter.php:223
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>Esempi:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Annulla"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr ""
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Devi essere autenticato per usare questo metodo"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
#: advancedcontentfilter.php:379
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Token di sicurezza invalido, aggiorna la pagina."
#: advancedcontentfilter.php:328
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Il nome e l'espressione della regola sono richiesti."
#: advancedcontentfilter.php:340
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Regola aggiunta con successo"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "La regola non esiste o non ti appartiene."
#: advancedcontentfilter.php:369
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Regola aggiornata con successo"
#: advancedcontentfilter.php:390
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Regola eliminata con successo"
#: advancedcontentfilter.php:400
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Argomento mancante: guid."
#: advancedcontentfilter.php:406
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Messaggio con guid %s sconosciuto"
#: src/middlewares.php:28
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Metodo non trovato"

View File

@ -3,36 +3,37 @@
if(! function_exists("string_plural_select_it")) {
function string_plural_select_it($n){
$n = intval($n);
return intval($n != 1);
if ($n == 1) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
;
$a->strings["Filtered by rule: %s"] = "Filtrato dalla regola: %s";
$a->strings["Advanced Content Filter"] = "Filtro Avanzato Contenuti";
$a->strings["Back to Addon Settings"] = "Torna alle impostazioni del componente aggiuntivo";
$a->strings["Add a Rule"] = "Aggiungi una regola";
$a->strings["Help"] = "Aiuto";
$a->strings["Your rules"] = "Le tue regole";
$a->strings["Disabled"] = "Disabilitato";
$a->strings["Enabled"] = "Abilitato";
$a->strings["Disable this rule"] = "Diabilita questa regola";
$a->strings["Enable this rule"] = "Abilita questa regola";
$a->strings["Edit this rule"] = "Modifica questa regola";
$a->strings["Edit the rule"] = "Modifica la regola";
$a->strings["Save this rule"] = "Salva questa regola";
$a->strings["Delete this rule"] = "Elimina questa regola";
$a->strings["Rule"] = "Regola";
$a->strings["Close"] = "Chiudi";
$a->strings["Add new rule"] = "Aggiungi nuova regola";
$a->strings["Rule Name"] = "Nome Regola";
$a->strings["Rule Expression"] = "Espressione Regola";
$a->strings["Cancel"] = "Annulla";
$a->strings["You must be logged in to use this method"] = "Devi essere autenticato per usare questo metodo";
$a->strings["Invalid form security token, please refresh the page."] = "Token di sicurezza invalido, aggiorna la pagina.";
$a->strings["The rule name and expression are required."] = "Il nome e l'espressione della regola sono richiesti.";
$a->strings["Rule successfully added"] = "Regola aggiunta con successo";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regola non esiste o non ti appartiene.";
$a->strings["Rule successfully updated"] = "Regola aggiornata con successo";
$a->strings["Rule successfully deleted"] = "Regola eliminata con successo";
$a->strings["Missing argument: guid."] = "Argomento mancante: guid.";
$a->strings["Unknown post with guid: %s"] = "Messaggio con guid %s sconosciuto";
$a->strings["Method not found"] = "Metodo non trovato";
$a->strings['Filtered by rule: %s'] = 'Filtrato dalla regola: %s';
$a->strings['Advanced Content Filter'] = 'Filtro Avanzato Contenuti';
$a->strings['Back to Addon Settings'] = 'Torna alle impostazioni del componente aggiuntivo';
$a->strings['Add a Rule'] = 'Aggiungi una regola';
$a->strings['Help'] = 'Aiuto';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un\'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni e variabili disponibili, controlla la pagina di aiuto.';
$a->strings['Your rules'] = 'Le tue regole';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui sopra a fianco al titolo.';
$a->strings['Disabled'] = 'Disabilitato';
$a->strings['Enabled'] = 'Abilitato';
$a->strings['Disable this rule'] = 'Diabilita questa regola';
$a->strings['Enable this rule'] = 'Abilita questa regola';
$a->strings['Edit this rule'] = 'Modifica questa regola';
$a->strings['Edit the rule'] = 'Modifica la regola';
$a->strings['Save this rule'] = 'Salva questa regola';
$a->strings['Delete this rule'] = 'Elimina questa regola';
$a->strings['Rule'] = 'Regola';
$a->strings['Close'] = 'Chiudi';
$a->strings['Add new rule'] = 'Aggiungi nuova regola';
$a->strings['Rule Name'] = 'Nome Regola';
$a->strings['Rule Expression'] = 'Espressione Regola';
$a->strings['Cancel'] = 'Annulla';
$a->strings['You must be logged in to use this method'] = 'Devi essere autenticato per usare questo metodo';
$a->strings['Invalid form security token, please refresh the page.'] = 'Token di sicurezza invalido, aggiorna la pagina.';
$a->strings['The rule name and expression are required.'] = 'Il nome e l\'espressione della regola sono richiesti.';
$a->strings['Rule successfully added'] = 'Regola aggiunta con successo';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regola non esiste o non ti appartiene.';
$a->strings['Rule successfully updated'] = 'Regola aggiornata con successo';
$a->strings['Rule successfully deleted'] = 'Regola eliminata con successo';
$a->strings['Missing argument: guid.'] = 'Argomento mancante: guid.';
$a->strings['Unknown post with guid: %s'] = 'Messaggio con guid %s sconosciuto';
$a->strings['Method not found'] = 'Metodo non trovato';

View File

@ -5,34 +5,36 @@ function string_plural_select_nl($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Filtered by rule: %s"] = "Gefilterd volgens regel: %s";
$a->strings["Advanced Content Filter"] = "Geavanceerd filter voor berichtsinhoud";
$a->strings["Back to Addon Settings"] = "Terug naar Addon instellingen";
$a->strings["Add a Rule"] = "Filterregel toevoegen";
$a->strings["Help"] = "Help";
$a->strings["Your rules"] = "Jouw regels";
$a->strings["Disabled"] = "Uitgeschakeld";
$a->strings["Enabled"] = "Geactiveerd";
$a->strings["Disable this rule"] = "Deze regel uitschakelen";
$a->strings["Enable this rule"] = "Deze regel inschakelen";
$a->strings["Edit this rule"] = "Regel bewerken";
$a->strings["Edit the rule"] = "Regel bewerken";
$a->strings["Save this rule"] = "Deze regel opslaan";
$a->strings["Delete this rule"] = "Deze regel verwijderen";
$a->strings["Rule"] = "Regel";
$a->strings["Close"] = "Sluiten";
$a->strings["Add new rule"] = "Voeg nieuwe regel toe";
$a->strings["Rule Name"] = "Regel naam";
$a->strings["Rule Expression"] = "Regel bewoording";
$a->strings["Cancel"] = "Annuleren";
$a->strings["You must be logged in to use this method"] = "Je moet ingelogd zijn om deze methode te gebruiken";
$a->strings["Invalid form security token, please refresh the page."] = "Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.";
$a->strings["The rule name and expression are required."] = "De regelnaam en bewoording zijn vereist.";
$a->strings["Rule successfully added"] = "Regel succesvol toegevoegd";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Deze regel bestaat niet, of is niet van jou.";
$a->strings["Rule successfully updated"] = "Regel succesvol opgeslagen";
$a->strings["Rule successfully deleted"] = "Regel succesvol verwijderd";
$a->strings["Missing argument: guid."] = "Parameter guid niet aanwezig";
$a->strings["Unknown post with guid: %s"] = "Onbekend bericht met guid: %s";
$a->strings["Method not found"] = "Methode niet gevonden";
$a->strings['Filtered by rule: %s'] = 'Gefilterd volgens regel: %s';
$a->strings['Advanced Content Filter'] = 'Geavanceerd filter voor berichtsinhoud';
$a->strings['Back to Addon Settings'] = 'Terug naar Addon instellingen';
$a->strings['Add a Rule'] = 'Filterregel toevoegen';
$a->strings['Help'] = 'Help';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Beheer de filterregels van je persoonlijke filter voor berichtsinhoud in dit scherm. Regels hebben een naam en bewoording welke we automatisch controleren door te vergelijken met de inhoud van elk bericht. Voor een compleet naslagwerk van de beschikbare bewerkingen en variabelen, zie de <a href="advancedcontentfilter/help">help pagina</a>.';
$a->strings['Your rules'] = 'Jouw regels';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Je hebt nog geen regels! Klik op de knop bovenin naast de titel om een regel toe te voegen.';
$a->strings['Disabled'] = 'Uitgeschakeld';
$a->strings['Enabled'] = 'Geactiveerd';
$a->strings['Disable this rule'] = 'Deze regel uitschakelen';
$a->strings['Enable this rule'] = 'Deze regel inschakelen';
$a->strings['Edit this rule'] = 'Regel bewerken';
$a->strings['Edit the rule'] = 'Regel bewerken';
$a->strings['Save this rule'] = 'Deze regel opslaan';
$a->strings['Delete this rule'] = 'Deze regel verwijderen';
$a->strings['Rule'] = 'Regel';
$a->strings['Close'] = 'Sluiten';
$a->strings['Add new rule'] = 'Voeg nieuwe regel toe';
$a->strings['Rule Name'] = 'Regel naam';
$a->strings['Rule Expression'] = 'Regel bewoording';
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Voorbeelden:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>label</li></ul>';
$a->strings['Cancel'] = 'Annuleren';
$a->strings['You must be logged in to use this method'] = 'Je moet ingelogd zijn om deze methode te gebruiken';
$a->strings['Invalid form security token, please refresh the page.'] = 'Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.';
$a->strings['The rule name and expression are required.'] = 'De regelnaam en bewoording zijn vereist.';
$a->strings['Rule successfully added'] = 'Regel succesvol toegevoegd';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Deze regel bestaat niet, of is niet van jou.';
$a->strings['Rule successfully updated'] = 'Regel succesvol opgeslagen';
$a->strings['Rule successfully deleted'] = 'Regel succesvol verwijderd';
$a->strings['Missing argument: guid.'] = 'Parameter guid niet aanwezig';
$a->strings['Unknown post with guid: %s'] = 'Onbekend bericht met guid: %s';
$a->strings['Method not found'] = 'Methode niet gevonden';

View File

@ -3,14 +3,19 @@
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# Waldemar Stoczkowski, 2018
# Joe Doe, 2021
# Piotr Strębski <strebski@gmail.com>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Waldemar Stoczkowski <waldemar.stoczkowski@gmail.com>, 2018\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2022\n"
"Language-Team: Polish (https://www.transifex.com/Friendica/teams/12172/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -18,44 +23,44 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: advancedcontentfilter.php:134
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr " Filtruj według reguły: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Zaawansowany filtr zawartości"
#: advancedcontentfilter.php:203
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Powrót do ustawień dodatków"
#: advancedcontentfilter.php:205
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Dodaj regułę"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Pomoc"
#: advancedcontentfilter.php:207
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>."
"the help page."
msgstr ""
"Dodaj i zarządzaj regułami filtrowania treści osobistych na tym ekranie. "
"Reguły mają nazwę i dowolne wyrażenie, które zostanie dopasowane do danych "
"postów. Aby uzyskać pełne informacje o dostępnych operacjach i zmiennych, "
"sprawdź <a href=\"advancedcontentfilter/help\">stronę pomocy</a>."
"Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania "
"treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego "
"przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych "
"opracji oraz zmiennych, zapoznaj się ze stronę pomocy."
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Twoje zasady"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -63,110 +68,106 @@ msgstr ""
"Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk "
"znajdujący się nad tytułem."
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Wyłącz"
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Włącz"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Wyłącz tę regułę"
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Włącz tę regułę"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Edytuj tę regułę"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Edytuj regułę"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Zapisz tę regułę"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Usuń tę regułę"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Reguła"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Zamknij"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Dodaj nową regułę"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Nazwa reguły"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Wyrażanie reguły"
#: advancedcontentfilter.php:223
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>przykład</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tagi</li></ul>"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Anuluj"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr "Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis"
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Musisz być zalogowany, aby skorzystać z tej metody"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
#: advancedcontentfilter.php:379
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Nieprawidłowy token zabezpieczający formularz, odśwież stronę."
#: advancedcontentfilter.php:328
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Nazwa reguły i wyrażenie są wymagane."
#: advancedcontentfilter.php:340
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Reguła została pomyślnie dodana"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Reguła nie istnieje lub nie należy do ciebie."
#: advancedcontentfilter.php:369
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Reguła została pomyślnie zaktualizowana"
#: advancedcontentfilter.php:390
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Reguła została pomyślnie usunięta"
#: advancedcontentfilter.php:400
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Brakujący argument: guid."
#: advancedcontentfilter.php:406
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Nieznany post z guid:%s"
#: src/middlewares.php:28
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Nie znaleziono metody"

View File

@ -5,34 +5,36 @@ function string_plural_select_pl($n){
$n = intval($n);
if ($n==1) { return 0; } else if (($n%10>=2 && $n%10<=4) && ($n%100<12 || $n%100>14)) { return 1; } else if ($n!=1 && ($n%10>=0 && $n%10<=1) || ($n%10>=5 && $n%10<=9) || ($n%100>=12 && $n%100<=14)) { return 2; } else { return 3; }
}}
;
$a->strings["Filtered by rule: %s"] = " Filtruj według reguły: %s";
$a->strings["Advanced Content Filter"] = "Zaawansowany filtr zawartości";
$a->strings["Back to Addon Settings"] = "Powrót do ustawień dodatków";
$a->strings["Add a Rule"] = "Dodaj regułę";
$a->strings["Help"] = "Pomoc";
$a->strings["Your rules"] = "Twoje zasady";
$a->strings["Disabled"] = "Wyłącz";
$a->strings["Enabled"] = "Włącz";
$a->strings["Disable this rule"] = "Wyłącz tę regułę";
$a->strings["Enable this rule"] = "Włącz tę regułę";
$a->strings["Edit this rule"] = "Edytuj tę regułę";
$a->strings["Edit the rule"] = "Edytuj regułę";
$a->strings["Save this rule"] = "Zapisz tę regułę";
$a->strings["Delete this rule"] = "Usuń tę regułę";
$a->strings["Rule"] = "Reguła";
$a->strings["Close"] = "Zamknij";
$a->strings["Add new rule"] = "Dodaj nową regułę";
$a->strings["Rule Name"] = "Nazwa reguły";
$a->strings["Rule Expression"] = "Wyrażanie reguły";
$a->strings["Cancel"] = "Anuluj";
$a->strings["You must be logged in to use this method"] = "Musisz być zalogowany, aby skorzystać z tej metody";
$a->strings["Invalid form security token, please refresh the page."] = "Nieprawidłowy token zabezpieczający formularz, odśwież stronę.";
$a->strings["The rule name and expression are required."] = "Nazwa reguły i wyrażenie są wymagane.";
$a->strings["Rule successfully added"] = "Reguła została pomyślnie dodana";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Reguła nie istnieje lub nie należy do ciebie.";
$a->strings["Rule successfully updated"] = "Reguła została pomyślnie zaktualizowana";
$a->strings["Rule successfully deleted"] = "Reguła została pomyślnie usunięta";
$a->strings["Missing argument: guid."] = "Brakujący argument: guid.";
$a->strings["Unknown post with guid: %s"] = "Nieznany post z guid:%s";
$a->strings["Method not found"] = "Nie znaleziono metody";
$a->strings['Filtered by rule: %s'] = ' Filtruj według reguły: %s';
$a->strings['Advanced Content Filter'] = 'Zaawansowany filtr zawartości';
$a->strings['Back to Addon Settings'] = 'Powrót do ustawień dodatków';
$a->strings['Add a Rule'] = 'Dodaj regułę';
$a->strings['Help'] = 'Pomoc';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych opracji oraz zmiennych, zapoznaj się ze stronę pomocy.';
$a->strings['Your rules'] = 'Twoje zasady';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk znajdujący się nad tytułem.';
$a->strings['Disabled'] = 'Wyłącz';
$a->strings['Enabled'] = 'Włącz';
$a->strings['Disable this rule'] = 'Wyłącz tę regułę';
$a->strings['Enable this rule'] = 'Włącz tę regułę';
$a->strings['Edit this rule'] = 'Edytuj tę regułę';
$a->strings['Edit the rule'] = 'Edytuj regułę';
$a->strings['Save this rule'] = 'Zapisz tę regułę';
$a->strings['Delete this rule'] = 'Usuń tę regułę';
$a->strings['Rule'] = 'Reguła';
$a->strings['Close'] = 'Zamknij';
$a->strings['Add new rule'] = 'Dodaj nową regułę';
$a->strings['Rule Name'] = 'Nazwa reguły';
$a->strings['Rule Expression'] = 'Wyrażanie reguły';
$a->strings['Cancel'] = 'Anuluj';
$a->strings['This addon requires this node having at least one post'] = 'Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis';
$a->strings['You must be logged in to use this method'] = 'Musisz być zalogowany, aby skorzystać z tej metody';
$a->strings['Invalid form security token, please refresh the page.'] = 'Nieprawidłowy token zabezpieczający formularz, odśwież stronę.';
$a->strings['The rule name and expression are required.'] = 'Nazwa reguły i wyrażenie są wymagane.';
$a->strings['Rule successfully added'] = 'Reguła została pomyślnie dodana';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Reguła nie istnieje lub nie należy do ciebie.';
$a->strings['Rule successfully updated'] = 'Reguła została pomyślnie zaktualizowana';
$a->strings['Rule successfully deleted'] = 'Reguła została pomyślnie usunięta';
$a->strings['Missing argument: guid.'] = 'Brakujący argument: guid.';
$a->strings['Unknown post with guid: %s'] = 'Nieznany post z guid:%s';
$a->strings['Method not found'] = 'Nie znaleziono metody';

View File

@ -6,15 +6,16 @@
# Translators:
# Alexey Adamov <2077@tutanota.com>, 2019
# Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020
# Alexander An <ravnina@gmail.com>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020\n"
"Last-Translator: Alexander An <ravnina@gmail.com>, 2022\n"
"Language-Team: Russian (https://www.transifex.com/Friendica/teams/12172/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -22,44 +23,44 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: advancedcontentfilter.php:134
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Отфильтровано по правилу: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Расширенный фильтр содержимого"
#: advancedcontentfilter.php:203
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Вернуться к настройкам дополнений"
#: advancedcontentfilter.php:205
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Добавить правило"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Помощь"
#: advancedcontentfilter.php:207
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>."
"the help page."
msgstr ""
"Добавляйте и управляйте своими собственными фильтрами на этой странице. У "
"правил есть имя и произвольное выражение, которое будет сопоставляться с "
"данными поста. Для полной ссылки на доступные операции и переменные, "
"посмотрите <a href=\"advancedcontentfilter/help\">страницу справки</a>."
"посмотрите страницу справки."
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Ваши правила"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -67,110 +68,106 @@ msgstr ""
"У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку "
"выше, рядом с названием."
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Отключено"
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Включено"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Отключить это правило"
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Включить это правило"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Изменить это правило"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Изменить правило"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Сохранить это правило"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Удалить это правило"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Правило"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Закрыть"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Добавить новое правило"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Название правила"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Содержание правила"
#: advancedcontentfilter.php:223
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>Примеры:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Отмена"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr "Это дополнение требует наличия хотя бы одной записи на этом узле."
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Вы должны авторизоваться для использования этого метода"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
#: advancedcontentfilter.php:379
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Неверный ключ, пожалуйста, перезагрузите страницу"
#: advancedcontentfilter.php:328
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Требуется ввести название и значение правила."
#: advancedcontentfilter.php:340
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Правило успешно добавлено"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Правило не найдено или доступ к нему закрыт"
#: advancedcontentfilter.php:369
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Правило успешно обновлено"
#: advancedcontentfilter.php:390
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Правило успешно удалено"
#: advancedcontentfilter.php:400
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Отсутствующий аргумент: guid."
#: advancedcontentfilter.php:406
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Неизвестный пост в ID: %s"
#: src/middlewares.php:28
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Метод не найден"

View File

@ -5,34 +5,36 @@ function string_plural_select_ru($n){
$n = intval($n);
if ($n%10==1 && $n%100!=11) { return 0; } else if ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14)) { return 1; } else if ($n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)) { return 2; } else { return 3; }
}}
;
$a->strings["Filtered by rule: %s"] = "Отфильтровано по правилу: %s";
$a->strings["Advanced Content Filter"] = "Расширенный фильтр содержимого";
$a->strings["Back to Addon Settings"] = "Вернуться к настройкам дополнений";
$a->strings["Add a Rule"] = "Добавить правило";
$a->strings["Help"] = "Помощь";
$a->strings["Your rules"] = "Ваши правила";
$a->strings["Disabled"] = "Отключено";
$a->strings["Enabled"] = "Включено";
$a->strings["Disable this rule"] = "Отключить это правило";
$a->strings["Enable this rule"] = "Включить это правило";
$a->strings["Edit this rule"] = "Изменить это правило";
$a->strings["Edit the rule"] = "Изменить правило";
$a->strings["Save this rule"] = "Сохранить это правило";
$a->strings["Delete this rule"] = "Удалить это правило";
$a->strings["Rule"] = "Правило";
$a->strings["Close"] = "Закрыть";
$a->strings["Add new rule"] = "Добавить новое правило";
$a->strings["Rule Name"] = "Название правила";
$a->strings["Rule Expression"] = "Содержание правила";
$a->strings["Cancel"] = "Отмена";
$a->strings["You must be logged in to use this method"] = "Вы должны авторизоваться для использования этого метода";
$a->strings["Invalid form security token, please refresh the page."] = "Неверный ключ, пожалуйста, перезагрузите страницу";
$a->strings["The rule name and expression are required."] = "Требуется ввести название и значение правила.";
$a->strings["Rule successfully added"] = "Правило успешно добавлено";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Правило не найдено или доступ к нему закрыт";
$a->strings["Rule successfully updated"] = "Правило успешно обновлено";
$a->strings["Rule successfully deleted"] = "Правило успешно удалено";
$a->strings["Missing argument: guid."] = "Отсутствующий аргумент: guid.";
$a->strings["Unknown post with guid: %s"] = "Неизвестный пост в ID: %s";
$a->strings["Method not found"] = "Метод не найден";
$a->strings['Filtered by rule: %s'] = 'Отфильтровано по правилу: %s';
$a->strings['Advanced Content Filter'] = 'Расширенный фильтр содержимого';
$a->strings['Back to Addon Settings'] = 'Вернуться к настройкам дополнений';
$a->strings['Add a Rule'] = 'Добавить правило';
$a->strings['Help'] = 'Помощь';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Добавляйте и управляйте своими собственными фильтрами на этой странице. У правил есть имя и произвольное выражение, которое будет сопоставляться с данными поста. Для полной ссылки на доступные операции и переменные, посмотрите страницу справки.';
$a->strings['Your rules'] = 'Ваши правила';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку выше, рядом с названием.';
$a->strings['Disabled'] = 'Отключено';
$a->strings['Enabled'] = 'Включено';
$a->strings['Disable this rule'] = 'Отключить это правило';
$a->strings['Enable this rule'] = 'Включить это правило';
$a->strings['Edit this rule'] = 'Изменить это правило';
$a->strings['Edit the rule'] = 'Изменить правило';
$a->strings['Save this rule'] = 'Сохранить это правило';
$a->strings['Delete this rule'] = 'Удалить это правило';
$a->strings['Rule'] = 'Правило';
$a->strings['Close'] = 'Закрыть';
$a->strings['Add new rule'] = 'Добавить новое правило';
$a->strings['Rule Name'] = 'Название правила';
$a->strings['Rule Expression'] = 'Содержание правила';
$a->strings['Cancel'] = 'Отмена';
$a->strings['This addon requires this node having at least one post'] = 'Это дополнение требует наличия хотя бы одной записи на этом узле.';
$a->strings['You must be logged in to use this method'] = 'Вы должны авторизоваться для использования этого метода';
$a->strings['Invalid form security token, please refresh the page.'] = 'Неверный ключ, пожалуйста, перезагрузите страницу';
$a->strings['The rule name and expression are required.'] = 'Требуется ввести название и значение правила.';
$a->strings['Rule successfully added'] = 'Правило успешно добавлено';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Правило не найдено или доступ к нему закрыт';
$a->strings['Rule successfully updated'] = 'Правило успешно обновлено';
$a->strings['Rule successfully deleted'] = 'Правило успешно удалено';
$a->strings['Missing argument: guid.'] = 'Отсутствующий аргумент: guid.';
$a->strings['Unknown post with guid: %s'] = 'Неизвестный пост в ID: %s';
$a->strings['Method not found'] = 'Метод не найден';

View File

@ -5,15 +5,16 @@
#
# Translators:
# Bjoessi <torbjorn.andersson@syte.se>, 2019
# Viktor Nilsson, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Bjoessi <torbjorn.andersson@syte.se>, 2019\n"
"Last-Translator: Viktor Nilsson, 2022\n"
"Language-Team: Swedish (https://www.transifex.com/Friendica/teams/12172/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -21,44 +22,44 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: advancedcontentfilter.php:134
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Filtrerat efter regel: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Avancerat innehållsfiter"
#: advancedcontentfilter.php:203
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "TIllbaka till Tilläggsinställningar"
#: advancedcontentfilter.php:205
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Lägg till en regel"
#: advancedcontentfilter.php:206
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Hjälp"
#: advancedcontentfilter.php:207
#: advancedcontentfilter.php:228
msgid ""
"Add and manage your personal content filter rules in this screen. Rules have"
" a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>."
"the help page."
msgstr ""
"Lägg till och hantera dina personliga regler för innehållsfilter i det här "
"fönstret. Regler har ett namn och ett valfritt uttryck och kommer jämföras "
"mot inläggets innehåll. Förteckning av alla operander och variabler finns "
"att hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
"fönstret. Regler har ett namn och ett filteruttryck som jämförs mot "
"inläggets innehåll. Förteckning över alla operander och variabler finns att "
"hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
#: advancedcontentfilter.php:208
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Dina regler"
#: advancedcontentfilter.php:209
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
@ -66,110 +67,106 @@ msgstr ""
"Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför,"
" bredvid överskriften."
#: advancedcontentfilter.php:210
#: advancedcontentfilter.php:231
msgid "Disabled"
msgstr "Inaktiverad"
#: advancedcontentfilter.php:211
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Aktiverad"
#: advancedcontentfilter.php:212
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "Inaktivera den här regeln"
#: advancedcontentfilter.php:213
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "Aktivera den här regeln"
#: advancedcontentfilter.php:214
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "Redigera den här regeln"
#: advancedcontentfilter.php:215
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "Redigera den här regeln"
#: advancedcontentfilter.php:216
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "Spara den här regeln"
#: advancedcontentfilter.php:217
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "Ta bort den här regeln"
#: advancedcontentfilter.php:218
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Regel"
#: advancedcontentfilter.php:219
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Stäng"
#: advancedcontentfilter.php:220
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Lägg till ny regel"
#: advancedcontentfilter.php:221
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Regelnamn"
#: advancedcontentfilter.php:222
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Regeluttryck"
#: advancedcontentfilter.php:223
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>Exempel:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>taggar</li></ul>"
#: advancedcontentfilter.php:224
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Avbryt"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
#: advancedcontentfilter.php:295
msgid "This addon requires this node having at least one post"
msgstr "Detta tillägg kräver att denna nod har åtminstone ett inlägg"
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
msgid "You must be logged in to use this method"
msgstr "Du måste vara inloggad för att använda den här funktionen"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
#: advancedcontentfilter.php:379
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan."
#: advancedcontentfilter.php:328
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Regelns namn och uttryck krävs."
#: advancedcontentfilter.php:340
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Regeln kunde läggas till"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Regeln finns inte eller tillhör inte dig."
#: advancedcontentfilter.php:369
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Uppdatering av regel lyckades"
#: advancedcontentfilter.php:390
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Borttagning av regel lyckades"
#: advancedcontentfilter.php:400
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Argument saknas: guid."
#: advancedcontentfilter.php:406
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Okänt inlägg med guid: %s"
#: src/middlewares.php:28
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Metod hittades inte"

View File

@ -5,34 +5,36 @@ function string_plural_select_sv($n){
$n = intval($n);
return intval($n != 1);
}}
;
$a->strings["Filtered by rule: %s"] = "Filtrerat efter regel: %s";
$a->strings["Advanced Content Filter"] = "Avancerat innehållsfiter";
$a->strings["Back to Addon Settings"] = "TIllbaka till Tilläggsinställningar";
$a->strings["Add a Rule"] = "Lägg till en regel";
$a->strings["Help"] = "Hjälp";
$a->strings["Your rules"] = "Dina regler";
$a->strings["Disabled"] = "Inaktiverad";
$a->strings["Enabled"] = "Aktiverad";
$a->strings["Disable this rule"] = "Inaktivera den här regeln";
$a->strings["Enable this rule"] = "Aktivera den här regeln";
$a->strings["Edit this rule"] = "Redigera den här regeln";
$a->strings["Edit the rule"] = "Redigera den här regeln";
$a->strings["Save this rule"] = "Spara den här regeln";
$a->strings["Delete this rule"] = "Ta bort den här regeln";
$a->strings["Rule"] = "Regel";
$a->strings["Close"] = "Stäng";
$a->strings["Add new rule"] = "Lägg till ny regel";
$a->strings["Rule Name"] = "Regelnamn";
$a->strings["Rule Expression"] = "Regeluttryck";
$a->strings["Cancel"] = "Avbryt";
$a->strings["You must be logged in to use this method"] = "Du måste vara inloggad för att använda den här funktionen";
$a->strings["Invalid form security token, please refresh the page."] = "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.";
$a->strings["The rule name and expression are required."] = "Regelns namn och uttryck krävs.";
$a->strings["Rule successfully added"] = "Regeln kunde läggas till";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Regeln finns inte eller tillhör inte dig.";
$a->strings["Rule successfully updated"] = "Uppdatering av regel lyckades";
$a->strings["Rule successfully deleted"] = "Borttagning av regel lyckades";
$a->strings["Missing argument: guid."] = "Argument saknas: guid.";
$a->strings["Unknown post with guid: %s"] = "Okänt inlägg med guid: %s";
$a->strings["Method not found"] = "Metod hittades inte";
$a->strings['Filtered by rule: %s'] = 'Filtrerat efter regel: %s';
$a->strings['Advanced Content Filter'] = 'Avancerat innehållsfiter';
$a->strings['Back to Addon Settings'] = 'TIllbaka till Tilläggsinställningar';
$a->strings['Add a Rule'] = 'Lägg till en regel';
$a->strings['Help'] = 'Hjälp';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Lägg till och hantera dina personliga regler för innehållsfilter i det här fönstret. Regler har ett namn och ett filteruttryck som jämförs mot inläggets innehåll. Förteckning över alla operander och variabler finns att hitta på <a href="advancedcontentfilter/help">hjälpsidan</a>.';
$a->strings['Your rules'] = 'Dina regler';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför, bredvid överskriften.';
$a->strings['Disabled'] = 'Inaktiverad';
$a->strings['Enabled'] = 'Aktiverad';
$a->strings['Disable this rule'] = 'Inaktivera den här regeln';
$a->strings['Enable this rule'] = 'Aktivera den här regeln';
$a->strings['Edit this rule'] = 'Redigera den här regeln';
$a->strings['Edit the rule'] = 'Redigera den här regeln';
$a->strings['Save this rule'] = 'Spara den här regeln';
$a->strings['Delete this rule'] = 'Ta bort den här regeln';
$a->strings['Rule'] = 'Regel';
$a->strings['Close'] = 'Stäng';
$a->strings['Add new rule'] = 'Lägg till ny regel';
$a->strings['Rule Name'] = 'Regelnamn';
$a->strings['Rule Expression'] = 'Regeluttryck';
$a->strings['Cancel'] = 'Avbryt';
$a->strings['This addon requires this node having at least one post'] = 'Detta tillägg kräver att denna nod har åtminstone ett inlägg';
$a->strings['You must be logged in to use this method'] = 'Du måste vara inloggad för att använda den här funktionen';
$a->strings['Invalid form security token, please refresh the page.'] = 'Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.';
$a->strings['The rule name and expression are required.'] = 'Regelns namn och uttryck krävs.';
$a->strings['Rule successfully added'] = 'Regeln kunde läggas till';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Regeln finns inte eller tillhör inte dig.';
$a->strings['Rule successfully updated'] = 'Uppdatering av regel lyckades';
$a->strings['Rule successfully deleted'] = 'Borttagning av regel lyckades';
$a->strings['Missing argument: guid.'] = 'Argument saknas: guid.';
$a->strings['Unknown post with guid: %s'] = 'Okänt inlägg med guid: %s';
$a->strings['Method not found'] = 'Metod hittades inte';

View File

@ -5,35 +5,36 @@ function string_plural_select_zh_cn($n){
$n = intval($n);
return intval(0);
}}
;
$a->strings["Filtered by rule: %s"] = "通过规则过滤:%s";
$a->strings["Advanced Content Filter"] = "高级内容过滤";
$a->strings["Back to Addon Settings"] = "返回扩展设置";
$a->strings["Add a Rule"] = "添加规则";
$a->strings["Help"] = "帮助";
$a->strings["Your rules"] = "你的规则";
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "你还没有规则!点击标题上方的按钮开始新增规则。";
$a->strings["Disabled"] = "禁用";
$a->strings["Enabled"] = "启用";
$a->strings["Disable this rule"] = "禁用此规则";
$a->strings["Enable this rule"] = "启用此规则";
$a->strings["Edit this rule"] = "编辑此规则";
$a->strings["Edit the rule"] = "编辑规则";
$a->strings["Save this rule"] = "保存规则";
$a->strings["Delete this rule"] = "删除此规则";
$a->strings["Rule"] = "规则";
$a->strings["Close"] = "关闭";
$a->strings["Add new rule"] = "新增规则";
$a->strings["Rule Name"] = "规则名";
$a->strings["Rule Expression"] = "规则表达式";
$a->strings["Cancel"] = "取消";
$a->strings["You must be logged in to use this method"] = "使用此模式您必须先登录。";
$a->strings["Invalid form security token, please refresh the page."] = "无效的安全令牌,请刷新页面。";
$a->strings["The rule name and expression are required."] = "规则名和表达式必填。";
$a->strings["Rule successfully added"] = "规则添加成功。";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "规则不存在或不属于你。";
$a->strings["Rule successfully updated"] = "规则更新成功";
$a->strings["Rule successfully deleted"] = "规则删除成功";
$a->strings["Missing argument: guid."] = "缺少参数guid。";
$a->strings["Unknown post with guid: %s"] = "未知帖子 guid%s";
$a->strings["Method not found"] = "未找到模式";
$a->strings['Filtered by rule: %s'] = '通过规则过滤:%s';
$a->strings['Advanced Content Filter'] = '高级内容过滤';
$a->strings['Back to Addon Settings'] = '返回扩展设置';
$a->strings['Add a Rule'] = '添加规则';
$a->strings['Help'] = '帮助';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = '在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a href="advancedcontentfilter/help">帮助页面</a>。';
$a->strings['Your rules'] = '你的规则';
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '你还没有规则!点击标题上方的按钮开始新增规则。';
$a->strings['Disabled'] = '禁用';
$a->strings['Enabled'] = '启用';
$a->strings['Disable this rule'] = '禁用此规则';
$a->strings['Enable this rule'] = '启用此规则';
$a->strings['Edit this rule'] = '编辑此规则';
$a->strings['Edit the rule'] = '编辑规则';
$a->strings['Save this rule'] = '保存规则';
$a->strings['Delete this rule'] = '删除此规则';
$a->strings['Rule'] = '规则';
$a->strings['Close'] = '关闭';
$a->strings['Add new rule'] = '新增规则';
$a->strings['Rule Name'] = '规则名';
$a->strings['Rule Expression'] = '规则表达式';
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>例子:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>';
$a->strings['Cancel'] = '取消';
$a->strings['You must be logged in to use this method'] = '使用此模式您必须先登录。';
$a->strings['Invalid form security token, please refresh the page.'] = '无效的安全令牌,请刷新页面。';
$a->strings['The rule name and expression are required.'] = '规则名和表达式必填。';
$a->strings['Rule successfully added'] = '规则添加成功。';
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = '规则不存在或不属于你。';
$a->strings['Rule successfully updated'] = '规则更新成功';
$a->strings['Rule successfully deleted'] = '规则删除成功';
$a->strings['Missing argument: guid.'] = '缺少参数guid。';
$a->strings['Unknown post with guid: %s'] = '未知帖子 guid%s';
$a->strings['Method not found'] = '未找到模式';

View File

@ -21,31 +21,12 @@
use Friendica\DI;
$container = $slim->getContainer();
/** @var $slim \Slim\App */
// Error handler based off https://stackoverflow.com/a/48135009/757392
$container['errorHandler'] = function () {
return function(Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response, Exception $exception)
{
$responseCode = 500;
/**
* The routing middleware should be added before the ErrorMiddleware
* Otherwise exceptions thrown from it will not be handled
*/
$slim->addRoutingMiddleware();
if (is_a($exception, 'Friendica\Network\HTTPException')) {
$responseCode = $exception->getCode();
}
$errors['message'] = $exception->getMessage();
$errors['responseCode'] = $responseCode;
return $response
->withStatus($responseCode)
->withJson($errors);
};
};
$container['notFoundHandler'] = function () {
return function ()
{
throw new \Friendica\Network\HTTPException\NotFoundException(DI::l10n()->t('Method not found'));
};
};
$errorMiddleware = $slim->addErrorMiddleware(true, true, true, DI::logger());

View File

@ -20,20 +20,17 @@
*/
/* @var $slim Slim\App */
$slim->group('/advancedcontentfilter/api', function () {
/* @var $this Slim\App */
$this->group('/rules', function () {
/* @var $this Slim\App */
$this->get('', 'advancedcontentfilter_get_rules');
$this->post('', 'advancedcontentfilter_post_rules');
$slim->group('/advancedcontentfilter/api', function (\Slim\Routing\RouteCollectorProxy $app) {
$app->group('/rules', function (\Slim\Routing\RouteCollectorProxy $app) {
$app->get('', 'advancedcontentfilter_get_rules');
$app->post('', 'advancedcontentfilter_post_rules');
$this->get('/{id}', 'advancedcontentfilter_get_rules_id');
$this->put('/{id}', 'advancedcontentfilter_put_rules_id');
$this->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
$app->get('/{id}', 'advancedcontentfilter_get_rules_id');
$app->put('/{id}', 'advancedcontentfilter_put_rules_id');
$app->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
});
$this->group('/variables', function () {
/* @var $this Slim\App */
$this->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
$app->group('/variables', function (\Slim\Routing\RouteCollectorProxy $app) {
$app->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
});
});

View File

@ -7,7 +7,7 @@
3. Replace the render and staticRenderFns members in advancedcontentfilter.js by the contents of the anonymous() functions
-->
<div id="rules">
<p><a href="settings/addon">🔙 {{ messages.backtosettings }}</a></p>
<p><a href="settings/addons">🔙 {{ messages.backtosettings }}</a></p>
<h1>
{{ messages.title }}
&nbsp;

View File

@ -3,7 +3,7 @@
<div id="rules"></div>
<script>
var existingRules = {{$rules nofilter}};
var existingRules = {{$rules|json_encode nofilter}};
var messages = {
{{foreach $messages as $key => $value}}
@ -17,6 +17,6 @@
</script>
<!-- JS -->
<script src="{{$baseurl}}/view/asset/vue/dist/vue.min.js"></script>
<script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script>
<script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script>
</div>

View File

@ -60,7 +60,7 @@ class ClassLoader
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
@ -279,7 +279,7 @@ class ClassLoader
*/
public function setApcuPrefix($apcuPrefix)
{
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
}
/**
@ -377,7 +377,7 @@ class ClassLoader
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath.'\\';
$search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {

View File

@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php',
'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php',
'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
@ -23,27 +24,8 @@ return array(
'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php',
'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php',
'FastRoute\\RouteParser\\Std' => $vendorDir . '/nikic/fast-route/src/RouteParser/Std.php',
'Interop\\Container\\ContainerInterface' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
'Interop\\Container\\Exception\\ContainerException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
'Interop\\Container\\Exception\\NotFoundException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
'Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php',
'Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
'Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
'Pimple\\Exception\\InvalidServiceIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
'Pimple\\Exception\\UnknownIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
'Pimple\\Psr11\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/Container.php',
'Pimple\\Psr11\\ServiceLocator' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
'Pimple\\ServiceIterator' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceIterator.php',
'Pimple\\ServiceProviderInterface' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
'Pimple\\Tests\\Fixtures\\Invokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
'Pimple\\Tests\\Fixtures\\NonInvokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
'Pimple\\Tests\\Fixtures\\Service' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
'Pimple\\Tests\\PimpleTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
'Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
'Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php',
'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php',
'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php',
@ -52,12 +34,20 @@ return array(
'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php',
'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php',
'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php',
'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php',
'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
'Psr\\Http\\Server\\MiddlewareInterface' => $vendorDir . '/psr/http-server-middleware/src/MiddlewareInterface.php',
'Psr\\Http\\Server\\RequestHandlerInterface' => $vendorDir . '/psr/http-server-handler/src/RequestHandlerInterface.php',
'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
@ -66,71 +56,100 @@ return array(
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
'Slim\\App' => $vendorDir . '/slim/slim/Slim/App.php',
'Slim\\CallableResolver' => $vendorDir . '/slim/slim/Slim/CallableResolver.php',
'Slim\\CallableResolverAwareTrait' => $vendorDir . '/slim/slim/Slim/CallableResolverAwareTrait.php',
'Slim\\Collection' => $vendorDir . '/slim/slim/Slim/Collection.php',
'Slim\\Container' => $vendorDir . '/slim/slim/Slim/Container.php',
'Slim\\DefaultServicesProvider' => $vendorDir . '/slim/slim/Slim/DefaultServicesProvider.php',
'Slim\\DeferredCallable' => $vendorDir . '/slim/slim/Slim/DeferredCallable.php',
'Slim\\Exception\\ContainerException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerException.php',
'Slim\\Exception\\ContainerValueNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
'Slim\\Exception\\InvalidMethodException' => $vendorDir . '/slim/slim/Slim/Exception/InvalidMethodException.php',
'Slim\\Exception\\MethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
'Slim\\Exception\\NotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/NotFoundException.php',
'Slim\\Exception\\SlimException' => $vendorDir . '/slim/slim/Slim/Exception/SlimException.php',
'Slim\\Handlers\\AbstractError' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractError.php',
'Slim\\Handlers\\AbstractHandler' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractHandler.php',
'Slim\\Handlers\\Error' => $vendorDir . '/slim/slim/Slim/Handlers/Error.php',
'Slim\\Handlers\\NotAllowed' => $vendorDir . '/slim/slim/Slim/Handlers/NotAllowed.php',
'Slim\\Handlers\\NotFound' => $vendorDir . '/slim/slim/Slim/Handlers/NotFound.php',
'Slim\\Handlers\\PhpError' => $vendorDir . '/slim/slim/Slim/Handlers/PhpError.php',
'Slim\\Error\\AbstractErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
'Slim\\Error\\Renderers\\JsonErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
'Slim\\Error\\Renderers\\XmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
'Slim\\Exception\\HttpBadRequestException' => $vendorDir . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
'Slim\\Exception\\HttpException' => $vendorDir . '/slim/slim/Slim/Exception/HttpException.php',
'Slim\\Exception\\HttpForbiddenException' => $vendorDir . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
'Slim\\Exception\\HttpGoneException' => $vendorDir . '/slim/slim/Slim/Exception/HttpGoneException.php',
'Slim\\Exception\\HttpInternalServerErrorException' => $vendorDir . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
'Slim\\Exception\\HttpMethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
'Slim\\Exception\\HttpNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
'Slim\\Exception\\HttpNotImplementedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
'Slim\\Exception\\HttpSpecializedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
'Slim\\Exception\\HttpTooManyRequestsException' => $vendorDir . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
'Slim\\Exception\\HttpUnauthorizedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
'Slim\\Factory\\AppFactory' => $vendorDir . '/slim/slim/Slim/Factory/AppFactory.php',
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
'Slim\\Factory\\Psr17\\Psr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
'Slim\\Factory\\Psr17\\ServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
'Slim\\Factory\\ServerRequestCreatorFactory' => $vendorDir . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
'Slim\\Handlers\\ErrorHandler' => $vendorDir . '/slim/slim/Slim/Handlers/ErrorHandler.php',
'Slim\\Handlers\\Strategies\\RequestHandler' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
'Slim\\Handlers\\Strategies\\RequestResponse' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
'Slim\\Http\\Body' => $vendorDir . '/slim/slim/Slim/Http/Body.php',
'Slim\\Http\\Cookies' => $vendorDir . '/slim/slim/Slim/Http/Cookies.php',
'Slim\\Http\\Environment' => $vendorDir . '/slim/slim/Slim/Http/Environment.php',
'Slim\\Http\\Headers' => $vendorDir . '/slim/slim/Slim/Http/Headers.php',
'Slim\\Http\\Message' => $vendorDir . '/slim/slim/Slim/Http/Message.php',
'Slim\\Http\\Request' => $vendorDir . '/slim/slim/Slim/Http/Request.php',
'Slim\\Http\\RequestBody' => $vendorDir . '/slim/slim/Slim/Http/RequestBody.php',
'Slim\\Http\\Response' => $vendorDir . '/slim/slim/Slim/Http/Response.php',
'Slim\\Http\\Stream' => $vendorDir . '/slim/slim/Slim/Http/Stream.php',
'Slim\\Http\\UploadedFile' => $vendorDir . '/slim/slim/Slim/Http/UploadedFile.php',
'Slim\\Http\\Uri' => $vendorDir . '/slim/slim/Slim/Http/Uri.php',
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
'Slim\\Interfaces\\CallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
'Slim\\Interfaces\\CollectionInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
'Slim\\Interfaces\\Http\\CookiesInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
'Slim\\Interfaces\\Http\\EnvironmentInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
'Slim\\Interfaces\\Http\\HeadersInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
'Slim\\Interfaces\\DispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
'Slim\\Interfaces\\ErrorHandlerInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
'Slim\\Interfaces\\ErrorRendererInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
'Slim\\Interfaces\\InvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
'Slim\\Interfaces\\Psr17FactoryInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
'Slim\\Interfaces\\RouteCollectorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
'Slim\\Interfaces\\RouteCollectorProxyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
'Slim\\Interfaces\\RouteGroupInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
'Slim\\Interfaces\\RouteInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteInterface.php',
'Slim\\Interfaces\\RouterInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouterInterface.php',
'Slim\\MiddlewareAwareTrait' => $vendorDir . '/slim/slim/Slim/MiddlewareAwareTrait.php',
'Slim\\Routable' => $vendorDir . '/slim/slim/Slim/Routable.php',
'Slim\\Route' => $vendorDir . '/slim/slim/Slim/Route.php',
'Slim\\RouteGroup' => $vendorDir . '/slim/slim/Slim/RouteGroup.php',
'Slim\\Router' => $vendorDir . '/slim/slim/Slim/Router.php',
'Slim\\Interfaces\\RouteParserInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
'Slim\\Interfaces\\RouteResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
'Slim\\Interfaces\\ServerRequestCreatorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
'Slim\\Logger' => $vendorDir . '/slim/slim/Slim/Logger.php',
'Slim\\MiddlewareDispatcher' => $vendorDir . '/slim/slim/Slim/MiddlewareDispatcher.php',
'Slim\\Middleware\\BodyParsingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
'Slim\\Middleware\\ContentLengthMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
'Slim\\Middleware\\ErrorMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
'Slim\\Middleware\\MethodOverrideMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
'Slim\\Middleware\\OutputBufferingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
'Slim\\Middleware\\RoutingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
'Slim\\ResponseEmitter' => $vendorDir . '/slim/slim/Slim/ResponseEmitter.php',
'Slim\\Routing\\Dispatcher' => $vendorDir . '/slim/slim/Slim/Routing/Dispatcher.php',
'Slim\\Routing\\FastRouteDispatcher' => $vendorDir . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
'Slim\\Routing\\Route' => $vendorDir . '/slim/slim/Slim/Routing/Route.php',
'Slim\\Routing\\RouteCollector' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollector.php',
'Slim\\Routing\\RouteCollectorProxy' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
'Slim\\Routing\\RouteContext' => $vendorDir . '/slim/slim/Slim/Routing/RouteContext.php',
'Slim\\Routing\\RouteGroup' => $vendorDir . '/slim/slim/Slim/Routing/RouteGroup.php',
'Slim\\Routing\\RouteParser' => $vendorDir . '/slim/slim/Slim/Routing/RouteParser.php',
'Slim\\Routing\\RouteResolver' => $vendorDir . '/slim/slim/Slim/Routing/RouteResolver.php',
'Slim\\Routing\\RouteRunner' => $vendorDir . '/slim/slim/Slim/Routing/RouteRunner.php',
'Slim\\Routing\\RoutingResults' => $vendorDir . '/slim/slim/Slim/Routing/RoutingResults.php',
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => $vendorDir . '/symfony/cache/Adapter/MemcachedAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => $vendorDir . '/symfony/cache/Adapter/NullAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => $vendorDir . '/symfony/cache/Adapter/PdoAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpFilesAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => $vendorDir . '/symfony/cache/Adapter/Psr16Adapter.php',
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => $vendorDir . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
@ -139,10 +158,21 @@ return array(
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php',
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => $vendorDir . '/symfony/cache/DataCollector/CacheDataCollector.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => $vendorDir . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
'Symfony\\Component\\Cache\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php',
'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.php',
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/cache/Exception/InvalidArgumentException.php',
'Symfony\\Component\\Cache\\Exception\\LogicException' => $vendorDir . '/symfony/cache/Exception/LogicException.php',
'Symfony\\Component\\Cache\\LockRegistry' => $vendorDir . '/symfony/cache/LockRegistry.php',
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DefaultMarshaller.php',
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DeflateMarshaller.php',
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => $vendorDir . '/symfony/cache/Marshaller/MarshallerInterface.php',
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => $vendorDir . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
'Symfony\\Component\\Cache\\PruneableInterface' => $vendorDir . '/symfony/cache/PruneableInterface.php',
'Symfony\\Component\\Cache\\Psr16Cache' => $vendorDir . '/symfony/cache/Psr16Cache.php',
'Symfony\\Component\\Cache\\ResettableInterface' => $vendorDir . '/symfony/cache/ResettableInterface.php',
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => $vendorDir . '/symfony/cache/Simple/AbstractCache.php',
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => $vendorDir . '/symfony/cache/Simple/ApcuCache.php',
@ -159,17 +189,22 @@ return array(
'Symfony\\Component\\Cache\\Simple\\RedisCache' => $vendorDir . '/symfony/cache/Simple/RedisCache.php',
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => $vendorDir . '/symfony/cache/Traits/AbstractAdapterTrait.php',
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => $vendorDir . '/symfony/cache/Traits/AbstractTrait.php',
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => $vendorDir . '/symfony/cache/Traits/ApcuTrait.php',
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => $vendorDir . '/symfony/cache/Traits/ArrayTrait.php',
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => $vendorDir . '/symfony/cache/Traits/ContractsTrait.php',
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => $vendorDir . '/symfony/cache/Traits/DoctrineTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemCommonTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemTrait.php',
'Symfony\\Component\\Cache\\Traits\\LazyValue' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\MemcachedTrait' => $vendorDir . '/symfony/cache/Traits/MemcachedTrait.php',
'Symfony\\Component\\Cache\\Traits\\PdoTrait' => $vendorDir . '/symfony/cache/Traits/PdoTrait.php',
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => $vendorDir . '/symfony/cache/Traits/PhpArrayTrait.php',
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php',
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php',
@ -197,5 +232,32 @@ return array(
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php',
'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php',
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => $vendorDir . '/symfony/expression-language/TokenStream.php',
'Symfony\\Polyfill\\Apcu\\Apcu' => $vendorDir . '/symfony/polyfill-apcu/Apcu.php',
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/var-exporter/Exception/ExceptionInterface.php',
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => $vendorDir . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
'Symfony\\Component\\VarExporter\\Instantiator' => $vendorDir . '/symfony/var-exporter/Instantiator.php',
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => $vendorDir . '/symfony/var-exporter/Internal/Exporter.php',
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => $vendorDir . '/symfony/var-exporter/Internal/Hydrator.php',
'Symfony\\Component\\VarExporter\\Internal\\Reference' => $vendorDir . '/symfony/var-exporter/Internal/Reference.php',
'Symfony\\Component\\VarExporter\\Internal\\Registry' => $vendorDir . '/symfony/var-exporter/Internal/Registry.php',
'Symfony\\Component\\VarExporter\\Internal\\Values' => $vendorDir . '/symfony/var-exporter/Internal/Values.php',
'Symfony\\Component\\VarExporter\\VarExporter' => $vendorDir . '/symfony/var-exporter/VarExporter.php',
'Symfony\\Contracts\\Cache\\CacheInterface' => $vendorDir . '/symfony/cache-contracts/CacheInterface.php',
'Symfony\\Contracts\\Cache\\CacheTrait' => $vendorDir . '/symfony/cache-contracts/CacheTrait.php',
'Symfony\\Contracts\\Cache\\CallbackInterface' => $vendorDir . '/symfony/cache-contracts/CallbackInterface.php',
'Symfony\\Contracts\\Cache\\ItemInterface' => $vendorDir . '/symfony/cache-contracts/ItemInterface.php',
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => $vendorDir . '/symfony/cache-contracts/TagAwareCacheInterface.php',
'Symfony\\Contracts\\Service\\Attribute\\Required' => $vendorDir . '/symfony/service-contracts/Attribute/Required.php',
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => $vendorDir . '/symfony/service-contracts/Attribute/SubscribedService.php',
'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/service-contracts/ResetInterface.php',
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/service-contracts/ServiceLocatorTrait.php',
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => $vendorDir . '/symfony/service-contracts/ServiceProviderInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php',
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
'Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php',
'Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php',
'Symfony\\Polyfill\\Php80\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/PhpToken.php',
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
);

View File

@ -6,6 +6,8 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'32dcc8afd4335739640db7d200c1971d' => $vendorDir . '/symfony/polyfill-apcu/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
'253c157292f75eb38082b5acb06f3f01' => $vendorDir . '/nikic/fast-route/src/functions.php',
);

View File

@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
);

View File

@ -6,15 +6,18 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Symfony\\Polyfill\\Apcu\\' => array($vendorDir . '/symfony/polyfill-apcu'),
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
'Symfony\\Polyfill\\Php73\\' => array($vendorDir . '/symfony/polyfill-php73'),
'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
'Symfony\\Contracts\\Cache\\' => array($vendorDir . '/symfony/cache-contracts'),
'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
'Symfony\\Component\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'),
'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
'Slim\\' => array($vendorDir . '/slim/slim/Slim'),
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-handler/src', $vendorDir . '/psr/http-server-middleware/src'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'),
'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'),
);

View File

@ -13,6 +13,9 @@ class ComposerAutoloaderInitAdvancedContentFilterAddon
}
}
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader()
{
if (null !== self::$loader) {

View File

@ -7,30 +7,32 @@ namespace Composer\Autoload;
class ComposerStaticInitAdvancedContentFilterAddon
{
public static $files = array (
'32dcc8afd4335739640db7d200c1971d' => __DIR__ . '/..' . '/symfony/polyfill-apcu/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
'253c157292f75eb38082b5acb06f3f01' => __DIR__ . '/..' . '/nikic/fast-route/src/functions.php',
);
public static $prefixLengthsPsr4 = array (
'S' =>
array (
'Symfony\\Polyfill\\Apcu\\' => 22,
'Symfony\\Polyfill\\Php80\\' => 23,
'Symfony\\Polyfill\\Php73\\' => 23,
'Symfony\\Contracts\\Service\\' => 26,
'Symfony\\Contracts\\Cache\\' => 24,
'Symfony\\Component\\VarExporter\\' => 30,
'Symfony\\Component\\ExpressionLanguage\\' => 37,
'Symfony\\Component\\Cache\\' => 24,
'Slim\\' => 5,
),
'P' =>
array (
'Psr\\SimpleCache\\' => 16,
'Psr\\Log\\' => 8,
'Psr\\Http\\Server\\' => 16,
'Psr\\Http\\Message\\' => 17,
'Psr\\Container\\' => 14,
'Psr\\Cache\\' => 10,
),
'I' =>
array (
'Interop\\Container\\' => 18,
),
'F' =>
array (
'FastRoute\\' => 10,
@ -38,9 +40,25 @@ class ComposerStaticInitAdvancedContentFilterAddon
);
public static $prefixDirsPsr4 = array (
'Symfony\\Polyfill\\Apcu\\' =>
'Symfony\\Polyfill\\Php80\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-apcu',
0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
),
'Symfony\\Polyfill\\Php73\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php73',
),
'Symfony\\Contracts\\Service\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/service-contracts',
),
'Symfony\\Contracts\\Cache\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/cache-contracts',
),
'Symfony\\Component\\VarExporter\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-exporter',
),
'Symfony\\Component\\ExpressionLanguage\\' =>
array (
@ -54,17 +72,19 @@ class ComposerStaticInitAdvancedContentFilterAddon
array (
0 => __DIR__ . '/..' . '/slim/slim/Slim',
),
'Psr\\SimpleCache\\' =>
array (
0 => __DIR__ . '/..' . '/psr/simple-cache/src',
),
'Psr\\Log\\' =>
array (
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
),
'Psr\\Http\\Server\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-server-handler/src',
1 => __DIR__ . '/..' . '/psr/http-server-middleware/src',
),
'Psr\\Http\\Message\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-message/src',
0 => __DIR__ . '/..' . '/psr/http-factory/src',
1 => __DIR__ . '/..' . '/psr/http-message/src',
),
'Psr\\Container\\' =>
array (
@ -74,27 +94,14 @@ class ComposerStaticInitAdvancedContentFilterAddon
array (
0 => __DIR__ . '/..' . '/psr/cache/src',
),
'Interop\\Container\\' =>
array (
0 => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container',
),
'FastRoute\\' =>
array (
0 => __DIR__ . '/..' . '/nikic/fast-route/src',
),
);
public static $prefixesPsr0 = array (
'P' =>
array (
'Pimple' =>
array (
0 => __DIR__ . '/..' . '/pimple/pimple/src',
),
),
);
public static $classMap = array (
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php',
'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php',
'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
@ -112,27 +119,8 @@ class ComposerStaticInitAdvancedContentFilterAddon
'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php',
'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php',
'FastRoute\\RouteParser\\Std' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser/Std.php',
'Interop\\Container\\ContainerInterface' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
'Interop\\Container\\Exception\\ContainerException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
'Interop\\Container\\Exception\\NotFoundException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
'Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php',
'Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
'Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
'Pimple\\Exception\\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
'Pimple\\Exception\\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
'Pimple\\Psr11\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php',
'Pimple\\Psr11\\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
'Pimple\\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php',
'Pimple\\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
'Pimple\\Tests\\Fixtures\\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
'Pimple\\Tests\\Fixtures\\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
'Pimple\\Tests\\Fixtures\\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
'Pimple\\Tests\\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
'Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
'Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php',
'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php',
'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php',
@ -141,12 +129,20 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php',
'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php',
'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php',
'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php',
'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
'Psr\\Http\\Server\\MiddlewareInterface' => __DIR__ . '/..' . '/psr/http-server-middleware/src/MiddlewareInterface.php',
'Psr\\Http\\Server\\RequestHandlerInterface' => __DIR__ . '/..' . '/psr/http-server-handler/src/RequestHandlerInterface.php',
'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
@ -155,71 +151,100 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
'Slim\\App' => __DIR__ . '/..' . '/slim/slim/Slim/App.php',
'Slim\\CallableResolver' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolver.php',
'Slim\\CallableResolverAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolverAwareTrait.php',
'Slim\\Collection' => __DIR__ . '/..' . '/slim/slim/Slim/Collection.php',
'Slim\\Container' => __DIR__ . '/..' . '/slim/slim/Slim/Container.php',
'Slim\\DefaultServicesProvider' => __DIR__ . '/..' . '/slim/slim/Slim/DefaultServicesProvider.php',
'Slim\\DeferredCallable' => __DIR__ . '/..' . '/slim/slim/Slim/DeferredCallable.php',
'Slim\\Exception\\ContainerException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerException.php',
'Slim\\Exception\\ContainerValueNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
'Slim\\Exception\\InvalidMethodException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/InvalidMethodException.php',
'Slim\\Exception\\MethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
'Slim\\Exception\\NotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/NotFoundException.php',
'Slim\\Exception\\SlimException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/SlimException.php',
'Slim\\Handlers\\AbstractError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractError.php',
'Slim\\Handlers\\AbstractHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractHandler.php',
'Slim\\Handlers\\Error' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Error.php',
'Slim\\Handlers\\NotAllowed' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotAllowed.php',
'Slim\\Handlers\\NotFound' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotFound.php',
'Slim\\Handlers\\PhpError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/PhpError.php',
'Slim\\Error\\AbstractErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
'Slim\\Error\\Renderers\\JsonErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
'Slim\\Error\\Renderers\\XmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
'Slim\\Exception\\HttpBadRequestException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
'Slim\\Exception\\HttpException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpException.php',
'Slim\\Exception\\HttpForbiddenException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
'Slim\\Exception\\HttpGoneException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpGoneException.php',
'Slim\\Exception\\HttpInternalServerErrorException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
'Slim\\Exception\\HttpMethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
'Slim\\Exception\\HttpNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
'Slim\\Exception\\HttpNotImplementedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
'Slim\\Exception\\HttpSpecializedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
'Slim\\Exception\\HttpTooManyRequestsException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
'Slim\\Exception\\HttpUnauthorizedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
'Slim\\Factory\\AppFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/AppFactory.php',
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
'Slim\\Factory\\Psr17\\Psr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
'Slim\\Factory\\Psr17\\ServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
'Slim\\Factory\\ServerRequestCreatorFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
'Slim\\Handlers\\ErrorHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/ErrorHandler.php',
'Slim\\Handlers\\Strategies\\RequestHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
'Slim\\Handlers\\Strategies\\RequestResponse' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
'Slim\\Http\\Body' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Body.php',
'Slim\\Http\\Cookies' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Cookies.php',
'Slim\\Http\\Environment' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Environment.php',
'Slim\\Http\\Headers' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Headers.php',
'Slim\\Http\\Message' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Message.php',
'Slim\\Http\\Request' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Request.php',
'Slim\\Http\\RequestBody' => __DIR__ . '/..' . '/slim/slim/Slim/Http/RequestBody.php',
'Slim\\Http\\Response' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Response.php',
'Slim\\Http\\Stream' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Stream.php',
'Slim\\Http\\UploadedFile' => __DIR__ . '/..' . '/slim/slim/Slim/Http/UploadedFile.php',
'Slim\\Http\\Uri' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Uri.php',
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
'Slim\\Interfaces\\CallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
'Slim\\Interfaces\\CollectionInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
'Slim\\Interfaces\\Http\\CookiesInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
'Slim\\Interfaces\\Http\\EnvironmentInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
'Slim\\Interfaces\\Http\\HeadersInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
'Slim\\Interfaces\\DispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
'Slim\\Interfaces\\ErrorHandlerInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
'Slim\\Interfaces\\ErrorRendererInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
'Slim\\Interfaces\\InvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
'Slim\\Interfaces\\Psr17FactoryInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
'Slim\\Interfaces\\RouteCollectorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
'Slim\\Interfaces\\RouteCollectorProxyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
'Slim\\Interfaces\\RouteGroupInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
'Slim\\Interfaces\\RouteInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteInterface.php',
'Slim\\Interfaces\\RouterInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouterInterface.php',
'Slim\\MiddlewareAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareAwareTrait.php',
'Slim\\Routable' => __DIR__ . '/..' . '/slim/slim/Slim/Routable.php',
'Slim\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Route.php',
'Slim\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/RouteGroup.php',
'Slim\\Router' => __DIR__ . '/..' . '/slim/slim/Slim/Router.php',
'Slim\\Interfaces\\RouteParserInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
'Slim\\Interfaces\\RouteResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
'Slim\\Interfaces\\ServerRequestCreatorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
'Slim\\Logger' => __DIR__ . '/..' . '/slim/slim/Slim/Logger.php',
'Slim\\MiddlewareDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareDispatcher.php',
'Slim\\Middleware\\BodyParsingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
'Slim\\Middleware\\ContentLengthMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
'Slim\\Middleware\\ErrorMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
'Slim\\Middleware\\MethodOverrideMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
'Slim\\Middleware\\OutputBufferingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
'Slim\\Middleware\\RoutingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
'Slim\\ResponseEmitter' => __DIR__ . '/..' . '/slim/slim/Slim/ResponseEmitter.php',
'Slim\\Routing\\Dispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Dispatcher.php',
'Slim\\Routing\\FastRouteDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
'Slim\\Routing\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Route.php',
'Slim\\Routing\\RouteCollector' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollector.php',
'Slim\\Routing\\RouteCollectorProxy' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
'Slim\\Routing\\RouteContext' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteContext.php',
'Slim\\Routing\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteGroup.php',
'Slim\\Routing\\RouteParser' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteParser.php',
'Slim\\Routing\\RouteResolver' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteResolver.php',
'Slim\\Routing\\RouteRunner' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteRunner.php',
'Slim\\Routing\\RoutingResults' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RoutingResults.php',
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ApcuAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ChainAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/MemcachedAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/NullAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PdoAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpFilesAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ProxyAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/Psr16Adapter.php',
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
@ -228,10 +253,21 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php',
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => __DIR__ . '/..' . '/symfony/cache/DataCollector/CacheDataCollector.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPass.php',
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
'Symfony\\Component\\Cache\\DoctrineProvider' => __DIR__ . '/..' . '/symfony/cache/DoctrineProvider.php',
'Symfony\\Component\\Cache\\Exception\\CacheException' => __DIR__ . '/..' . '/symfony/cache/Exception/CacheException.php',
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/cache/Exception/InvalidArgumentException.php',
'Symfony\\Component\\Cache\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/cache/Exception/LogicException.php',
'Symfony\\Component\\Cache\\LockRegistry' => __DIR__ . '/..' . '/symfony/cache/LockRegistry.php',
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DefaultMarshaller.php',
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DeflateMarshaller.php',
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => __DIR__ . '/..' . '/symfony/cache/Marshaller/MarshallerInterface.php',
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
'Symfony\\Component\\Cache\\PruneableInterface' => __DIR__ . '/..' . '/symfony/cache/PruneableInterface.php',
'Symfony\\Component\\Cache\\Psr16Cache' => __DIR__ . '/..' . '/symfony/cache/Psr16Cache.php',
'Symfony\\Component\\Cache\\ResettableInterface' => __DIR__ . '/..' . '/symfony/cache/ResettableInterface.php',
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => __DIR__ . '/..' . '/symfony/cache/Simple/AbstractCache.php',
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ApcuCache.php',
@ -248,17 +284,22 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\Cache\\Simple\\RedisCache' => __DIR__ . '/..' . '/symfony/cache/Simple/RedisCache.php',
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractAdapterTrait.php',
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractTrait.php',
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ApcuTrait.php',
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ArrayTrait.php',
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ContractsTrait.php',
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/DoctrineTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemCommonTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemTrait.php',
'Symfony\\Component\\Cache\\Traits\\LazyValue' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\MemcachedTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/MemcachedTrait.php',
'Symfony\\Component\\Cache\\Traits\\PdoTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PdoTrait.php',
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpArrayTrait.php',
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php',
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\ExpressionLanguage\\Compiler' => __DIR__ . '/..' . '/symfony/expression-language/Compiler.php',
@ -286,7 +327,34 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => __DIR__ . '/..' . '/symfony/expression-language/SyntaxError.php',
'Symfony\\Component\\ExpressionLanguage\\Token' => __DIR__ . '/..' . '/symfony/expression-language/Token.php',
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => __DIR__ . '/..' . '/symfony/expression-language/TokenStream.php',
'Symfony\\Polyfill\\Apcu\\Apcu' => __DIR__ . '/..' . '/symfony/polyfill-apcu/Apcu.php',
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ExceptionInterface.php',
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
'Symfony\\Component\\VarExporter\\Instantiator' => __DIR__ . '/..' . '/symfony/var-exporter/Instantiator.php',
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Exporter.php',
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Hydrator.php',
'Symfony\\Component\\VarExporter\\Internal\\Reference' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Reference.php',
'Symfony\\Component\\VarExporter\\Internal\\Registry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Registry.php',
'Symfony\\Component\\VarExporter\\Internal\\Values' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Values.php',
'Symfony\\Component\\VarExporter\\VarExporter' => __DIR__ . '/..' . '/symfony/var-exporter/VarExporter.php',
'Symfony\\Contracts\\Cache\\CacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheInterface.php',
'Symfony\\Contracts\\Cache\\CacheTrait' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheTrait.php',
'Symfony\\Contracts\\Cache\\CallbackInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CallbackInterface.php',
'Symfony\\Contracts\\Cache\\ItemInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/ItemInterface.php',
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/TagAwareCacheInterface.php',
'Symfony\\Contracts\\Service\\Attribute\\Required' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/Required.php',
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/SubscribedService.php',
'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ResetInterface.php',
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceLocatorTrait.php',
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceProviderInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php',
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
'Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php',
'Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php',
'Symfony\\Polyfill\\Php80\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/PhpToken.php',
'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
);
public static function getInitializer(ClassLoader $loader)
@ -294,7 +362,6 @@ class ComposerStaticInitAdvancedContentFilterAddon
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInitAdvancedContentFilterAddon::$prefixesPsr0;
$loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap;
}, null, ClassLoader::class);

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
composer.lock
composer.phar
/vendor/

View File

@ -1,20 +0,0 @@
The MIT License (MIT)
Copyright (c) 2013 container-interop
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.

View File

@ -1,148 +0,0 @@
# Container Interoperability
[![Latest Stable Version](https://poser.pugx.org/container-interop/container-interop/v/stable.png)](https://packagist.org/packages/container-interop/container-interop)
[![Total Downloads](https://poser.pugx.org/container-interop/container-interop/downloads.svg)](https://packagist.org/packages/container-interop/container-interop)
## Deprecation warning!
Starting Feb. 13th 2017, container-interop is officially deprecated in favor of [PSR-11](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-11-container.md).
Container-interop has been the test-bed of PSR-11. From v1.2, container-interop directly extends PSR-11 interfaces.
Therefore, all containers implementing container-interop are now *de-facto* compatible with PSR-11.
- Projects implementing container-interop interfaces are encouraged to directly implement PSR-11 interfaces instead.
- Projects consuming container-interop interfaces are very strongly encouraged to directly type-hint on PSR-11 interfaces, in order to be compatible with PSR-11 containers that are not compatible with container-interop.
Regarding the delegate lookup feature, that is present in container-interop and not in PSR-11, the feature is actually a design pattern. It is therefore not deprecated. Documentation regarding this design pattern will be migrated from this repository into a separate website in the future.
## About
*container-interop* tries to identify and standardize features in *container* objects (service locators,
dependency injection containers, etc.) to achieve interoperability.
Through discussions and trials, we try to create a standard, made of common interfaces but also recommendations.
If PHP projects that provide container implementations begin to adopt these common standards, then PHP
applications and projects that use containers can depend on the common interfaces instead of specific
implementations. This facilitates a high-level of interoperability and flexibility that allows users to consume
*any* container implementation that can be adapted to these interfaces.
The work done in this project is not officially endorsed by the [PHP-FIG](http://www.php-fig.org/), but it is being
worked on by members of PHP-FIG and other good developers. We adhere to the spirit and ideals of PHP-FIG, and hope
this project will pave the way for one or more future PSRs.
## Installation
You can install this package through Composer:
```json
composer require container-interop/container-interop
```
The packages adheres to the [SemVer](http://semver.org/) specification, and there will be full backward compatibility
between minor versions.
## Standards
### Available
- [`ContainerInterface`](src/Interop/Container/ContainerInterface.php).
[Description](docs/ContainerInterface.md) [Meta Document](docs/ContainerInterface-meta.md).
Describes the interface of a container that exposes methods to read its entries.
- [*Delegate lookup feature*](docs/Delegate-lookup.md).
[Meta Document](docs/Delegate-lookup-meta.md).
Describes the ability for a container to delegate the lookup of its dependencies to a third-party container. This
feature lets several containers work together in a single application.
### Proposed
View open [request for comments](https://github.com/container-interop/container-interop/labels/RFC)
## Compatible projects
### Projects implementing `ContainerInterface`
- [Acclimate](https://github.com/jeremeamia/acclimate-container): Adapters for
Aura.Di, Laravel, Nette DI, Pimple, Symfony DI, ZF2 Service manager, ZF2
Dependency injection and any container using `ArrayAccess`
- [Aura.Di](https://github.com/auraphp/Aura.Di)
- [auryn-container-interop](https://github.com/elazar/auryn-container-interop)
- [Burlap](https://github.com/codeeverything/burlap)
- [Chernozem](https://github.com/pyrsmk/Chernozem)
- [Data Manager](https://github.com/chrismichaels84/data-manager)
- [Disco](https://github.com/bitexpert/disco)
- [InDI](https://github.com/idealogica/indi)
- [League/Container](http://container.thephpleague.com/)
- [Mouf](http://mouf-php.com)
- [Njasm Container](https://github.com/njasm/container)
- [PHP-DI](http://php-di.org)
- [Picotainer](https://github.com/thecodingmachine/picotainer)
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
- [Pimple3-ContainerInterop](https://github.com/Sam-Burns/pimple3-containerinterop) (using Pimple v3)
- [SitePoint Container](https://github.com/sitepoint/Container)
- [Thruster Container](https://github.com/ThrusterIO/container) (PHP7 only)
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
- [Unbox](https://github.com/mindplay-dk/unbox)
- [XStatic](https://github.com/jeremeamia/xstatic)
- [Zend\ServiceManager](https://github.com/zendframework/zend-servicemanager)
- [Zit](https://github.com/inxilpro/Zit)
### Projects implementing the *delegate lookup* feature
- [Aura.Di](https://github.com/auraphp/Aura.Di)
- [Burlap](https://github.com/codeeverything/burlap)
- [Chernozem](https://github.com/pyrsmk/Chernozem)
- [InDI](https://github.com/idealogica/indi)
- [League/Container](http://container.thephpleague.com/)
- [Mouf](http://mouf-php.com)
- [Picotainer](https://github.com/thecodingmachine/picotainer)
- [PHP-DI](http://php-di.org)
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
### Middlewares implementing `ContainerInterface`
- [Alias-Container](https://github.com/thecodingmachine/alias-container): add
aliases support to any container
- [Prefixer-Container](https://github.com/thecodingmachine/prefixer-container):
dynamically prefix identifiers
- [Lazy-Container](https://github.com/snapshotpl/lazy-container): lazy services
### Projects using `ContainerInterface`
The list below contains only a sample of all the projects consuming `ContainerInterface`. For a more complete list have a look [here](http://packanalyst.com/class?q=Interop%5CContainer%5CContainerInterface).
| | Downloads |
| --- | --- |
| [Adroit](https://github.com/bitexpert/adroit) | ![](https://img.shields.io/packagist/dt/bitexpert/adroit.svg) |
| [Behat](https://github.com/Behat/Behat/pull/974) | ![](https://img.shields.io/packagist/dt/behat/behat.svg) |
| [blast-facades](https://github.com/phpthinktank/blast-facades): Minimize complexity and represent dependencies as facades. | ![](https://img.shields.io/packagist/dt/blast/facades.svg) |
| [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di): an extension to [Silex](http://silex.sensiolabs.org/) that adds support for any *container-interop* compatible container | ![](https://img.shields.io/packagist/dt/mouf/interop.silex.di.svg) |
| [mindplay/walkway](https://github.com/mindplay-dk/walkway): a modular request router | ![](https://img.shields.io/packagist/dt/mindplay/walkway.svg) |
| [mindplay/middleman](https://github.com/mindplay-dk/middleman): minimalist PSR-7 middleware dispatcher | ![](https://img.shields.io/packagist/dt/mindplay/middleman.svg) |
| [PHP-DI/Invoker](https://github.com/PHP-DI/Invoker): extensible and configurable invoker/dispatcher | ![](https://img.shields.io/packagist/dt/php-di/invoker.svg) |
| [Prophiler](https://github.com/fabfuel/prophiler) | ![](https://img.shields.io/packagist/dt/fabfuel/prophiler.svg) |
| [Silly](https://github.com/mnapoli/silly): CLI micro-framework | ![](https://img.shields.io/packagist/dt/mnapoli/silly.svg) |
| [Slim v3](https://github.com/slimphp/Slim) | ![](https://img.shields.io/packagist/dt/slim/slim.svg) |
| [Splash](http://mouf-php.com/packages/mouf/mvc.splash-common/version/8.0-dev/README.md) | ![](https://img.shields.io/packagist/dt/mouf/mvc.splash-common.svg) |
| [Woohoo Labs. Harmony](https://github.com/woohoolabs/harmony): a flexible micro-framework | ![](https://img.shields.io/packagist/dt/woohoolabs/harmony.svg) |
| [zend-expressive](https://github.com/zendframework/zend-expressive) | ![](https://img.shields.io/packagist/dt/zendframework/zend-expressive.svg) |
## Workflow
Everyone is welcome to join and contribute.
The general workflow looks like this:
1. Someone opens a discussion (GitHub issue) to suggest an interface
1. Feedback is gathered
1. The interface is added to a development branch
1. We release alpha versions so that the interface can be experimented with
1. Discussions and edits ensue until the interface is deemed stable by a general consensus
1. A new minor version of the package is released
We try to not break BC by creating new interfaces instead of editing existing ones.
While we currently work on interfaces, we are open to anything that might help towards interoperability, may that
be code, best practices, etc.

View File

@ -1,15 +0,0 @@
{
"name": "container-interop/container-interop",
"type": "library",
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
"homepage": "https://github.com/container-interop/container-interop",
"license": "MIT",
"autoload": {
"psr-4": {
"Interop\\Container\\": "src/Interop/Container/"
}
},
"require": {
"psr/container": "^1.0"
}
}

View File

@ -1,114 +0,0 @@
# ContainerInterface Meta Document
## Introduction
This document describes the process and discussions that lead to the `ContainerInterface`.
Its goal is to explain the reasons behind each decision.
## Goal
The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
container to obtain objects and parameters.
By standardizing such a behavior, frameworks and libraries using the `ContainerInterface`
could work with any compatible container.
That would allow end users to choose their own container based on their own preferences.
It is important to distinguish the two usages of a container:
- configuring entries
- fetching entries
Most of the time, those two sides are not used by the same party.
While it is often end users who tend to configure entries, it is generally the framework that fetch
entries to build the application.
This is why this interface focuses only on how entries can be fetched from a container.
## Interface name
The interface name has been thoroughly discussed and was decided by a vote.
The list of options considered with their respective votes are:
- `ContainerInterface`: +8
- `ProviderInterface`: +2
- `LocatorInterface`: 0
- `ReadableContainerInterface`: -5
- `ServiceLocatorInterface`: -6
- `ObjectFactory`: -6
- `ObjectStore`: -8
- `ConsumerInterface`: -9
[Full results of the vote](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)
The complete discussion can be read in [the issue #1](https://github.com/container-interop/container-interop/issues/1).
## Interface methods
The choice of which methods the interface would contain was made after a statistical analysis of existing containers.
The results of this analysis are available [in this document](https://gist.github.com/mnapoli/6159681).
The summary of the analysis showed that:
- all containers offer a method to get an entry by its id
- a large majority name such method `get()`
- for all containers, the `get()` method has 1 mandatory parameter of type string
- some containers have an optional additional argument for `get()`, but it doesn't have the same purpose between containers
- a large majority of the containers offer a method to test if it can return an entry by its id
- a majority name such method `has()`
- for all containers offering `has()`, the method has exactly 1 parameter of type string
- a large majority of the containers throw an exception rather than returning null when an entry is not found in `get()`
- a large majority of the containers don't implement `ArrayAccess`
The question of whether to include methods to define entries has been discussed in
[issue #1](https://github.com/container-interop/container-interop/issues/1).
It has been judged that such methods do not belong in the interface described here because it is out of its scope
(see the "Goal" section).
As a result, the `ContainerInterface` contains two methods:
- `get()`, returning anything, with one mandatory string parameter. Should throw an exception if the entry is not found.
- `has()`, returning a boolean, with one mandatory string parameter.
### Number of parameters in `get()` method
While `ContainerInterface` only defines one mandatory parameter in `get()`, it is not incompatible with
existing containers that have additional optional parameters. PHP allows an implementation to offer more parameters
as long as they are optional, because the implementation *does* satisfy the interface.
This issue has been discussed in [issue #6](https://github.com/container-interop/container-interop/issues/6).
### Type of the `$id` parameter
The type of the `$id` parameter in `get()` and `has()` has been discussed in
[issue #6](https://github.com/container-interop/container-interop/issues/6).
While `string` is used in all the containers that were analyzed, it was suggested that allowing
anything (such as objects) could allow containers to offer a more advanced query API.
An example given was to use the container as an object builder. The `$id` parameter would then be an
object that would describe how to create an instance.
The conclusion of the discussion was that this was beyond the scope of getting entries from a container without
knowing how the container provided them, and it was more fit for a factory.
## Contributors
Are listed here all people that contributed in the discussions or votes, by alphabetical order:
- [Amy Stephen](https://github.com/AmyStephen)
- [David Négrier](https://github.com/moufmouf)
- [Don Gilbert](https://github.com/dongilbert)
- [Jason Judge](https://github.com/judgej)
- [Jeremy Lindblom](https://github.com/jeremeamia)
- [Marco Pivetta](https://github.com/Ocramius)
- [Matthieu Napoli](https://github.com/mnapoli)
- [Paul M. Jones](https://github.com/pmjones)
- [Stephan Hochdörfer](https://github.com/shochdoerfer)
- [Taylor Otwell](https://github.com/taylorotwell)
## Relevant links
- [`ContainerInterface.php`](https://github.com/container-interop/container-interop/blob/master/src/Interop/Container/ContainerInterface.php)
- [List of all issues](https://github.com/container-interop/container-interop/issues?labels=ContainerInterface&milestone=&page=1&state=closed)
- [Vote for the interface name](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)

View File

@ -1,158 +0,0 @@
Container interface
===================
This document describes a common interface for dependency injection containers.
The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
container to obtain objects and parameters (called *entries* in the rest of this document).
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119][].
The word `implementor` in this document is to be interpreted as someone
implementing the `ContainerInterface` in a dependency injection-related library or framework.
Users of dependency injections containers (DIC) are referred to as `user`.
[RFC 2119]: http://tools.ietf.org/html/rfc2119
1. Specification
-----------------
### 1.1 Basics
- The `Interop\Container\ContainerInterface` exposes two methods : `get` and `has`.
- `get` takes one mandatory parameter: an entry identifier. It MUST be a string.
A call to `get` can return anything (a *mixed* value), or throws an exception if the identifier
is not known to the container. Two successive calls to `get` with the same
identifier SHOULD return the same value. However, depending on the `implementor`
design and/or `user` configuration, different values might be returned, so
`user` SHOULD NOT rely on getting the same value on 2 successive calls.
While `ContainerInterface` only defines one mandatory parameter in `get()`, implementations
MAY accept additional optional parameters.
- `has` takes one unique parameter: an entry identifier. It MUST return `true`
if an entry identifier is known to the container and `false` if it is not.
`has($id)` returning true does not mean that `get($id)` will not throw an exception.
It does however mean that `get($id)` will not throw a `NotFoundException`.
### 1.2 Exceptions
Exceptions directly thrown by the container MUST implement the
[`Interop\Container\Exception\ContainerException`](../src/Interop/Container/Exception/ContainerException.php).
A call to the `get` method with a non-existing id SHOULD throw a
[`Interop\Container\Exception\NotFoundException`](../src/Interop/Container/Exception/NotFoundException.php).
### 1.3 Additional features
This section describes additional features that MAY be added to a container. Containers are not
required to implement these features to respect the ContainerInterface.
#### 1.3.1 Delegate lookup feature
The goal of the *delegate lookup* feature is to allow several containers to share entries.
Containers implementing this feature can perform dependency lookups in other containers.
Containers implementing this feature will offer a greater lever of interoperability
with other containers. Implementation of this feature is therefore RECOMMENDED.
A container implementing this feature:
- MUST implement the `ContainerInterface`
- MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
or any possible way). The delegate container MUST implement the `ContainerInterface`.
When a container is configured to use a delegate container for dependencies:
- Calls to the `get` method should only return an entry if the entry is part of the container.
If the entry is not part of the container, an exception should be thrown
(as requested by the `ContainerInterface`).
- Calls to the `has` method should only return `true` if the entry is part of the container.
If the entry is not part of the container, `false` should be returned.
- If the fetched entry has dependencies, **instead** of performing
the dependency lookup in the container, the lookup is performed on the *delegate container*.
Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
It is however allowed for containers to provide exception cases for special entries, and a way to lookup
into the same container (or another container) instead of the delegate container.
2. Package
----------
The interfaces and classes described as well as relevant exception are provided as part of the
[container-interop/container-interop](https://packagist.org/packages/container-interop/container-interop) package.
3. `Interop\Container\ContainerInterface`
-----------------------------------------
```php
<?php
namespace Interop\Container;
use Interop\Container\Exception\ContainerException;
use Interop\Container\Exception\NotFoundException;
/**
* Describes the interface of a container that exposes methods to read its entries.
*/
interface ContainerInterface
{
/**
* Finds an entry of the container by its identifier and returns it.
*
* @param string $id Identifier of the entry to look for.
*
* @throws NotFoundException No entry was found for this identifier.
* @throws ContainerException Error while retrieving the entry.
*
* @return mixed Entry.
*/
public function get($id);
/**
* Returns true if the container can return an entry for the given identifier.
* Returns false otherwise.
*
* `has($id)` returning true does not mean that `get($id)` will not throw an exception.
* It does however mean that `get($id)` will not throw a `NotFoundException`.
*
* @param string $id Identifier of the entry to look for.
*
* @return boolean
*/
public function has($id);
}
```
4. `Interop\Container\Exception\ContainerException`
---------------------------------------------------
```php
<?php
namespace Interop\Container\Exception;
/**
* Base interface representing a generic exception in a container.
*/
interface ContainerException
{
}
```
5. `Interop\Container\Exception\NotFoundException`
---------------------------------------------------
```php
<?php
namespace Interop\Container\Exception;
/**
* No entry was found in the container.
*/
interface NotFoundException extends ContainerException
{
}
```

View File

@ -1,259 +0,0 @@
Delegate lookup feature Meta Document
=====================================
1. Summary
----------
This document describes the *delegate lookup feature*.
Containers are not required to implement this feature to respect the `ContainerInterface`.
However, containers implementing this feature will offer a greater lever of interoperability
with other containers, allowing multiple containers to share entries in the same application.
Implementation of this feature is therefore recommanded.
2. Why Bother?
--------------
The [`ContainerInterface`](../src/Interop/Container/ContainerInterface.php) ([meta doc](ContainerInterface.md))
standardizes how frameworks and libraries make use of a container to obtain objects and parameters.
By standardizing such a behavior, frameworks and libraries relying on the `ContainerInterface`
could work with any compatible container.
That would allow end users to choose their own container based on their own preferences.
The `ContainerInterface` is also enough if we want to have several containers side-by-side in the same
application. For instance, this is what the [CompositeContainer](https://github.com/jeremeamia/acclimate-container/blob/master/src/CompositeContainer.php)
class of [Acclimate](https://github.com/jeremeamia/acclimate-container) is designed for:
![Side by side containers](images/side_by_side_containers.png)
However, an instance in container 1 cannot reference an instance in container 2.
It would be better if an instance of container 1 could reference an instance in container 2,
and the opposite should be true.
![Interoperating containers](images/interoperating_containers.png)
In the sample above, entry 1 in container 1 is referencing entry 3 in container 2.
3. Scope
--------
### 3.1 Goals
The goal of the *delegate lookup* feature is to allow several containers to share entries.
4. Approaches
-------------
### 4.1 Chosen Approach
Containers implementing this feature can perform dependency lookups in other containers.
A container implementing this feature:
- must implement the `ContainerInterface`
- must provide a way to register a *delegate container* (using a constructor parameter, or a setter, or any
possible way). The *delegate container* must implement the `ContainerInterface`.
When a *delegate container* is configured on a container:
- Calls to the `get` method should only return an entry if the entry is part of the container.
If the entry is not part of the container, an exception should be thrown (as required in the `ContainerInterface`).
- Calls to the `has` method should only return *true* if the entry is part of the container.
If the entry is not part of the container, *false* should be returned.
- Finally, the important part: if the entry we are fetching has dependencies,
**instead** of perfoming the dependency lookup in the container, the lookup is performed on the *delegate container*.
Important! By default, the lookup should be performed on the delegate container **only**, not on the container itself.
It is however allowed for containers to provide exception cases for special entries, and a way to lookup into
the same container (or another container) instead of the delegate container.
### 4.2 Typical usage
The *delegate container* will usually be a composite container. A composite container is a container that
contains several other containers. When performing a lookup on a composite container, the inner containers are
queried until one container returns an entry.
An inner container implementing the *delegate lookup feature* will return entries it contains, but if these
entries have dependencies, the dependencies lookup calls will be performed on the composite container, giving
a chance to all containers to answer.
Interestingly enough, the order in which containers are added in the composite container matters. Indeed,
the first containers to be added in the composite container can "override" the entries of containers with
lower priority.
![Containers priority](images/priority.png)
In the example above, "container 2" contains a controller "myController" and the controller is referencing an
"entityManager" entry. "Container 1" contains also an entry named "entityManager".
Without the *delegate lookup* feature, when requesting the "myController" instance to container 2, it would take
in charge the instanciation of both entries.
However, using the *delegate lookup* feature, here is what happens when we ask the composite container for the
"myController" instance:
- The composite container asks container 1 if if contains the "myController" instance. The answer is no.
- The composite container asks container 2 if if contains the "myController" instance. The answer is yes.
- The composite container performs a `get` call on container 2 for the "myController" instance.
- Container 2 sees that "myController" has a dependency on "entityManager".
- Container 2 delegates the lookup of "entityManager" to the composite container.
- The composite container asks container 1 if if contains the "entityManager" instance. The answer is yes.
- The composite container performs a `get` call on container 1 for the "entityManager" instance.
In the end, we get a controller instanciated by container 2 that references an entityManager instanciated
by container 1.
### 4.3 Alternative: the fallback strategy
The first proposed approach we tried was to perform all the lookups in the "local" container,
and if a lookup fails in the container, to use the delegate container. In this scenario, the
delegate container is used in "fallback" mode.
This strategy has been described in @moufmouf blog post: http://mouf-php.com/container-interop-whats-next (solution 1).
It was also discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-33570697) and
[here](https://github.com/container-interop/container-interop/pull/20#issuecomment-56599631).
Problems with this strategy:
- Heavy problem regarding infinite loops
- Unable to overload a container entry with the delegate container entry
### 4.4 Alternative: force implementing an interface
The first proposed approach was to develop a `ParentAwareContainerInterface` interface.
It was proposed here: https://github.com/container-interop/container-interop/pull/8
The interface would have had the behaviour of the delegate lookup feature but would have forced the addition of
a `setParentContainter` method:
```php
interface ParentAwareContainerInterface extends ReadableContainerInterface {
/**
* Sets the parent container associated to that container. This container will call
* the parent container to fetch dependencies.
*
* @param ContainerInterface $container
*/
public function setParentContainer(ContainerInterface $container);
}
```
The interface idea was first questioned by @Ocramius [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
@Ocramius expressed the idea that an interface should not contain setters, otherwise, it is forcing implementation
details on the class implementing the interface.
Then @mnapoli made a proposal for a "convention" [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51841079),
this idea was further discussed until all participants in the discussion agreed to remove the interface idea
and replace it with a "standard" feature.
**Pros:**
If we had had an interface, we could have delegated the registration of the delegate/composite container to the
the delegate/composite container itself.
For instance:
```php
$containerA = new ContainerA();
$containerB = new ContainerB();
$compositeContainer = new CompositeContainer([$containerA, $containerB]);
// The call to 'setParentContainer' is delegated to the CompositeContainer
// It is not the responsibility of the user anymore.
class CompositeContainer {
...
public function __construct($containers) {
foreach ($containers as $container) {
if ($container instanceof ParentAwareContainerInterface) {
$container->setParentContainer($this);
}
}
...
}
}
```
**Cons:**
Cons have been extensively discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
Basically, forcing a setter into an interface is a bad idea. Setters are similar to constructor arguments,
and it's a bad idea to standardize a constructor: how the delegate container is configured into a container is an implementation detail. This outweights the benefits of the interface.
### 4.4 Alternative: no exception case for delegate lookups
Originally, the proposed wording for delegate lookup calls was:
> Important! The lookup MUST be performed on the delegate container **only**, not on the container itself.
This was later replaced by:
> Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
>
> It is however allowed for containers to provide exception cases for special entries, and a way to lookup
> into the same container (or another container) instead of the delegate container.
Exception cases have been allowed to avoid breaking dependencies with some services that must be provided
by the container (on @njasm proposal). This was proposed here: https://github.com/container-interop/container-interop/pull/20#issuecomment-56597235
### 4.5 Alternative: having one of the containers act as the composite container
In real-life scenarios, we usually have a big framework (Symfony 2, Zend Framework 2, etc...) and we want to
add another DI container to this container. Most of the time, the "big" framework will be responsible for
creating the controller's instances, using it's own DI container. Until *container-interop* is fully adopted,
the "big" framework will not be aware of the existence of a composite container that it should use instead
of its own container.
For this real-life use cases, @mnapoli and @moufmouf proposed to extend the "big" framework's DI container
to make it act as a composite container.
This has been discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-40367194)
and [here](http://mouf-php.com/container-interop-whats-next#solution4).
This was implemented in Symfony 2 using:
- [interop.symfony.di](https://github.com/thecodingmachine/interop.symfony.di/tree/v0.1.0)
- [framework interop](https://github.com/mnapoli/framework-interop/)
This was implemented in Silex using:
- [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di)
Having a container act as the composite container is not part of the delegate lookup standard because it is
simply a temporary design pattern used to make existing frameworks that do not support yet ContainerInterop
play nice with other DI containers.
5. Implementations
------------------
The following projects already implement the delegate lookup feature:
- [Mouf](http://mouf-php.com), through the [`setDelegateLookupContainer` method](https://github.com/thecodingmachine/mouf/blob/2.0/src/Mouf/MoufManager.php#L2120)
- [PHP-DI](http://php-di.org/), through the [`$wrapperContainer` parameter of the constructor](https://github.com/mnapoli/PHP-DI/blob/master/src/DI/Container.php#L72)
- [pimple-interop](https://github.com/moufmouf/pimple-interop), through the [`$container` parameter of the constructor](https://github.com/moufmouf/pimple-interop/blob/master/src/Interop/Container/Pimple/PimpleInterop.php#L62)
6. People
---------
Are listed here all people that contributed in the discussions, by alphabetical order:
- [Alexandru Pătrănescu](https://github.com/drealecs)
- [Ben Peachey](https://github.com/potherca)
- [David Négrier](https://github.com/moufmouf)
- [Jeremy Lindblom](https://github.com/jeremeamia)
- [Marco Pivetta](https://github.com/Ocramius)
- [Matthieu Napoli](https://github.com/mnapoli)
- [Nelson J Morais](https://github.com/njasm)
- [Phil Sturgeon](https://github.com/philsturgeon)
- [Stephan Hochdörfer](https://github.com/shochdoerfer)
7. Relevant Links
-----------------
_**Note:** Order descending chronologically._
- [Pull request on the delegate lookup feature](https://github.com/container-interop/container-interop/pull/20)
- [Pull request on the interface idea](https://github.com/container-interop/container-interop/pull/8)
- [Original article exposing the delegate lookup idea along many others](http://mouf-php.com/container-interop-whats-next)

View File

@ -1,60 +0,0 @@
Delegate lookup feature
=======================
This document describes a standard for dependency injection containers.
The goal set by the *delegate lookup* feature is to allow several containers to share entries.
Containers implementing this feature can perform dependency lookups in other containers.
Containers implementing this feature will offer a greater lever of interoperability
with other containers. Implementation of this feature is therefore RECOMMENDED.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119][].
The word `implementor` in this document is to be interpreted as someone
implementing the delegate lookup feature in a dependency injection-related library or framework.
Users of dependency injections containers (DIC) are referred to as `user`.
[RFC 2119]: http://tools.ietf.org/html/rfc2119
1. Vocabulary
-------------
In a dependency injection container, the container is used to fetch entries.
Entries can have dependencies on other entries. Usually, these other entries are fetched by the container.
The *delegate lookup* feature is the ability for a container to fetch dependencies in
another container. In the rest of the document, the word "container" will reference the container
implemented by the implementor. The word "delegate container" will reference the container we are
fetching the dependencies from.
2. Specification
----------------
A container implementing the *delegate lookup* feature:
- MUST implement the [`ContainerInterface`](ContainerInterface.md)
- MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
or any possible way). The delegate container MUST implement the [`ContainerInterface`](ContainerInterface.md).
When a container is configured to use a delegate container for dependencies:
- Calls to the `get` method should only return an entry if the entry is part of the container.
If the entry is not part of the container, an exception should be thrown
(as requested by the [`ContainerInterface`](ContainerInterface.md)).
- Calls to the `has` method should only return `true` if the entry is part of the container.
If the entry is not part of the container, `false` should be returned.
- If the fetched entry has dependencies, **instead** of performing
the dependency lookup in the container, the lookup is performed on the *delegate container*.
Important: By default, the dependency lookups SHOULD be performed on the delegate container **only**, not on the container itself.
It is however allowed for containers to provide exception cases for special entries, and a way to lookup
into the same container (or another container) instead of the delegate container.
3. Package / Interface
----------------------
This feature is not tied to any code, interface or package.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,15 +0,0 @@
<?php
/**
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
*/
namespace Interop\Container;
use Psr\Container\ContainerInterface as PsrContainerInterface;
/**
* Describes the interface of a container that exposes methods to read its entries.
*/
interface ContainerInterface extends PsrContainerInterface
{
}

View File

@ -1,15 +0,0 @@
<?php
/**
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
*/
namespace Interop\Container\Exception;
use Psr\Container\ContainerExceptionInterface as PsrContainerException;
/**
* Base interface representing a generic exception in a container.
*/
interface ContainerException extends PsrContainerException
{
}

View File

@ -1,15 +0,0 @@
<?php
/**
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
*/
namespace Interop\Container\Exception;
use Psr\Container\NotFoundExceptionInterface as PsrNotFoundException;
/**
* No entry was found in the container.
*/
interface NotFoundException extends ContainerException, PsrNotFoundException
{
}

View File

@ -1,3 +0,0 @@
phpunit.xml
composer.lock
/vendor/

View File

@ -1,40 +0,0 @@
language: php
env:
matrix:
- PIMPLE_EXT=no
- PIMPLE_EXT=yes
global:
- REPORT_EXIT_STATUS=1
php:
- 5.3
- 5.4
- 5.5
- 5.6
- 7.0
- 7.1
before_script:
- composer self-update
- COMPOSER_ROOT_VERSION=dev-master composer install
- if [ "$PIMPLE_EXT" == "yes" ]; then sh -c "cd ext/pimple && phpize && ./configure && make && sudo make install"; fi
- if [ "$PIMPLE_EXT" == "yes" ]; then echo "extension=pimple.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`; fi
script:
- cd ext/pimple
- if [ "$PIMPLE_EXT" == "yes" ]; then yes n | make test | tee output ; grep -E 'Tests failed +. +0' output; fi
- if [ "$PIMPLE_EXT" == "yes" ]; then export SYMFONY_DEPRECATIONS_HELPER=weak; fi
- cd ../..
- ./vendor/bin/simple-phpunit
matrix:
include:
- php: hhvm
dist: trusty
env: PIMPLE_EXT=no
exclude:
- php: 7.0
env: PIMPLE_EXT=yes
- php: 7.1
env: PIMPLE_EXT=yes

View File

@ -1,59 +0,0 @@
* 3.2.3 (2017-XX-XX)
* n/a
* 3.2.2 (2017-07-23)
* reverted extending a protected closure throws an exception (deprecated it instead)
* 3.2.1 (2017-07-17)
* fixed PHP error
* 3.2.0 (2017-07-17)
* added a PSR-11 service locator
* added a PSR-11 wrapper
* added ServiceIterator
* fixed extending a protected closure (now throws InvalidServiceIdentifierException)
* 3.1.0 (2017-07-03)
* deprecated the C extension
* added support for PSR-11 exceptions
* 3.0.2 (2015-09-11)
* refactored the C extension
* minor non-significant changes
* 3.0.1 (2015-07-30)
* simplified some code
* fixed a segfault in the C extension
* 3.0.0 (2014-07-24)
* removed the Pimple class alias (use Pimple\Container instead)
* 2.1.1 (2014-07-24)
* fixed compiler warnings for the C extension
* fixed code when dealing with circular references
* 2.1.0 (2014-06-24)
* moved the Pimple to Pimple\Container (with a BC layer -- Pimple is now a
deprecated alias which will be removed in Pimple 3.0)
* added Pimple\ServiceProviderInterface (and Pimple::register())
* 2.0.0 (2014-02-10)
* changed extend to automatically re-assign the extended service and keep it as shared or factory
(to keep BC, extend still returns the extended service)
* changed services to be shared by default (use factory() for factory
services)
* 1.0.0
* initial version

View File

@ -1,19 +0,0 @@
Copyright (c) 2009-2017 Fabien Potencier
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.

View File

@ -1,326 +0,0 @@
Pimple
======
.. caution::
This is the documentation for Pimple 3.x. If you are using Pimple 1.x, read
the `Pimple 1.x documentation`_. Reading the Pimple 1.x code is also a good
way to learn more about how to create a simple Dependency Injection
Container (recent versions of Pimple are more focused on performance).
Pimple is a small Dependency Injection Container for PHP.
Installation
------------
Before using Pimple in your project, add it to your ``composer.json`` file:
.. code-block:: bash
$ ./composer.phar require pimple/pimple "^3.0"
Usage
-----
Creating a container is a matter of creating a ``Container`` instance:
.. code-block:: php
use Pimple\Container;
$container = new Container();
As many other dependency injection containers, Pimple manages two different
kind of data: **services** and **parameters**.
Defining Services
~~~~~~~~~~~~~~~~~
A service is an object that does something as part of a larger system. Examples
of services: a database connection, a templating engine, or a mailer. Almost
any **global** object can be a service.
Services are defined by **anonymous functions** that return an instance of an
object:
.. code-block:: php
// define some services
$container['session_storage'] = function ($c) {
return new SessionStorage('SESSION_ID');
};
$container['session'] = function ($c) {
return new Session($c['session_storage']);
};
Notice that the anonymous function has access to the current container
instance, allowing references to other services or parameters.
As objects are only created when you get them, the order of the definitions
does not matter.
Using the defined services is also very easy:
.. code-block:: php
// get the session object
$session = $container['session'];
// the above call is roughly equivalent to the following code:
// $storage = new SessionStorage('SESSION_ID');
// $session = new Session($storage);
Defining Factory Services
~~~~~~~~~~~~~~~~~~~~~~~~~
By default, each time you get a service, Pimple returns the **same instance**
of it. If you want a different instance to be returned for all calls, wrap your
anonymous function with the ``factory()`` method
.. code-block:: php
$container['session'] = $container->factory(function ($c) {
return new Session($c['session_storage']);
});
Now, each call to ``$container['session']`` returns a new instance of the
session.
Defining Parameters
~~~~~~~~~~~~~~~~~~~
Defining a parameter allows to ease the configuration of your container from
the outside and to store global values:
.. code-block:: php
// define some parameters
$container['cookie_name'] = 'SESSION_ID';
$container['session_storage_class'] = 'SessionStorage';
If you change the ``session_storage`` service definition like below:
.. code-block:: php
$container['session_storage'] = function ($c) {
return new $c['session_storage_class']($c['cookie_name']);
};
You can now easily change the cookie name by overriding the
``cookie_name`` parameter instead of redefining the service
definition.
Protecting Parameters
~~~~~~~~~~~~~~~~~~~~~
Because Pimple sees anonymous functions as service definitions, you need to
wrap anonymous functions with the ``protect()`` method to store them as
parameters:
.. code-block:: php
$container['random_func'] = $container->protect(function () {
return rand();
});
Modifying Services after Definition
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In some cases you may want to modify a service definition after it has been
defined. You can use the ``extend()`` method to define additional code to be
run on your service just after it is created:
.. code-block:: php
$container['session_storage'] = function ($c) {
return new $c['session_storage_class']($c['cookie_name']);
};
$container->extend('session_storage', function ($storage, $c) {
$storage->...();
return $storage;
});
The first argument is the name of the service to extend, the second a function
that gets access to the object instance and the container.
Extending a Container
~~~~~~~~~~~~~~~~~~~~~
If you use the same libraries over and over, you might want to reuse some
services from one project to the next one; package your services into a
**provider** by implementing ``Pimple\ServiceProviderInterface``:
.. code-block:: php
use Pimple\Container;
class FooProvider implements Pimple\ServiceProviderInterface
{
public function register(Container $pimple)
{
// register some services and parameters
// on $pimple
}
}
Then, register the provider on a Container:
.. code-block:: php
$pimple->register(new FooProvider());
Fetching the Service Creation Function
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When you access an object, Pimple automatically calls the anonymous function
that you defined, which creates the service object for you. If you want to get
raw access to this function, you can use the ``raw()`` method:
.. code-block:: php
$container['session'] = function ($c) {
return new Session($c['session_storage']);
};
$sessionFunction = $container->raw('session');
PSR-11 compatibility
--------------------
For historical reasons, the ``Container`` class does not implement the PSR-11
``ContainerInterface``. However, Pimple provides a helper class that will let
you decouple your code from the Pimple container class.
The PSR-11 container class
~~~~~~~~~~~~~~~~~~~~~~~~~~
The ``Pimple\Psr11\Container`` class lets you access the content of an
underlying Pimple container using ``Psr\Container\ContainerInterface``
methods:
.. code-block:: php
use Pimple\Container;
use Pimple\Psr11\Container as PsrContainer;
$container = new Container();
$container['service'] = function ($c) {
return new Service();
};
$psr11 = new PsrContainer($container);
$controller = function (PsrContainer $container) {
$service = $container->get('service');
};
$controller($psr11);
Using the PSR-11 ServiceLocator
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sometimes, a service needs access to several other services without being sure
that all of them will actually be used. In those cases, you may want the
instantiation of the services to be lazy.
The traditional solution is to inject the entire service container to get only
the services really needed. However, this is not recommended because it gives
services a too broad access to the rest of the application and it hides their
actual dependencies.
The ``ServiceLocator`` is intended to solve this problem by giving access to a
set of predefined services while instantiating them only when actually needed.
It also allows you to make your services available under a different name than
the one used to register them. For instance, you may want to use an object
that expects an instance of ``EventDispatcherInterface`` to be available under
the name ``event_dispatcher`` while your event dispatcher has been
registered under the name ``dispatcher``:
.. code-block:: php
use Monolog\Logger;
use Pimple\Psr11\ServiceLocator;
use Psr\Container\ContainerInterface;
use Symfony\Component\EventDispatcher\EventDispatcher;
class MyService
{
/**
* "logger" must be an instance of Psr\Log\LoggerInterface
* "event_dispatcher" must be an instance of Symfony\Component\EventDispatcher\EventDispatcherInterface
*/
private $services;
public function __construct(ContainerInterface $services)
{
$this->services = $services;
}
}
$container['logger'] = function ($c) {
return new Monolog\Logger();
};
$container['dispatcher'] = function () {
return new EventDispatcher();
};
$container['service'] = function ($c) {
$locator = new ServiceLocator($c, array('logger', 'event_dispatcher' => 'dispatcher'));
return new MyService($locator);
};
Referencing a Collection of Services Lazily
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Passing a collection of services instances in an array may prove inefficient
if the class that consumes the collection only needs to iterate over it at a
later stage, when one of its method is called. It can also lead to problems
if there is a circular dependency between one of the services stored in the
collection and the class that consumes it.
The ``ServiceIterator`` class helps you solve these issues. It receives a
list of service names during instantiation and will retrieve the services
when iterated over:
.. code-block:: php
use Pimple\Container;
use Pimple\ServiceIterator;
class AuthorizationService
{
private $voters;
public function __construct($voters)
{
$this->voters = $voters;
}
public function canAccess($resource)
{
foreach ($this->voters as $voter) {
if (true === $voter->canAccess($resource) {
return true;
}
}
return false;
}
}
$container = new Container();
$container['voter1'] = function ($c) {
return new SomeVoter();
}
$container['voter2'] = function ($c) {
return new SomeOtherVoter($c['auth']);
}
$container['auth'] = function ($c) {
return new AuthorizationService(new ServiceIterator($c, array('voter1', 'voter2'));
}
.. _Pimple 1.x documentation: https://github.com/silexphp/Pimple/tree/1.1

View File

@ -1,29 +0,0 @@
{
"name": "pimple/pimple",
"type": "library",
"description": "Pimple, a simple Dependency Injection Container",
"keywords": ["dependency injection", "container"],
"homepage": "http://pimple.sensiolabs.org",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"require": {
"php": ">=5.3.0",
"psr/container": "^1.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^3.2"
},
"autoload": {
"psr-0": { "Pimple": "src/" }
},
"extra": {
"branch-alias": {
"dev-master": "3.2.x-dev"
}
}
}

View File

@ -1,30 +0,0 @@
*.sw*
.deps
Makefile
Makefile.fragments
Makefile.global
Makefile.objects
acinclude.m4
aclocal.m4
build/
config.cache
config.guess
config.h
config.h.in
config.log
config.nice
config.status
config.sub
configure
configure.in
install-sh
libtool
ltmain.sh
missing
mkinstalldirs
run-tests.php
*.loT
.libs/
modules/
*.la
*.lo

View File

@ -1,12 +0,0 @@
This is Pimple 2 implemented in C
* PHP >= 5.3
* Not tested under Windows, might work
Install
=======
> phpize
> ./configure
> make
> make install

View File

@ -1,63 +0,0 @@
dnl $Id$
dnl config.m4 for extension pimple
dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.
dnl If your extension references something external, use with:
dnl PHP_ARG_WITH(pimple, for pimple support,
dnl Make sure that the comment is aligned:
dnl [ --with-pimple Include pimple support])
dnl Otherwise use enable:
PHP_ARG_ENABLE(pimple, whether to enable pimple support,
dnl Make sure that the comment is aligned:
[ --enable-pimple Enable pimple support])
if test "$PHP_PIMPLE" != "no"; then
dnl Write more examples of tests here...
dnl # --with-pimple -> check with-path
dnl SEARCH_PATH="/usr/local /usr" # you might want to change this
dnl SEARCH_FOR="/include/pimple.h" # you most likely want to change this
dnl if test -r $PHP_PIMPLE/$SEARCH_FOR; then # path given as parameter
dnl PIMPLE_DIR=$PHP_PIMPLE
dnl else # search default path list
dnl AC_MSG_CHECKING([for pimple files in default path])
dnl for i in $SEARCH_PATH ; do
dnl if test -r $i/$SEARCH_FOR; then
dnl PIMPLE_DIR=$i
dnl AC_MSG_RESULT(found in $i)
dnl fi
dnl done
dnl fi
dnl
dnl if test -z "$PIMPLE_DIR"; then
dnl AC_MSG_RESULT([not found])
dnl AC_MSG_ERROR([Please reinstall the pimple distribution])
dnl fi
dnl # --with-pimple -> add include path
dnl PHP_ADD_INCLUDE($PIMPLE_DIR/include)
dnl # --with-pimple -> check for lib and symbol presence
dnl LIBNAME=pimple # you may want to change this
dnl LIBSYMBOL=pimple # you most likely want to change this
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
dnl [
dnl PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PIMPLE_DIR/lib, PIMPLE_SHARED_LIBADD)
dnl AC_DEFINE(HAVE_PIMPLELIB,1,[ ])
dnl ],[
dnl AC_MSG_ERROR([wrong pimple lib version or lib not found])
dnl ],[
dnl -L$PIMPLE_DIR/lib -lm
dnl ])
dnl
dnl PHP_SUBST(PIMPLE_SHARED_LIBADD)
PHP_NEW_EXTENSION(pimple, pimple.c, $ext_shared)
fi

View File

@ -1,13 +0,0 @@
// $Id$
// vim:ft=javascript
// If your extension references something external, use ARG_WITH
// ARG_WITH("pimple", "for pimple support", "no");
// Otherwise, use ARG_ENABLE
// ARG_ENABLE("pimple", "enable pimple support", "no");
if (PHP_PIMPLE != "no") {
EXTENSION("pimple", "pimple.c");
}

View File

@ -1,137 +0,0 @@
/*
* This file is part of Pimple.
*
* Copyright (c) 2014 Fabien Potencier
*
* 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.
*/
#ifndef PHP_PIMPLE_H
#define PHP_PIMPLE_H
extern zend_module_entry pimple_module_entry;
#define phpext_pimple_ptr &pimple_module_entry
#ifdef PHP_WIN32
# define PHP_PIMPLE_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
# define PHP_PIMPLE_API __attribute__ ((visibility("default")))
#else
# define PHP_PIMPLE_API
#endif
#ifdef ZTS
#include "TSRM.h"
#endif
#define PIMPLE_VERSION "3.2.3-DEV"
#define PIMPLE_NS "Pimple"
#define PSR_CONTAINER_NS "Psr\\Container"
#define PIMPLE_EXCEPTION_NS "Pimple\\Exception"
#define PIMPLE_DEFAULT_ZVAL_CACHE_NUM 5
#define PIMPLE_DEFAULT_ZVAL_VALUES_NUM 10
#define PIMPLE_DEPRECATE do { \
int er = EG(error_reporting); \
EG(error_reporting) = 0;\
php_error(E_DEPRECATED, "The Pimple C extension is deprecated since version 3.1 and will be removed in 4.0."); \
EG(error_reporting) = er; \
} while (0);
zend_module_entry *get_module(void);
PHP_MINIT_FUNCTION(pimple);
PHP_MINFO_FUNCTION(pimple);
PHP_METHOD(FrozenServiceException, __construct);
PHP_METHOD(InvalidServiceIdentifierException, __construct);
PHP_METHOD(UnknownIdentifierException, __construct);
PHP_METHOD(Pimple, __construct);
PHP_METHOD(Pimple, factory);
PHP_METHOD(Pimple, protect);
PHP_METHOD(Pimple, raw);
PHP_METHOD(Pimple, extend);
PHP_METHOD(Pimple, keys);
PHP_METHOD(Pimple, register);
PHP_METHOD(Pimple, offsetSet);
PHP_METHOD(Pimple, offsetUnset);
PHP_METHOD(Pimple, offsetGet);
PHP_METHOD(Pimple, offsetExists);
PHP_METHOD(PimpleClosure, invoker);
typedef struct _pimple_bucket_value {
zval *value; /* Must be the first element */
zval *raw;
zend_object_handle handle_num;
enum {
PIMPLE_IS_PARAM = 0,
PIMPLE_IS_SERVICE = 2
} type;
zend_bool initialized;
zend_fcall_info_cache fcc;
} pimple_bucket_value;
typedef struct _pimple_object {
zend_object zobj;
HashTable values;
HashTable factories;
HashTable protected;
} pimple_object;
typedef struct _pimple_closure_object {
zend_object zobj;
zval *callable;
zval *factory;
} pimple_closure_object;
static const char sensiolabs_logo[] = "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAAUCAMAAABvRTlyAAAAz1BMVEUAAAAAAAAAAAAsThWB5j4AAACD6T8AAACC6D+C6D6C6D+C6D4AAAAAAACC6D4AAAAAAACC6D8AAAAAAAAAAAAAAAAAAAAAAACC6D4AAAAAAAAAAACC6D4AAAAAAAAAAAAAAAAAAAAAAACC6D8AAACC6D4AAAAAAAAAAAAAAAAAAACC6D8AAACC6D6C6D+B6D+C6D+C6D+C6D8AAACC6D6C6D4AAACC6D/K/2KC6D+B6D6C6D6C6D+C6D8sTxUyWRhEeiEAAACC6D+C5z6B6D7drnEVAAAAQXRSTlMAE3oCNSUuDHFHzxaF9UFsu+irX+zlKzYimaJXktyOSFD6BolxqT7QGMMdarMIpuO28r9EolXKgR16OphfXYd4V14GtB4AAAMpSURBVEjHvVSJctowEF1jjME2RziMwUCoMfd9heZqG4n//6buLpJjkmYm03byZmxJa2nf6u2uQcG2bfhqRN4LoTKBzyGDm68M7mAwcOEdjo4zhA/Rf9Go/CVtTgiRhXfIC3EDH8F/eUX1/9KexRo+QgOdtHDsEe/sM7QT32/+K61Z1LFXcXJxN4pTbu1aTQUzuy2PIA0rDo0/0Aa5XFaJvKaVTrubywXvaa1Wq4Vu/Snr3Y7Aojh4VccwykW2N2oQ8wmjyut6+Q1t5ywIG5Npj1sh5E0B7YOzFDjfuRfaOh3O+MbbVNfTWS9COZk3Obd2su5d0a6IU9KLREbw8gEehWSr1r2sPWciXLG38r5NdW0xu9eioU87omjC9yNaMi5GNf6WppVSOqXCFkmCvMB3p9SROLoYQn5pDgQOujA1xjYvqH+plUdkwnmII8VxR/PKYkrfLLomhVlE3b/LhNbNr7hp0H2JaOc4v8dFB58HSsFTSafaqtY1sT3GO8wsy5rhokYPlRJdjPMajyYqTt1EHF/2uqSWQWmAjCUSmQ1MS3g8Btf1XOsy7YIC0CB1b5Xw1Vhba0zbxiCAQLH9TNPmHJXQUtJAN0KcDsoqLxsNvJrJExa7mKIdp2lRE2WexiS4pqWk/0jROlw6K6bV9YOBDGAuqMJ0bnuUKGB0L27bxgRhGEbzihbhxxXaQC88Vkwq8ldCi86RApWUb0Q+4VDosBCc+1s81lUdnBavH4Zp2mm3O44USwOfvSo9oBiwpFg71lMS1VKJLKljS3j9p+fOTvXXlsSNuEv6YPaZda9uRope0VJfKdo7fPiYfSmvFjXQbkhY0d9hCbBWIktRgEDieDhf1N3wbbkmNNgRy8hyl620yGQat/grV3HMpc2HDKTVmOPFz6ylPCKt/nXcAyV260jaAowwIW0YuBzrOgb/KrddZS9OmJaLgpWK4JX2DDuklcLZSDGcn8Vmx9YDNvT6UsjyBApRyFQVX7Vxm9TGxE16nmfRd8/zQoDmggQOTRh5Hv8pMt9Q/L2JmSwkMCE7dA4BuDjHJwfu0Om4QAhOjrN5XkIatglfiN/bUPdCQFjTYgAAAABJRU5ErkJggg==\">";
static void pimple_exception_call_parent_constructor(zval *this_ptr, const char *format, const char *arg1 TSRMLS_DC);
static int pimple_zval_to_pimpleval(zval *_zval, pimple_bucket_value *_pimple_bucket_value TSRMLS_DC);
static int pimple_zval_is_valid_callback(zval *_zval, pimple_bucket_value *_pimple_bucket_value TSRMLS_DC);
static void pimple_bucket_dtor(pimple_bucket_value *bucket);
static void pimple_free_bucket(pimple_bucket_value *bucket);
static zval *pimple_object_read_dimension(zval *object, zval *offset, int type TSRMLS_DC);
static void pimple_object_write_dimension(zval *object, zval *offset, zval *value TSRMLS_DC);
static int pimple_object_has_dimension(zval *object, zval *offset, int check_empty TSRMLS_DC);
static void pimple_object_unset_dimension(zval *object, zval *offset TSRMLS_DC);
static zend_object_value pimple_object_create(zend_class_entry *ce TSRMLS_DC);
static void pimple_free_object_storage(pimple_object *obj TSRMLS_DC);
static void pimple_closure_free_object_storage(pimple_closure_object *obj TSRMLS_DC);
static zend_object_value pimple_closure_object_create(zend_class_entry *ce TSRMLS_DC);
static zend_function *pimple_closure_get_constructor(zval * TSRMLS_DC);
static int pimple_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, union _zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC);
#ifdef ZTS
#define PIMPLE_G(v) TSRMG(pimple_globals_id, zend_pimple_globals *, v)
#else
#define PIMPLE_G(v) (pimple_globals.v)
#endif
#endif /* PHP_PIMPLE_H */

File diff suppressed because it is too large Load Diff

View File

@ -1,81 +0,0 @@
/*
* This file is part of Pimple.
*
* Copyright (c) 2014 Fabien Potencier
*
* 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.
*/
#ifndef PIMPLE_COMPAT_H_
#define PIMPLE_COMPAT_H_
#include "Zend/zend_extensions.h" /* for ZEND_EXTENSION_API_NO */
#define PHP_5_0_X_API_NO 220040412
#define PHP_5_1_X_API_NO 220051025
#define PHP_5_2_X_API_NO 220060519
#define PHP_5_3_X_API_NO 220090626
#define PHP_5_4_X_API_NO 220100525
#define PHP_5_5_X_API_NO 220121212
#define PHP_5_6_X_API_NO 220131226
#define IS_PHP_56 ZEND_EXTENSION_API_NO == PHP_5_6_X_API_NO
#define IS_AT_LEAST_PHP_56 ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO
#define IS_PHP_55 ZEND_EXTENSION_API_NO == PHP_5_5_X_API_NO
#define IS_AT_LEAST_PHP_55 ZEND_EXTENSION_API_NO >= PHP_5_5_X_API_NO
#define IS_PHP_54 ZEND_EXTENSION_API_NO == PHP_5_4_X_API_NO
#define IS_AT_LEAST_PHP_54 ZEND_EXTENSION_API_NO >= PHP_5_4_X_API_NO
#define IS_PHP_53 ZEND_EXTENSION_API_NO == PHP_5_3_X_API_NO
#define IS_AT_LEAST_PHP_53 ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO
#if IS_PHP_53
#define object_properties_init(obj, ce) do { \
zend_hash_copy(obj->properties, &ce->default_properties, zval_copy_property_ctor(ce), NULL, sizeof(zval *)); \
} while (0);
#endif
#define ZEND_OBJ_INIT(obj, ce) do { \
zend_object_std_init(obj, ce TSRMLS_CC); \
object_properties_init((obj), (ce)); \
} while(0);
#if IS_PHP_53 || IS_PHP_54
static void zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos) {
Bucket *p;
p = pos ? (*pos) : ht->pInternalPointer;
if (!p) {
Z_TYPE_P(key) = IS_NULL;
} else if (p->nKeyLength) {
Z_TYPE_P(key) = IS_STRING;
Z_STRVAL_P(key) = estrndup(p->arKey, p->nKeyLength - 1);
Z_STRLEN_P(key) = p->nKeyLength - 1;
} else {
Z_TYPE_P(key) = IS_LONG;
Z_LVAL_P(key) = p->h;
}
}
#endif
#endif /* PIMPLE_COMPAT_H_ */

View File

@ -1,45 +0,0 @@
--TEST--
Test for read_dim/write_dim handlers
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[42] = 'foo';
$p['foo'] = 42;
echo $p[42];
echo "\n";
echo $p['foo'];
echo "\n";
try {
var_dump($p['nonexistant']);
echo "Exception excpected";
} catch (InvalidArgumentException $e) { }
$p[54.2] = 'foo2';
echo $p[54];
echo "\n";
$p[242.99] = 'foo99';
echo $p[242];
echo "\n";
$p[5] = 'bar';
$p[5] = 'baz';
echo $p[5];
echo "\n";
$p['str'] = 'str';
$p['str'] = 'strstr';
echo $p['str'];
?>
--EXPECTF--
foo
42
foo2
foo99
baz
strstr

View File

@ -1,15 +0,0 @@
--TEST--
Test for constructor
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
var_dump($p[42]);
$p = new Pimple\Container(array(42=>'foo'));
var_dump($p[42]);
?>
--EXPECT--
NULL
string(3) "foo"

View File

@ -1,16 +0,0 @@
--TEST--
Test empty dimensions
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[] = 42;
var_dump($p[0]);
$p[41] = 'foo';
$p[] = 'bar';
var_dump($p[42]);
?>
--EXPECT--
int(42)
string(3) "bar"

View File

@ -1,30 +0,0 @@
--TEST--
Test has/unset dim handlers
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[] = 42;
var_dump($p[0]);
unset($p[0]);
var_dump($p[0]);
$p['foo'] = 'bar';
var_dump(isset($p['foo']));
unset($p['foo']);
try {
var_dump($p['foo']);
echo "Excpected exception";
} catch (InvalidArgumentException $e) { }
var_dump(isset($p['bar']));
$p['bar'] = NULL;
var_dump(isset($p['bar']));
var_dump(empty($p['bar']));
?>
--EXPECT--
int(42)
NULL
bool(true)
bool(false)
bool(true)
bool(true)

View File

@ -1,27 +0,0 @@
--TEST--
Test simple class inheritance
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
class MyPimple extends Pimple\Container
{
public $someAttr = 'fooAttr';
public function offsetget($o)
{
var_dump("hit");
return parent::offsetget($o);
}
}
$p = new MyPimple;
$p[42] = 'foo';
echo $p[42];
echo "\n";
echo $p->someAttr;
?>
--EXPECT--
string(3) "hit"
foo
fooAttr

View File

@ -1,51 +0,0 @@
--TEST--
Test complex class inheritance
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
class MyPimple extends Pimple\Container
{
public function offsetget($o)
{
var_dump("hit offsetget in " . __CLASS__);
return parent::offsetget($o);
}
}
class TestPimple extends MyPimple
{
public function __construct($values)
{
array_shift($values);
parent::__construct($values);
}
public function offsetget($o)
{
var_dump('hit offsetget in ' . __CLASS__);
return parent::offsetget($o);
}
public function offsetset($o, $v)
{
var_dump('hit offsetset');
return parent::offsetset($o, $v);
}
}
$defaultValues = array('foo' => 'bar', 88 => 'baz');
$p = new TestPimple($defaultValues);
$p[42] = 'foo';
var_dump($p[42]);
var_dump($p[0]);
?>
--EXPECT--
string(13) "hit offsetset"
string(27) "hit offsetget in TestPimple"
string(25) "hit offsetget in MyPimple"
string(3) "foo"
string(27) "hit offsetget in TestPimple"
string(25) "hit offsetget in MyPimple"
string(3) "baz"

View File

@ -1,22 +0,0 @@
--TEST--
Test for read_dim/write_dim handlers
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[42] = 'foo';
$p['foo'] = 42;
echo $p[42];
echo "\n";
echo $p['foo'];
echo "\n";
try {
var_dump($p['nonexistant']);
echo "Exception excpected";
} catch (InvalidArgumentException $e) { }
?>
--EXPECTF--
foo
42

View File

@ -1,29 +0,0 @@
--TEST--
Test frozen services
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[42] = 'foo';
$p[42] = 'bar';
$p['foo'] = function () { };
$p['foo'] = function () { };
$a = $p['foo'];
try {
$p['foo'] = function () { };
echo "Exception excpected";
} catch (RuntimeException $e) { }
$p[42] = function() { };
$a = $p[42];
try {
$p[42] = function () { };
echo "Exception excpected";
} catch (RuntimeException $e) { }
?>
--EXPECTF--

View File

@ -1,13 +0,0 @@
--TEST--
Test service is called as callback, and only once
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p['foo'] = function($arg) use ($p) { var_dump($p === $arg); };
$a = $p['foo'];
$b = $p['foo']; /* should return not calling the callback */
?>
--EXPECTF--
bool(true)

View File

@ -1,45 +0,0 @@
--TEST--
Test service is called as callback for every callback type
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
function callme()
{
return 'called';
}
$a = function() { return 'called'; };
class Foo
{
public static function bar()
{
return 'called';
}
}
$p = new Pimple\Container();
$p['foo'] = 'callme';
echo $p['foo'] . "\n";
$p['bar'] = $a;
echo $p['bar'] . "\n";
$p['baz'] = "Foo::bar";
echo $p['baz'] . "\n";
$p['foobar'] = array('Foo', 'bar');
var_dump($p['foobar']);
?>
--EXPECTF--
callme
called
Foo::bar
array(2) {
[0]=>
string(3) "Foo"
[1]=>
string(3) "bar"
}

View File

@ -1,19 +0,0 @@
--TEST--
Test service callback throwing an exception
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
class CallBackException extends RuntimeException { }
$p = new Pimple\Container();
$p['foo'] = function () { throw new CallBackException; };
try {
echo $p['foo'] . "\n";
echo "should not come here";
} catch (CallBackException $e) {
echo "all right!";
}
?>
--EXPECTF--
all right!

View File

@ -1,28 +0,0 @@
--TEST--
Test service factory
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p->factory($f = function() { var_dump('called-1'); return 'ret-1';});
$p[] = $f;
$p[] = function () { var_dump('called-2'); return 'ret-2'; };
var_dump($p[0]);
var_dump($p[0]);
var_dump($p[1]);
var_dump($p[1]);
?>
--EXPECTF--
string(8) "called-1"
string(5) "ret-1"
string(8) "called-1"
string(5) "ret-1"
string(8) "called-2"
string(5) "ret-2"
string(5) "ret-2"

View File

@ -1,33 +0,0 @@
--TEST--
Test keys()
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
var_dump($p->keys());
$p['foo'] = 'bar';
$p[] = 'foo';
var_dump($p->keys());
unset($p['foo']);
var_dump($p->keys());
?>
--EXPECTF--
array(0) {
}
array(2) {
[0]=>
string(3) "foo"
[1]=>
int(0)
}
array(1) {
[0]=>
int(0)
}

View File

@ -1,30 +0,0 @@
--TEST--
Test raw()
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$f = function () { var_dump('called-2'); return 'ret-2'; };
$p['foo'] = $f;
$p[42] = $f;
var_dump($p['foo']);
var_dump($p->raw('foo'));
var_dump($p[42]);
unset($p['foo']);
try {
$p->raw('foo');
echo "expected exception";
} catch (InvalidArgumentException $e) { }
--EXPECTF--
string(8) "called-2"
string(5) "ret-2"
object(Closure)#%i (0) {
}
string(8) "called-2"
string(5) "ret-2"

View File

@ -1,17 +0,0 @@
--TEST--
Test protect()
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$f = function () { return 'foo'; };
$p['foo'] = $f;
$p->protect($f);
var_dump($p['foo']);
--EXPECTF--
object(Closure)#%i (0) {
}

View File

@ -1,24 +0,0 @@
--TEST--
Test extend()
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
/*
This is part of Pimple::extend() code :
$extended = function ($c) use ($callable, $factory) {
return $callable($factory($c), $c);
};
*/
$p = new Pimple\Container();
$p[12] = function ($v) { var_dump($v); return 'foo';}; /* $factory in code above */
$c = $p->extend(12, function ($w) { var_dump($w); return 'bar'; }); /* $callable in code above */
var_dump($c('param'));
--EXPECTF--
string(5) "param"
string(3) "foo"
string(3) "bar"

View File

@ -1,17 +0,0 @@
--TEST--
Test extend() with exception in service extension
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[12] = function ($v) { return 'foo';};
$c = $p->extend(12, function ($w) { throw new BadMethodCallException; });
try {
$p[12];
echo "Exception expected";
} catch (BadMethodCallException $e) { }
--EXPECTF--

View File

@ -1,17 +0,0 @@
--TEST--
Test extend() with exception in service factory
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
$p = new Pimple\Container();
$p[12] = function ($v) { throw new BadMethodCallException; };
$c = $p->extend(12, function ($w) { return 'foobar'; });
try {
$p[12];
echo "Exception expected";
} catch (BadMethodCallException $e) { }
--EXPECTF--

View File

@ -1,23 +0,0 @@
--TEST--
Test register()
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
class Foo implements Pimple\ServiceProviderInterface
{
public function register(Pimple\Container $p)
{
var_dump($p);
}
}
$p = new Pimple\Container();
$p->register(new Foo, array(42 => 'bar'));
var_dump($p[42]);
--EXPECTF--
object(Pimple\Container)#1 (0) {
}
string(3) "bar"

View File

@ -1,18 +0,0 @@
--TEST--
Test register() returns static and is a fluent interface
--SKIPIF--
<?php if (!extension_loaded("pimple")) print "skip"; ?>
--FILE--
<?php
class Foo implements Pimple\ServiceProviderInterface
{
public function register(Pimple\Container $p)
{
}
}
$p = new Pimple\Container();
var_dump($p === $p->register(new Foo));
--EXPECTF--
bool(true)

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