Compare commits

...

1953 commits

Author SHA1 Message Date
51c6b5c6cc Merge pull request 'Bluesky: New parameter to set the protocol for a fetched post' (#1576) from heluecht/friendica-addons:bluesky-protocol into 2024.09-rc
Reviewed-on: #1576
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-30 03:13:10 +01:00
176cbcaf3a Bluesky: New option to set the protocol for a fetched post 2024-11-29 17:49:45 +00:00
fecae6564b Merge pull request 'Bluesky: Fetch quoted post for "uid=0"' (#1573) from heluecht/friendica-addons:bluesky-quoted-post into 2024.09-rc
Reviewed-on: #1573
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-26 03:19:34 +01:00
422e4fd48f Bluesky: Fetch quoted post for "uid=0" 2024-11-25 11:47:42 +00:00
6a2c0d974e Merge pull request 'Blockbot: Drupal added' (#1569) from heluecht/friendica-addons:drupal into 2024.09-rc
Reviewed-on: #1569
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-24 04:29:39 +01:00
f52bb75c97 Blockbot: Drupal added 2024-11-20 21:39:09 +00:00
8989e0dab6 Merge pull request 'Bluesky: Improved handling of starter packs' (#1568) from heluecht/friendica-addons:starterpack into 2024.09-rc
Reviewed-on: #1568
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-20 18:40:54 +01:00
7fcbd76c6b Bluesky: Improved handling of starter packs 2024-11-20 07:03:42 +00:00
dc0b79bed1 Merge pull request '[advancedcontentfilter] Remove unused vendor files' (#1567) from MrPetovan/friendica-addons:task/composer into 2024.09-rc
Reviewed-on: #1567
2024-11-17 19:21:43 +01:00
Hypolite Petovan
a0c727ac35 [advancedcontentfilter] Remove unused vendor files
Thanks to @Art4 for the initial submission in https://github.com/friendica/friendica-addons/pull/1363
2024-11-17 19:21:43 +01:00
e133a693c2 Merge pull request '[pumpio] Remove two superfluous parentheses' (#1565) from MrPetovan/friendica-addons:bug/1564-fix into 2024.09-rc
Reviewed-on: #1565
2024-11-17 19:19:23 +01:00
aa5130247b [pumpio] Remove two superfluous parentheses
- Thanks to @SteffenK9 for the report!
2024-11-16 21:19:06 -05:00
aeefb92926 Merge pull request 'Connectors: Fix handling of the 'private' field / reformatted code' (#1564) from heluecht/friendica-addons:private into 2024.09-rc
Reviewed-on: #1564
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-11-16 19:15:37 +01:00
c22e0ae831 Fix handling of the 'private' field / reformatted code 2024-11-16 05:43:35 +00:00
f499875f5b Merge pull request 'Bluesky/Tumblr: Add "connector" parcel to each incoming post' (#1561) from heluecht/friendica-addons:parcel into 2024.09-rc
Reviewed-on: #1561
2024-11-13 10:16:35 +01:00
6a1cbe9040 Bluesky/Tumblr: Add "connector" parcel to each incoming post 2024-11-13 10:16:35 +01:00
6980d3b02b Merge pull request 'deprecate fancybox addon' (#1563) from tobias/friendica-addons:2024.09-rc into 2024.09-rc
Reviewed-on: #1563
2024-11-13 10:11:50 +01:00
e89b5b1466 deprecate fancybox addon
replaces #1562
2024-11-13 10:10:25 +01:00
5638e7f065 Merge pull request 'Bluesky: Fix probe mistake' (#1560) from heluecht/friendica-addons:bluesky-full-path into 2024.09-rc
Reviewed-on: #1560
2024-10-30 07:33:34 +01:00
4165479079 Bluesky: Fix probe mistake 2024-10-30 05:11:50 +00:00
fca2d609c9 Merge pull request 'Bluesky: Fix following of a contact and adding a post' (#1559) from heluecht/friendica-addons:bluesky-fix-follow into 2024.09-rc
Reviewed-on: #1559
2024-10-27 08:42:34 +01:00
8b694fbb4c Bluesky: Fix following of a contact and adding a post 2024-10-27 04:50:45 +00:00
5a9dafec70 Merge pull request 'Bluesky: "block" now works / label names are now displayed' (#1558) from heluecht/friendica-addons:bluesky-block into 2024.09-rc
Reviewed-on: #1558
2024-10-24 19:09:54 +02:00
586ebe9699 Bluesky: "block" now works / label names are now displayed 2024-10-23 12:14:40 +00:00
10bd219bd1 Merge pull request 'Bluesky: Fixes "E_WARNING: Undefined property: stdClass::$post"' (#1557) from heluecht/friendica-addons:warning into 2024.09-rc
Reviewed-on: #1557
2024-10-20 21:45:55 +02:00
08c17c9dd4 Bluesky: Fixes "E_WARNING: Undefined property: stdClass::$post" 2024-10-19 07:41:24 +00:00
feb7722f72 Merge pull request 'Bluesky: New option to complete threads' (#1556) from heluecht/friendica-addons:bluesky-complete-threads into develop
Reviewed-on: #1556
2024-10-06 15:07:14 +02:00
f8f63532f4 Bluesky: New option to complete threads 2024-10-02 07:54:58 +00:00
ef37aa60e3 Merge pull request 'Bluesky: Preparation for video posts' (#1554) from heluecht/friendica-addons:hls into develop
Reviewed-on: #1554
2024-09-17 07:02:47 +02:00
6f3ba10466 Bluesky: Preparation for video posts 2024-09-17 07:02:47 +02:00
778b9e3f61 Merge pull request 'More and updated icons for the smiley pack' (#1555) from heluecht/friendica-addons:loma-patch into develop
Reviewed-on: #1555
2024-09-17 07:02:03 +02:00
10521115c4 More and updated icons for the smiley pack 2024-09-16 21:20:11 +00:00
956233ff1d Merge pull request 'Bluesky: Fix for the handling of invalid profiles' (#1553) from heluecht/friendica-addons:bluesky-fix into develop
Reviewed-on: #1553
2024-09-11 19:42:59 +02:00
14e1c96775 Bluesky: Fix for the handling of invalid profiles 2024-09-10 10:26:05 +00:00
7a7dbb579d Merge pull request 'invidious updated' (#1537) from loma-one/friendica-addons:develop into develop
Reviewed-on: #1537
2024-09-08 08:50:39 +02:00
712edf4236 invidious/invidious.php aktualisiert
Further addresses have been added, which are now redirected.
2024-09-08 08:50:39 +02:00
5c0cddfc1d Merge pull request 'unicode_smilies updated' (#1536) from loma-one/friendica-addons:loma-one-patch-1 into develop
Reviewed-on: #1536
2024-09-08 08:50:12 +02:00
3dc77b2102 unicode_smilies/unicode_smilies.php aktualisiert
Addition of the unicode character ‘asterism’ & ‘outlines white star’
2024-09-07 21:04:43 +02:00
6c43a14198 Merge pull request '"fetchFull" is replaced by "get"' (#1535) from heluecht/friendica-addons:fetchfull into develop
Reviewed-on: #1535
2024-09-06 07:22:58 +02:00
0dfb345f85 "fetchFull" is replaced by "get" 2024-09-06 07:22:58 +02:00
ab837dfec5 Merge pull request 'Bluesky: probing for bluesky handles' (#1534) from heluecht/friendica-addons:bluesky-handle into develop
Reviewed-on: #1534
2024-09-06 07:20:55 +02:00
2f9076bffd Bluesky: probing for bluesky handles 2024-09-04 04:02:30 +00:00
454e9834bf Merge pull request 'Bluesky: Improve DID detection for custom PDS' (#1533) from heluecht/friendica-addons:bluesky-pds into develop
Reviewed-on: #1533
2024-09-02 06:32:54 +02:00
50930c301d Bluesky: Improve DID detection for custom PDS 2024-09-02 06:32:54 +02:00
3457ab2f3f Merge pull request 'Add safe.directory config' (#1532) from nupplaPhil/friendica-addons:bug/ci into develop
Reviewed-on: #1532
2024-08-23 20:24:16 +02:00
276c27678f
[CI] Add safe.directory config 2024-08-20 18:07:51 +02:00
cd95ca1a0a Merge branch 'stable' into develop 2024-08-17 16:55:10 +02:00
5c04e7136f Merge branch '2024.06-rc' into stable 2024-08-17 16:54:44 +02:00
179382d8a9 Merge pull request 'updated translations' (#1531) from tobias/friendica-addons:20240815-lng into 2024.06-rc
Reviewed-on: #1531
2024-08-15 07:55:36 +02:00
a55f80cb39 updated translations 2024-08-15 07:55:36 +02:00
4ad7d61893 Merge pull request 'Bluesky/Tumblr: Improved statistics' (#1530) from heluecht/friendica-addons:stats2 into 2024.06-rc
Reviewed-on: #1530
2024-08-14 08:09:37 +02:00
4bfdb45e81 Bluesky/Tumblr: Improved statistics 2024-08-12 20:24:09 +00:00
4414471100 Merge pull request 'Ratioed: add help text' (#1528) from mexon/friendica-addons:mat/ratioed-help into develop
Reviewed-on: #1528
2024-08-09 13:58:48 +02:00
Matthew Exon
46a55f13f7 Ratioed: add help text 2024-08-09 13:58:48 +02:00
a97cccb6b2 Merge pull request 'Statistics: inbound / outbound for Tumblr and Bluesky' (#1529) from heluecht/friendica-addons:stats into 2024.06-rc
Reviewed-on: #1529
2024-08-09 13:55:51 +02:00
c0535db742 Statistics: inbound / outbound for Tumblr and Bluesky 2024-08-09 13:55:51 +02:00
0c04b086cb Merge pull request 'Remove old version conversion code' (#1526) from mexon/friendica-addons:mat/remove-conversion into develop
Reviewed-on: #1526
2024-07-29 19:17:39 +02:00
Matthew Exon
589cf712cc Remove old version conversion code 2024-07-20 13:00:07 +02:00
ce53e48cb2 Merge pull request 'More comprehensible check for root user contact' (#1525) from mexon/friendica-addons:mat/mailstream-clarify-log into develop
Reviewed-on: #1525
2024-07-20 11:57:32 +02:00
Matthew Exon
f3db763c59 More comprehensible check for root user contact 2024-07-14 18:50:56 +02:00
4e5998c73d Merge pull request 'Mailstream: streamline log lines' (#1522) from mexon/friendica-addons:mat/mailstream-log into develop
Reviewed-on: #1522
2024-07-14 18:10:10 +02:00
Matthew Exon
5f27f72b0d Streamline log lines 2024-07-01 19:12:10 +02:00
b0a95ca2d2 Merge pull request 'fix for curweather' (#1521) from haheute/friendica-addons:fix-curweather into 2024.06-rc
Reviewed-on: #1521
2024-06-28 18:27:26 +02:00
b2108c7a4c fix for curweather 2024-06-27 11:44:15 +02:00
abca07b29d Merge pull request 'Add Relatica to blockbot fediverse client list' (#1520) from hankg/friendica-addons:2024.06-rc into 2024.06-rc
Reviewed-on: #1520
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-06-25 01:07:09 +02:00
14e7413eb2 Add Relatica to blockbot fediverse client list 2024-06-24 22:20:35 +02:00
d3dcd5428c Merge pull request 'mat/ratioed-plugin-2' (#1519) from mexon/friendica-addons:mat/ratioed-plugin-2 into develop
Reviewed-on: #1519
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-06-23 21:25:47 +02:00
Matthew Exon
18e512cc8b Ratioed: move panel class into separate file 2024-06-23 15:43:05 +02:00
Matthew Exon
7d5446a778 Ratioed: remove unnecessary uninstall function 2024-06-23 15:15:06 +02:00
38ea90104d Merge pull request 'New addon providing additional statistics for moderation' (#1518) from mexon/friendica-addons:mat/ratioed-plugin into develop
Reviewed-on: #1518
2024-06-23 14:13:34 +02:00
Matthew Exon
08b46e5536 New addon providing additional statistics for moderation 2024-06-22 18:56:32 +02:00
39567cf701 Merge pull request 'translation updates' (#1517) from tobias/friendica-addons:20240621-lng into 2024.06-rc
Reviewed-on: #1517
2024-06-22 03:40:13 +02:00
2789e880dc translation updates
AR, CS, DE, IT, PL, SV for various addons
2024-06-21 20:38:42 +02:00
1556ebfb33 Merge pull request 'Leave failed image URLs in place' (#1516) from mexon/friendica-addons:mat/mailstream-fetch-failure into 2024.06-rc
Reviewed-on: #1516
2024-06-17 06:54:06 +02:00
Matthew Exon
3e1b98d5d9 Leave failed image URLs in place 2024-06-17 06:54:06 +02:00
ed07c987a6 Merge pull request 'JS Uploader: "jpg" added to the list of allowed file extensions' (#1515) from heluecht/friendica-addons:jsupload into 2024.06-rc
Reviewed-on: #1515
2024-06-16 16:47:11 +02:00
af868f45ab JS Uploader: "jpg" added to the list of allowed file extensions 2024-06-16 14:35:19 +00:00
7f0cf2527c Merge pull request 'Tumblr: Add link for quoted post' (#1514) from heluecht/friendica-addons:tumblr-quoted into 2024.06-rc
Reviewed-on: #1514
2024-06-16 09:37:58 +02:00
9525259fc8 Tumblr: Add link for quoted post 2024-06-15 13:51:47 +00:00
f7ca152754 Merge pull request 'Bluesky: Handle API error when fetching feeds' (#1513) from heluecht/friendica-addons:bluesky into 2024.06-rc
Reviewed-on: #1513
2024-06-13 07:19:43 +02:00
6f56932f12 Bluesky: Handle API error when fetching feeds 2024-06-13 04:32:00 +00:00
b6f2e7dd50 Merge pull request 'Bluesky: more logging added' (#1512) from heluecht/friendica-addons:bluesky-logging into 2024.06-rc
Reviewed-on: #1512
2024-06-10 08:00:39 +02:00
fa16adccaf Bluesky: more logging added 2024-06-10 05:43:35 +00:00
252f3e222a Merge pull request 'Bluesky: Fix overwritten handle when "friendica handles" is selected' (#1511) from heluecht/friendica-addons:blockbot-fixes into 2024.06-rc
Reviewed-on: #1511
2024-06-10 06:59:58 +02:00
231d830db0 Bluesky: Fix overwritten handle when "friendica handles" is selected 2024-06-09 20:41:18 +00:00
27e362213f Merge pull request 'Blockbot: Logging of AP actors' (#1510) from heluecht/friendica-addons:ap-actor-logging into 2024.06-rc
Reviewed-on: #1510
2024-06-07 07:00:33 +02:00
734d35d22b Blockbot: Logging of AP actors 2024-06-07 04:19:53 +00:00
722fdc07fb Merge pull request 'Bluesky: Fix error on restricted posts / improve performance' (#1509) from heluecht/friendica-addons:bluesky-fix into 2024.06-rc
Reviewed-on: #1509
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-06-06 16:29:24 +02:00
77c471ab4d Bluesky: Fix error on restricted posts / improve performance 2024-06-06 16:29:24 +02:00
bac665864e Merge pull request 'FR translation updates - nsfw, securemail, tumblr' (#1508) from tobias/friendica-addons:20240603-fr into 2024.06-rc
Reviewed-on: #1508
2024-06-05 05:43:24 +02:00
c7f4d183b1 FR translation updates - nsfw, securemail, tumblr 2024-06-03 08:13:08 +02:00
7f073ec520 Merge pull request '"zrl" functionility is moved' (#1507) from heluecht/friendica-addons:openwebauth into develop
Reviewed-on: #1507
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-29 15:12:10 +02:00
39247ca28f Function renamed 2024-05-29 06:07:48 +00:00
084a2a7057 "zrl" functionility is moved 2024-05-27 04:45:17 +00:00
c8fab935ee Merge pull request 'Upload: Fix available file extension check' (#1506) from heluecht/friendica-addons:upload into develop
Reviewed-on: #1506
2024-05-20 12:09:56 +02:00
9ae8925069 Upload: Fix available file extension check 2024-05-19 18:08:19 +00:00
0eff72fa03 Merge pull request 'Tumblr: "isLocalLink" is now "isLocalUrl" / Bluesky: Fix for an empty uri' (#1505) from heluecht/friendica-addons:unparseurl into develop
Reviewed-on: #1505
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-16 15:12:26 +02:00
2306261ab2 Tumblr: "isLocalLink" is now "isLocalUrl" / Bluesky: Fix for an empty uri 2024-05-16 12:24:34 +00:00
26eea26f95 Merge pull request 'Bluesky: fix unneeded check for user PDS' (#1504) from heluecht/friendica-addons:bluesky-notification into develop
Reviewed-on: #1504
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-12 03:11:39 +02:00
e7dd7111ac Bluesky: fix unneeded check for user PDS 2024-05-12 00:56:06 +00:00
60f5d14b8e Merge pull request 'Blockbot: More agents added' (#1503) from heluecht/friendica-addons:blockbot-again into develop
Reviewed-on: #1503
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-05-12 01:59:27 +02:00
c7a6ecb346 Blockbot: More agents added 2024-05-10 09:33:36 +00:00
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
67b464cc47 Blockbot: Reworked user agent parsing 2024-05-04 01:23:32 +00:00
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
85d254f2f8 Bluesky: Fix error for missing handles 2024-05-04 03:06:27 +02:00
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
6c76139ce1 Bluesky: Fixes "bluesky_get_did(): Argument #1 ($handle) must be of type string, null given" 2024-05-03 02:58:45 +00:00
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
b9d0cece0a Bluesky: Improved fetching of the user DID 2024-04-28 10:36:47 +00:00
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
dc7a8adf29 Issue 13812: Public groups with manual request approval 2024-04-16 07:59:08 +02:00
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
9c6a86ffaa Proxify functionality is removed 2024-04-16 05:05:53 +00:00
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
3bf547ee6e invidious/invidious.php aktualisiert
Note taken from @MrPetovan
2024-04-15 01:12:06 -04:00
9627e95b19 invidious/invidious.php aktualisiert
Now intercepts YouTube links without a leading "www".
2024-04-15 01:08:29 -04:00
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
340f5e627c Bluesky: Added support for sensitive posts 2024-03-23 21:05:54 +00:00
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
3bdbcd3b02
[Hotfix] Fix REPO_URL for woodpecker 2024-03-22 16:23:20 +01:00
010261c1dc Merge pull request '[Hotfix] Fix REPO_URL for woodpecker' (#1490) from nupplaPhil/friendica-addons:bug/repo_link into stable
Reviewed-on: #1490
Reviewed-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-22 16:03:06 +01:00
3f26f9785e
[Hotfix] Fix REPO_URL for woodpecker 2024-03-22 15:53:47 +01:00
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
04ce1fd2b4 Bluesky: Support Restrictions / Updated Friendica handle description 2024-03-22 05:32:17 +00:00
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
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
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
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
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
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
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
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
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
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
872a438dcf [nitter] Drop support for the addon
- Please use the URL replace addon instead
2024-03-19 17:57:40 +01:00
da8681c8c4 [invidious] Drop support for the addon
- Please use the URL replace addon instead
2024-03-19 17:57:40 +01:00
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
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
4a14bc47ee Blockbot: More agents added 2024-03-16 09:06:25 +01:00
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
e1f27d88b7
Fixup :) 2024-03-15 23:15:42 +01:00
57c4735ad6
Use PHP 8.2 for other pipelines 2024-03-15 23:08:52 +01:00
372a850103
Use PHP 8.2 for codecoverage 2024-03-15 23:06:13 +01:00
7e890124a8
Update PHP 8.1 and PHP 8.2 CI image 2024-03-15 23:03:44 +01:00
904bf11e54
[CI] Add PHP 8.3 2024-03-15 22:55:48 +01:00
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
02a6fdd9a2 Blockbot: More agents added 2024-03-14 05:19:54 +00:00
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
d5dfa8028c Bluesky: fix the fetching of media in quoted posts 2024-03-10 15:02:28 +01:00
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
0fc8285f87 Tumblr: Handle quote shares 2024-03-10 15:01:33 +01:00
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
ef7548f5bc Blockbot: New user agents added 2024-03-10 06:46:41 +00:00
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
6a9287dc6f [url_replace] Add support for empty config value 2024-03-07 07:22:41 -05:00
eeb783d71d [url_replace] Normalize formatting 2024-03-07 07:21:56 -05:00
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
09ae5cfaff More agents added 2024-03-06 08:38:32 +01:00
0751b2ac16 Blockbot: HTTP library section added 2024-03-06 08:38:32 +01:00
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
a05e429470 Blockbot: Misskey-Crawler added 2024-03-04 15:27:44 +00:00
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
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
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
b6d706822a Blockbot: You can now allow social media agents 2024-03-04 05:37:04 +00:00
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
90ec1bc838 Newlines added 2024-03-03 18:29:34 +01:00
dcafad573e Pnut: Client Id/Secret can be set by admins 2024-03-03 18:29:34 +01:00
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
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
2ee78d2f0b Bluesky: Handle media links and shared posts 2024-03-02 13:32:11 +00:00
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
5f7233fd20 Bluesky: Enabled support for Friendica handles 2024-03-01 07:45:35 +01:00
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
7580054394 Bluesky: fix problems with links and hashtags 2024-03-01 05:53:42 +00:00
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
346e22c5f5 Tumblr: Fixed token exchange 2024-02-27 01:34:22 +01:00
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
6d578d1495 Changed post reason 2024-02-27 01:33:44 +01:00
bcef83e148 Set post reasons 2024-02-27 01:33:44 +01:00
2b5f8e9c82 Fix coding standards 2024-02-27 01:33:44 +01:00
e4bb463b5b Bluesky: Several improvements and fixes 2024-02-27 01:33:44 +01:00
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
9208fd46a4 Pnut: add connector for pnut.io 2024-02-20 17:53:21 -08:00
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
f678468d42 Bluesky/Twitter: New parameter added for rhe picture creation 2024-02-16 02:29:12 +00:00
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
84fc5ba922 Markdown: Avoid problems with [*] BBCode element 2024-02-11 04:17:28 +01:00
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
c9f985d842 remove .php from openstreetmap server in config to fix created links 2024-02-02 14:08:06 +01:00
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
8b35c9fddb Tesseract: Improved detection 2024-01-22 19:14:54 +01:00
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
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
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
c28af61873 Twitter: Fix error after posting 2024-01-21 21:24:08 +00:00
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
07a7a87c37 README.md created 2024-01-15 23:58:41 +01:00
4dd903b473 New addon "tesseract" for OCR 2024-01-15 23:58:41 +01:00
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
13fd713b66 [various] Rename ICanHandleHttpResponses->getBody to getBodyString
- Depends on https://github.com/friendica/friendica/pull/13826
2024-01-12 01:16:01 -05:00
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
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
a26e90b202 Initial commit of url_replace addon.
This closes https://github.com/friendica/friendica/issues/13220
2024-01-05 00:21:39 +01:00
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
96c70489f5 Tumblr/Bluesky: Avoid problems on first fetch 2023-12-21 05:23:38 +00:00
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
96a354bc65 Bluesky/Tumblr: Set "received" to "created" if fetched after previous poll 2023-12-20 20:46:24 +00:00
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
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
9daa11eb10 [woodpecker] Remove PHP 7.3 PHPUnit instance
- Friendica now supports at least PHP 7.4
2023-12-18 21:27:36 -05:00
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
cabdd924d0 Fix white spaces 2023-12-18 17:51:34 +00:00
8ba44cf5c6 Invidious: The addon is now user definable 2023-12-18 17:47:19 +00:00
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
3a063f999d translation updates 2023-12-16 08:59:07 +01:00
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
a41a676bfb Tumblr: Improved error handling whe fetching blog information 2023-12-11 14:21:12 +01:00
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
d53ad98af2 invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
372e75a91c invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
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
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
90d897f4fa This addon will replace "youtube.com" with the chosen Invidious instance
URL combine
2023-12-08 20:50:22 +01:00
668ea972cc invidious/invidious.php aktualisiert 2023-12-08 20:50:22 +01:00
dc2d00b6c6 invidious/lang/C/messages.po aktualisiert 2023-12-08 20:50:22 +01:00
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
c98caaf417 Dateien nach "invidious" hochladen 2023-12-08 20:50:22 +01:00
f46980c736 Dateien nach "invidious/lang/C" hochladen 2023-12-08 20:50:22 +01:00
ebf5ff1276 Dateien nach "invidious/templates" hochladen 2023-12-08 20:50:22 +01:00
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
46fdcc1c0e invidious gelöscht 2023-12-08 20:50:22 +01:00
eadbcc069f invidious hinzugefügt 2023-12-08 20:50:22 +01:00
2c2a813324 [pageheader] Improve visibility
Removed commented out code from your pull request
2023-12-08 20:50:22 +01:00
9315b185e8 pageheader/pageheader.css aktualisiert 2023-12-08 20:50:22 +01:00
d685663ac0 Coloured box added 2023-12-08 20:50:22 +01:00
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
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
50d8d44489 Bluesky: remove @ and spaces from the handle 2023-12-07 12:03:53 +00:00
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
397282cbb3 Bluesky: Improved on the connector page 2023-12-06 06:31:52 +00:00
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
22bf23b833 Bluesky: Fix adding a new account 2023-12-04 20:29:31 +00:00
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
14fd900628 Store hash tags 2023-11-25 22:00:45 +00:00
48cde643f6 Improved logging message 2023-11-25 19:02:10 +00:00
e62f6a9586 Bluesky: Provide the correct user id while fetching content 2023-11-25 18:57:03 +00:00
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
9595760800 Bluesky: Tags are now supported 2023-11-20 21:07:09 +00:00
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
00e30b5c2b Bluesky: Support personal data servers 2023-11-19 18:55:05 +00:00
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
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
66fdd31915 Bluesky: Support for transmitted languages 2023-11-11 05:30:07 +00:00
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
2a782b512e CLD2: Use ISO-639-1 for the language detection 2023-11-02 22:54:19 +00:00
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
77765ff6ed Bluesky: Fix warnings 2023-10-29 16:11:19 +01:00
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
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
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
6948a15f1c Langfilter: Use two letter code for the language / Bluesky: Remove callstack 2023-10-18 22:30:52 +02:00
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
9bdaa8092e
Upgrade phpunit version in PHP-CI 2023-10-12 21:33:03 +02:00
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
73c6a0ff0c CLD: Keep the original detected language array 2023-10-11 18:57:04 +00:00
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
92251f4a6c Updated CLD installation description 2023-10-07 07:07:00 +02:00
18266ea6ef Changed hook parameter / more languages added 2023-10-07 07:07:00 +02:00
80ce855189 Renamed hook 2023-10-07 07:07:00 +02:00
0eda161e04 Cleaned up code 2023-10-07 07:07:00 +02:00
981e6821d0 CLD: New plugin for language detection via CLD2 2023-10-07 07:07:00 +02:00
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
7a8f8fcbd2
[CI/CD] Kick CI again 2023-10-05 21:58:35 +02:00
30b9f73f5e
[CI/CD] Kick CI again 2023-10-05 21:57:17 +02:00
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
16d99dbdfc Bluesky: Fix some issues when fetching posts 2023-10-01 04:37:11 +00:00
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
af31a988aa Tumblr/Bluesky: Store the subscribed feed/tag 2023-08-28 16:42:23 +02:00
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
c89abdb74c [bluesky] Fix double dollar sign in bluesky_fetch_notifications 2023-08-22 09:01:12 -04:00
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
94a4c93368 audon/lang/C/messages.po aktualisiert 2023-08-18 18:41:32 +02:00
dfbf8d4acf audon/lang/C/messages.po hinzugefügt 2023-08-18 18:41:32 +02:00
983d334ef5 audon/C/messages.po gelöscht 2023-08-18 18:41:32 +02:00
2fa030aa65 audon/C/messages.po aktualisiert 2023-08-18 18:41:32 +02:00
7ef59da623 audon/C/messages.po hinzugefügt 2023-08-18 18:41:32 +02:00
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
9786b605b6 audon/lang/C aktualisiert
now :)
2023-08-18 18:41:32 +02:00
a26c2c9758 audon/lang/C aktualisiert 2023-08-18 18:41:32 +02:00
8ef6fafdaa audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
c93e6840fa audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
65d8e467fe audon/templates/admin.tpl aktualisiert 2023-08-18 18:41:32 +02:00
38460a4cff audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
db218ac4f6 audon/audon.php aktualisiert 2023-08-18 18:41:32 +02:00
e391a65695 „audon/audon.php“ ändern 2023-08-18 18:41:32 +02:00
a3dc032a51 „audon/lang/C“ hinzufügen 2023-08-18 18:41:32 +02:00
9035144e5b Dateien hochladen nach „audon/templates“ 2023-08-18 18:41:32 +02:00
4e17f3c9db „audon/admin.tpl“ löschen 2023-08-18 18:41:32 +02:00
630f4ab991 „audon/messages.po“ löschen 2023-08-18 18:41:32 +02:00
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
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
340f3f41d7 Twitter: Fix posting 2023-08-16 14:58:04 -04:00
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
339c88353b Test the connection when API credential changed 2023-08-16 12:27:28 +02:00
a3e24a55ec Last status is split for better readability 2023-08-16 12:27:28 +02:00
3d6748eaf7 Simplified status display 2023-08-16 12:27:28 +02:00
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
8b66b3a194 Nluesky/Twitter: Resize picture before uploading 2023-08-15 20:25:17 +00:00
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
15ea39d830 Reformatted code 2023-08-10 21:36:09 +00:00
21006aec74 Resize picture before uploading 2023-08-10 21:26:10 +00:00
603c8defb1 Avoid upload problems by reducing the picture size 2023-08-10 06:46:17 +00:00
e004e20352 Transmit the media type 2023-08-09 23:13:37 +00:00
c0eac366fe Fix newlines 2023-08-09 20:08:32 +00:00
34f0fa7dc8 License readded 2023-08-09 20:07:29 +00:00
a97b3f690c Twitter: the connector now works as a posting only connector 2023-08-09 20:01:57 +00:00
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
dc55b89e02
Unify "Capability" 2023-07-26 21:44:57 +02:00
d76b6b50c3
Introduce .phpunit 2023-07-26 19:19:07 +02:00
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
bd405ec98a
[monolog] Fix extra line 2023-07-23 23:04:53 +02:00
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
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
e315abc788 Add tests for InstanceManager and remove Decorator hook logic (avoid complex Dice logic) 2023-07-23 13:00:31 +02:00
745f9c1e5f Fix Monolog
- Use new hook-loading
2023-07-23 13:00:31 +02:00
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
3377ef3ba3 Bluesky: Fix "E_WARNING: Undefined property: stdClass::$cid" 2023-07-22 13:38:13 +00:00
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
f4110880a1 Use "convertForUriId" whenever possible 2023-07-16 10:37:33 +00:00
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
cf435277a7 Bluesky: Fix for quoted posts with media 2023-07-09 15:49:48 +02:00
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
d80d376762 Bluesky: don't remove hashtags upon posting 2023-07-08 14:54:56 +00:00
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
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
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
7795a53cb3 New functions to perform XRPC post/get commands 2023-06-13 20:43:51 +00:00
c85b559f69 Remove unicode character 2023-06-12 22:06:31 +00:00
9f0857af1d Bluesky: Tasks are now done by workers 2023-06-11 19:24:44 +00:00
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
e67097e0e8 Bluesky: Improved link transmission /thread import 2023-06-07 00:47:37 +02:00
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
c740573b99 [bluesky] added DE, ZH-CN translation 2023-06-05 18:58:05 +02:00
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
2a4bfae9b3 Bluesky: Pinned feeds can now be imported 2023-06-05 04:36:50 +00:00
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
5d614bc6d3 Bluesky: Import is mosty feature complete 2023-06-03 23:06:31 +00:00
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
49d308c44b [various] Rename forum to group
- Drop support for forumdirectory
- Add support for groupdirectory
2023-06-04 00:20:07 +02:00
aa0f74832a [various] Rename group to circle
- Drop support for group_text
- Add support for circle_text
2023-06-04 00:20:07 +02:00
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
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
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
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
82c2f8e37f Deprecated Addon Blockem removed 2023-05-27 10:18:51 +07:00
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
c45c163471 Bluesly: Improved import and export 2023-05-26 20:54:00 +00:00
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
d8fe3bd119 Merge remote-tracking branch 'upstream/develop' into bluesky-import 2023-05-24 06:11:09 +00:00
e19fafa918 Updated readme 2023-05-24 06:09:25 +00:00
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
6ade40efae Merge remote-tracking branch 'upstream/develop' into bluesky-import 2023-05-24 06:00:04 +00:00
435a993502 Bluesky: updated messages.po 2023-05-24 05:53:12 +00:00
16a5a895bb Bluesky import and transmission of activities is now possible 2023-05-24 05:49:26 +00:00
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
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
654a9da297 Bluesky: readme is added 2023-05-23 05:45:18 +00:00
1fe81df15d Bluesky: Import of remote timeline 2023-05-23 05:23:13 +00:00
7a1af5fb5b HU translation updates 2023-05-23 06:46:36 +02:00
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
a7ea815642 Post up to 4 images 2023-05-21 20:14:20 +00:00
ea6e79448d Simplify token creation 2023-05-21 19:25:57 +00:00
77813a2acd Make the host readonly 2023-05-21 18:58:05 +00:00
dff48c3295 Bluesky: Basic connector for Bluesky is added 2023-05-21 18:54:02 +00:00
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
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
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
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
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
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
ca134e9ed3 [piwik] updated DE translation 2023-05-01 10:05:20 +02:00
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
13da605435 [piwiki] regenerated messages-po file 2023-05-01 07:40:12 +02:00
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
199205a07c [piwik] Short Endpoint option 2023-04-30 10:34:28 +02:00
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
58fce248c1 Use ?? instead of the parameter for the default value 2023-04-29 19:16:51 +00:00
dcd097b5b0 Tumblr: Users can now follow tags 2023-04-29 06:56:51 +00:00
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
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
8400258f07 Tumblr: Added support for hook "support_probe" 2023-04-27 05:28:05 +00:00
8f29a51277 Merge branch 'develop' into stable 2023-04-27 07:24:05 +02:00
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
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
5d8a53b8ec Tumblr: Small fixes 2023-04-27 05:00:04 +00:00
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
dc02e16575 Tumblr: We can now follow, unfollow, add posts, ... 2023-04-26 22:15:59 +00:00
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
477e646fba Further updated the readme 2023-04-25 18:48:58 +00:00
5307ef3a58 Updated readme 2023-04-25 18:47:54 +00:00
4c3b4dea96 Improved result check 2023-04-25 18:38:18 +00:00
c811f54958 Tumblr is now using OAuth2 2023-04-25 18:33:39 +00:00
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
bb72210fc1 Merge remote-tracking branch 'upstream/develop' into tumblr-import 2023-04-23 21:14:50 +00:00
da65314df5 Resructured code, added documentation 2023-04-23 10:26:19 +00:00
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
9e7f06ed44 Tumblr: Dashboard import and activities are working 2023-04-22 10:01:09 +00:00
c137fc5e79 HU and IT translation updates 2023-04-21 21:41:23 +02:00
9c8e7a23a6 Add more types 2023-04-18 21:05:31 +00:00
71eb147c13 Tumblr: Import the timeline 2023-04-18 05:56:32 +00:00
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
972c2da98e Tumblr: Make it compatible with PHP 7.4.0 2023-04-11 14:56:52 +00:00
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
c94778dbc1 tumblr: wrong "page" values are corrected automatically 2023-04-10 10:18:21 +00:00
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
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
1c677722b3 translations updates for 2023.03 2023-04-09 07:58:49 +02:00
99639632dd No need to fetch the return data since we don't use it 2023-04-09 05:06:52 +00:00
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
852ddb8acc Tumblr: Use the UUID to address the blog 2023-04-09 04:43:12 +00:00
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
37cdd74d73 Tumblr: Possible fixes 2023-04-08 16:49:52 +00:00
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
7dc1b44d1e Tumblr: Fix #11551 and introduce NPF 2023-04-06 19:10:32 +00:00
3f2cc73936 [securemail] Bump phpseclib dependency to version 3.0.19 2023-04-06 08:26:37 -04:00
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
5ea5930d82 migrate transifex config to the new client 2023-04-06 11:12:54 +02:00
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
888dec1593 Remove media to avoid duplicated images 2023-03-09 20:59:42 +00:00
82376e4f17 Tumblr: Transmit multiple photos 2023-03-09 06:37:02 +00:00
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
f5d1316212 Merge remote-tracking branch 'upstream/develop' into no-attached-data 2023-03-06 06:33:09 +00:00
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
878538c151 Access media via index 2023-03-06 00:49:30 +00:00
a959a90582 Class added 2023-03-05 21:37:28 +00:00
c8b6e7661b Unused variable removed 2023-03-05 21:35:14 +00:00
9183371062 "getAttachedData" has been removed 2023-03-05 21:17:14 +00:00
8641c30530 Merge remote-tracking branch 'upstream/develop' into develop 2023-03-05 14:03:51 +00:00
388f6e94f0 Blockbot: Loglevel and reformatting 2023-03-05 14:01:32 +00:00
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
92c3d0cf6c
ident_size 2 is better for XML readability :) 2023-02-27 20:57:18 +01:00
c5d402ad62
Adapt .editorconfig
- Add .json rule
- Add .xml rule
2023-02-27 20:34:46 +01:00
ecdd62eb3c
Revert quote_type 2023-02-27 20:11:07 +01:00
4a57f968f8
Adapt .editorconfig for PHPStorm 2023-02-27 19:51:03 +01:00
30af3b93ed [blockem] Fix syntax error (#1357) 2023-02-20 18:13:57 +01:00
6a5103964f [blockem] Fix syntax error 2023-02-20 11:56:13 -05:00
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
648fadedd3
[various] Adapt BaseURL calls for new UriInterface 2023-02-18 21:04:47 +01:00
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
ace982f5e6 mark the Twitter addon as unsupported 2023-02-07 08:42:40 +01:00
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
17df97fccd Twitter: Move config to key value 2023-01-22 13:45:33 +00:00
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
39c654da00 [various] Remove App dependency from hook functions 2023-01-13 21:16:09 -05:00
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
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
2724d6f5d9
Merge pull request #1349 from annando/twitter-wall
Twitter: Set "wall" on remote-self
2023-01-10 15:56:44 -05:00
d116d79182 Twitter: Set "wall" on remote-self 2023-01-10 20:00:46 +00:00
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
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
2cc326ccf5 Welcome 2023! 2023-01-09 09:19:09 -05:00
a41ebccba8
Merge pull request #1347 from annando/blockem-unsupported
Blockem: set to unsupported
2023-01-08 16:59:52 -05:00
d06ced7272 Blockem: set to unsupported 2023-01-08 19:11:35 +00:00
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
7827be89c8
Merge pull request #1345 from nupplaphil/feat/addons_load
[various] Move `addon` config
2023-01-04 22:36:36 -05:00
818d21ba57
[various] adapt README.md 2023-01-05 02:38:54 +01:00
ab5aea8328
[gravatar] Use addon config entries instead of the db 2023-01-04 23:24:39 +01:00
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
76233e7646
Merge pull request #1344 from friendica/bug/nofifyall
[notifyall] Fix email selection
2023-01-03 10:01:08 -05:00
be80e77e93
[notifyall] Fix email selection
FollowUp #1313
2023-01-03 14:01:45 +01:00
005f9af69b
Introduce ConfigFileManager for config files 2023-01-01 20:21:56 +01:00
14dfd24d11
Merge pull request #1342 from MrPetovan/bug/deprecated
[tictac] Move the addon to unsupported
2022-12-31 10:09:17 +01:00
c7c8934e2c [tictac] Move the addon to unsupported
- PHP 8.1 deprecation messages were reported
2022-12-30 22:33:18 -05:00
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
73189581b0
Replace addon "last" config entries with key-value entries 2022-12-29 20:51:04 +01:00
84fd663a56
Merge pull request #1339 from annando/no-gs-import
GNU-Social import is removed
2022-12-21 17:53:13 -05:00
35e431c5a4 Updated messages.po 2022-12-21 22:33:05 +00:00
4988d9c49a More unneeded stuff removed 2022-12-21 22:29:38 +00:00
d0c44aeaaf GNU-Social import is removed 2022-12-21 22:20:34 +00:00
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
4cdd24c871
Merge pull request #1337 from tobiasd/20221217-lng
FR, HU, PL translation updates
2022-12-17 08:57:08 -05:00
0f273b89ff removed translation files from addons deprecated 2022-12-17 09:11:15 +01:00
71d9a42688 HU translation of various addons updated 2022-12-17 09:08:25 +01:00
b64639dc4c PL translation of various addons updated 2022-12-17 09:08:11 +01:00
361e5407cf HU translation of various addons updated 2022-12-17 09:06:55 +01:00
0b0d555c69 FR translation of various addons updated 2022-12-17 09:04:29 +01:00
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
b52c4fc04f [pumpio] Cast variable as array before being passed to Logger::info 2022-12-14 22:29:54 -05:00
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
784bdf82e2
Merge pull request #1334 from AndyHee/2022.12-rc
Deprecated Addons: windowsphonepush, notifyall
2022-12-14 08:54:34 -05:00
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
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
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
139e4384b1
Update nitter.php
[Now really] Reduced font size of notice
2022-12-13 15:47:30 +00:00
f9661af3f7
Update nitter.php
Replaced verbose sentence with succinct notice  and reduced its font size.
2022-12-13 15:43:29 +00:00
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
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
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
e553b6cc9b
Merge pull request #1330 from MrPetovan/bug/warnings
[nsfw] Suppress warnings about failed regexp compilation
2022-12-10 20:53:48 +01:00
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
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
5da3cf67ce Twitter: Improve uploading of images 2022-12-10 19:09:36 +00:00
31cecfead3
Merge pull request #1328 from tobiasd/20221208-fr
Twitter addon translation update THX kalon33
2022-12-08 12:16:18 -05:00
a38b07fa34 Twitter addon translation update THX kalon33 2022-12-08 18:01:18 +01:00
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
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
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
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
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
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
666d559e72
Merge pull request #1323 from nupplaphil/bug/rendertime
[rendertime] Fix empty minimal_time
2022-11-28 13:55:32 -05:00
3b7d4ce600
[rendertime] Fix empty minimal_time 2022-11-28 19:51:56 +01:00
25bcbabb58
Merge pull request #1322 from tobiasd/20221128-de
[twitter, nsfw] DE translation update
2022-11-28 08:13:13 +01:00
8f59b8b951 [twitter, nsfw] DE translation update 2022-11-28 07:04:55 +01:00
6a2aa4c4a4
Merge pull request #1321 from nupplaphil/mod/fbrowser
[rendertime] Adapt ignored_modules
2022-11-27 08:00:01 -05:00
18783e11c7
Move Browser & Upload to own namespace 2022-11-27 01:25:58 +01:00
2f0671ee6e
Move FileBrowser to own namespace & Bugfix album usage 2022-11-27 00:28:29 +01:00
6fb41f9429
[rendertime] Adapt ignored_modules 2022-11-26 22:27:17 +01:00
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
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
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
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
30329df0dd
Merge pull request #1318 from annando/no-mod-item
Calls to "item_post" are replaced
2022-11-23 09:03:35 -05:00
008eeeea4e Merge remote-tracking branch 'upstream/develop' into no-mod-item 2022-11-23 06:29:49 +00:00
7338b5de59 Don't call mod/item.php anymore 2022-11-23 06:25:28 +00:00
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
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
46d4d0b51e [various] Remove config/addon.config.php in favor of per-addon configuration file 2022-11-20 11:43:42 -05:00
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
6b32686443
Merge pull request #1315 from MrPetovan/bug/warnings
[various] Fix PHP 8 deprecation warnings
2022-11-20 01:45:15 +01:00
f4130a9724 [various] Fix PHP 8 deprecation warnings 2022-11-19 19:19:30 -05:00
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
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
fada358607 [various] Use new centralized admin account retrieval methods 2022-11-18 12:00:03 -05:00
ba6f6f11c5 [nsfw] Update main translation file after updating a string 2022-11-18 11:58:10 -05:00
91accba3b9 [nsfw] Match regular words with case sensitivity
- Update field description
2022-11-18 11:57:51 -05:00
a5768ce402
Merge pull request #1312 from tobiasd/20221118-sv
SV translation Update THX BBjoessi
2022-11-18 10:30:36 -05:00
53b1c9208a SV translation Update THX BBjoessi# 2022-11-18 15:03:02 +01:00
f840431d41
Merge pull request #1311 from annando/duplicate-media
Unneeded parameter removed
2022-11-13 19:07:34 -05:00
fc3222cd2d Unneeded parameter removed 2022-11-13 23:39:48 +00:00
e800cf20cb
Merge pull request #1310 from annando/auto-follow
Twitter: automatically follow fediverse accounts in profile
2022-11-13 08:36:30 -05:00
f71b2bda38 Twitter: automatically follow fediverse accounts in profile 2022-11-13 10:16:58 +00:00
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
50eef93272 Issue 12161: Fix Unknown column 'post-view.id' 2022-11-12 13:13:58 +00:00
e0ad3e0fc7
Merge pull request #1308 from nupplaphil/feat/woodpecker
Woodpecker: Update PHP version
2022-11-10 09:15:38 -05:00
38ec8b3e3b
Woodpecker: Update PHP version 2022-11-09 22:50:55 +01:00
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
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
db3a36bd02
Merge pull request #1306 from friendica/mastodon-api
API constant changed
2022-11-06 18:01:47 -05:00
623b6ceecc API constant changed 2022-11-06 20:03:41 +00:00
f2ff1053b0
Merge pull request #1305 from MrPetovan/task/deprecate-themes
[newmemberwidget] Remove references to deprecated themes
2022-11-05 21:25:51 +01:00
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
ecb9871f92 [newmemberwidget] Remove references to deprecated themes 2022-11-05 00:01:43 -04:00
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
38977588b4 [pumpio] Remove obsolete reference to mod/share.php 2022-11-04 18:25:39 -04:00
b84d05b602
Merge pull request #1302 from annando/quote
Add native quotes to the body upon posting
2022-10-30 09:44:47 -04:00
2de97487f3 Add native quotes to the upon posting 2022-10-29 19:37:25 -04:00
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
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
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
ec060745e9
Merge pull request #1295 from nupplaphil/feat/usersession
[various] UserSession class - Refactor addon
2022-10-21 08:37:45 -04:00
99e33145db
Merge pull request #1296 from nupplaphil/bug/monolog_psr4
[monolog] Remove non-compliant PSR4 config
2022-10-21 08:37:11 -04:00
97fcee53c0
[saml] Replace $_SESSION with DI::session() 2022-10-21 08:44:01 +02:00
6d2b7459b5
[monolog] Remove non-compliant PSR4 config 2022-10-21 08:40:30 +02:00
05fed0bd6f
Merge pull request #1297 from nupplaphil/bug/woordpecker_ci
Fix CI pipeline
2022-10-20 19:53:20 -04:00
94b4ad6279
Fix CI pipeline 2022-10-21 00:49:38 +02:00
b0eb28143a
UserSession class - Refactor addon 2022-10-20 23:51:49 +02:00
8eca74cfab
Merge pull request #1294 from annando/no-boot
Replace all functions from boot.php
2022-10-19 09:48:07 -04:00
0f6ea75bb7 [various] Improve formatting 2022-10-19 09:47:48 -04:00
5d8129600d Replace all functions from boot.php 2022-10-19 09:47:36 -04:00
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
1eb1b10348
Move Core\Session::get() to DI::session()->get() 2022-10-18 21:10:36 +02:00
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
346ad9a3e2
Changed:
- moved constants GRAVITY_* from boot.php to Friendica\Model\Item
2022-10-18 16:38:00 +02:00
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
b3195504f1 The EOL constant is removed 2022-10-18 12:28:46 +00:00
285079c12b
Merge pull request #1288 from nupplaphil/feat/move_monolog
[monolog] Add Addon
2022-10-18 07:30:52 -04:00
e93260593a
fix space 2022-10-18 08:10:44 +02:00
432d9097d2
Merge pull request #1290 from annando/eol
Some useless EOL removed
2022-10-17 17:14:41 -04:00
592374b795 Some useless EOL removed 2022-10-17 21:00:03 +00:00
2e854ee108
Replace Separator constant 2022-10-17 22:39:10 +02:00
101a22c0cd
Adhere feedback 2022-10-17 22:38:08 +02:00
bca0943e19
Merge pull request #1289 from annando/notice
Remove "notice" with new function
2022-10-17 16:24:44 -04:00
897dbb30cf Remove "notice" with new function 2022-10-17 20:17:25 +00:00
6c8a9bd461
Move Monolog to Addons 2022-10-17 21:25:03 +02:00
57e9404729
Merge pull request #1287 from friendica/priorities
The priority is now a class constant
2022-10-17 08:01:01 +02:00
e5842e83c7 The priority is now a class constant 2022-10-17 05:50:23 +00:00
de345228b5
Merge pull request #1286 from tobiasd/20221015-de
[twitter] DE translation update
2022-10-15 23:31:17 +02:00
26c6d501e0 [twitter] DE translation update 2022-10-15 21:09:03 +02:00
8d2ddd8985
Merge pull request #1284 from tobiasd/20221015-issue11998
[impressum] notes and email field were exchanged
2022-10-15 12:24:37 -04:00
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
5648924852 [impressum] notes and email field were exchanged 2022-10-15 17:49:28 +02:00
408a62a9a1
Merge pull request #1283 from annando/notice
Wppost: Fix "PHP Notice:  Undefined index:"
2022-10-03 16:35:41 -04:00
476de2a95d Wppost: Fix "PHP Notice: Undefined index:" 2022-10-03 20:23:14 +00:00
046b1418f2
Merge pull request #1282 from annando/thread
Support for Twitter threads added
2022-10-02 21:36:32 -04:00
6f971a0f63 Support for Twitter threads added 2022-10-02 23:57:12 +00:00
94a774a7d2
Merge pull request #1280 from annando/loglevels
Loglevels adjusted, warnings fixed
2022-09-08 07:38:07 +02:00
86e24c747e Loglevels adjusted, warnings fixed 2022-09-08 04:16:17 +00:00
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
4487b2a923 FR translation of various addons updated 2022-08-19 19:37:09 +02:00
0ff332bd11 GD translation for the addons buglink, markdown and randplace added 2022-08-19 19:35:47 +02:00
0ecb576ff9 FR translation for the ifttt, newmemberwidge, securemail and webrtc addons added 2022-08-19 19:19:55 +02:00
88d40bc34a
Merge pull request #1278 from MrPetovan/task/remove-poke
[various] Remove morechoice and morepokes addons
2022-08-11 18:17:20 +02:00
e70b3abaa9 [morepokes] Remove addon
- Obsolete once the poke feature is removed
2022-08-09 15:15:14 -04:00
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
a8b8c4cde4
Merge pull request #1277 from nupplaphil/feat/woodpecker_files
Replace SFTP-publish with docker-publish
2022-07-28 14:41:28 -04:00
795eb1bb36
Replace SFTP-publish with docker-publish 2022-07-28 20:39:37 +02:00
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
6bf18b47a8
Changed:
- convert double-quotes to single
2022-07-28 03:54:30 +02:00
024ccb117f
Merge pull request #1275 from nupplaphil/fix/woodpecker
Fix CI / CD woodpecker pipeline
2022-07-17 07:07:22 +02:00
5f6f432a80
Fix CI / CD woodpecker pipeline
- Combination of `labels` and `matrix`-build is broken
2022-07-17 02:25:04 +02:00
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
a3e1a43f79
Wrong type-hint, fixes #11731 2022-07-13 20:48:32 +02:00
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
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
f813183fcf [twitter] Valid post body can be empty 2022-07-09 17:40:56 -04:00
347792bf74 [various] Remove unused uid parameter in Item::newURI 2022-07-09 15:51:41 -04:00
6822079a03 [twitter] Add logging for error conditions in twitter_fetchtimeline() 2022-07-03 11:40:59 -04:00
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
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
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
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
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
2fc719f720
2nd parameter is not a body 2022-06-30 17:44:07 +02:00
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
c0c15644a3
Merge pull request #1268 from MrPetovan/bug/fatal-errors
[various] Fix hook function type-hints
2022-06-27 06:40:50 +02:00
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
de4c972501
Merge pull request #1267 from nupplaphil/feat/woodpecker
Use labels for woodpecker continuous deployments
2022-06-26 15:57:18 +02:00
ed3184fd0b
Use labels for woodpecker continuous deployments 2022-06-26 15:45:58 +02:00
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
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
3c5d0dc0cd
Merge pull request #1265 from Quix0r/rewrites/double-quotes-single
Rewrites/double quotes single
2022-06-24 18:49:05 -04:00
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
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
e895b55f6d
Cleaned up 2022-06-23 17:28:15 +02:00
6c84c9dfc9
Changes:
- made variable $uriId camel-case
2022-06-23 16:04:54 +02:00
52d971ceab
Wrong type-hint 2022-06-23 12:05:14 +02:00
def2389b57
Wrong type-hint + renamed $b -> $body 2022-06-23 07:54:20 +02:00
93267b5b83
Fixed wrong type-hint + "imported" class 2022-06-23 07:45:59 +02:00
43c0e689f9
Wrong type-hint + renamed $b -> $body 2022-06-23 07:42:35 +02:00
4239112dec
Ops 2022-06-23 07:37:12 +02:00
37f3f0e621
Wrong types, why call $b so often ... 2022-06-23 07:34:57 +02:00
af994b4818
Ops, wrong type 2022-06-23 07:28:19 +02:00
a2760cb1d1
Re-formatted a bit 2022-06-23 07:27:10 +02:00
04df7f6e05
Changes:
- added more type-hints
- cleaned up some files (curly braces, spaces)
2022-06-23 07:17:00 +02:00
a1e17968d1
leistungsschutzrecht_is_member_site() returns boolean value 2022-06-23 06:26:42 +02:00
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
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
28cdecea93
Changes:
- changed more double-quotes to single
- `include` is not a function
2022-06-23 05:53:10 +02:00
be9d786ef9
Ops, we need this back! :-( 2022-06-23 05:50:12 +02:00
b9f330fa18
Changed:
- removed discouraged ?>
- changed double-quotes to single
2022-06-23 01:48:01 +02:00
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
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
7d171c9787
Converted more double-quotes to single 2022-06-22 19:01:45 +02:00
07307823ca
Changed more double-quotes to single 2022-06-22 18:55:48 +02:00
04466968dc
Let's avoid local variables 2022-06-22 18:19:52 +02:00
d39717a2d5
Converted more double-quotes to single 2022-06-22 18:19:11 +02:00
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
4e825fe621
Merge pull request #1263 from loma-one/develop
Complement the gif emoji
2022-06-19 07:14:09 -04:00
bb913f81a3 Merge branch 'loma-one-patch-1' into develop 2022-06-19 09:46:30 +02:00
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
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
5d7dbe354a
Merge pull request #1261 from tobiasd/20220613-ar
AR translation updates
2022-06-13 07:58:32 -04:00
716efd23fe
showmore addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
b6342eca0a
rendertime addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
85220c4bf6
nitter addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
b00459d077
mailstream addon AR translation THX ButterflyOfFire 2022-06-13 09:49:30 +02:00
990312fafb
statusnet addon AR translation THX ButterflyOfFire 2022-06-13 09:49:29 +02:00
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
612272ef80
Merge pull request #1259 from tobiasd/20220611-winphone
mark the whindowsphonepush as unsupported
2022-06-11 08:02:44 -04:00
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
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
8089989083
Merge pull request #1256 from tobiasd/20220607-lng
RU translation updates
2022-06-07 07:13:00 +02:00
6d3c4e51ac
planets translation update THX SpcCw 2022-06-07 06:42:10 +02:00
ecc841b5f7
startpage translation update THX SpcCw 2022-06-07 06:42:10 +02:00
682ce12ac2
ijpost translation update THX SpcCw 2022-06-07 06:42:04 +02:00
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
c71e29a772 Twitter: Only search for comments with extid to avoid problems with mirrored posts 2022-06-02 13:16:45 +00:00
07300cb9c9
Merge pull request #1254 from tobiasd/20220531-ru
RU translation updates THX Alexander An
2022-05-31 07:35:27 +02:00
58d40a1d81
RU translation of curweather addon THX Alexander An 2022-05-31 07:07:44 +02:00
c5d19154f2
RU translation of webrtc addon updated THX Alexander An 2022-05-31 07:06:56 +02:00
d304873049
advanced content filter added RU translation THX Alexander An 2022-05-31 07:05:28 +02:00
ffe62a2577
Merge pull request #1253 from tobiasd/20220525-frhu
FR and HU translation updates
2022-05-25 09:05:16 -04:00
19ae3851e8
advancedcontentfilter addon HU translation update THX Balázs Úr 2022-05-25 08:37:28 +02:00
348ca80292
markdown addon FR translation updated THX kalon33 2022-05-25 08:36:54 +02:00
91f5ba9eab
notifyall addon FR translation updated THX kalon33 2022-05-25 08:36:09 +02:00
640cc4c717
Merge pull request #1252 from tobiasd/20220525-fr
FR translation updates THX  kalon33
2022-05-24 08:55:34 +02:00
886c56e4b7
twitter addon FR translation updated THX kalon33 2022-05-24 08:01:18 +02:00
53a806af87
notifyall addon FR translation updated THX kalon33 2022-05-24 08:00:56 +02:00
d0dfb04585
mailstream addon FR translation updated THX kalon33 2022-05-24 07:59:53 +02:00
96637b30a4
tictac addon FR translation updated THX kalon33 2022-05-24 07:59:32 +02:00
ab2eaf136e
morechoice addon FR translation updated THX kalon33 2022-05-24 07:59:10 +02:00
6481b384ee
langfilter addon FR translation updated THX kalon33 2022-05-24 07:58:37 +02:00
efd654d08e
Merge pull request #1251 from tobiasd/20220513-lngs
Translation Updates
2022-05-13 11:28:54 -04:00
1a8925b0aa
langfilter ZH CN translation update THX shykana 2022-05-13 16:38:26 +02:00
bb1ca9ee92
PL translation advancedcontentfilter THX strebski 2022-05-13 16:32:32 +02:00
4eec2841f4
DE translation advancedcontentfilter updated 2022-05-13 16:31:57 +02:00
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
444330d91f [advancedcontentfilter] Update main translation file after string was added 2022-05-11 09:00:41 -04:00
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
99a3ddfefa
Merge pull request #1249 from tobiasd/20220503-pl
PL translation webrtc THX strebski
2022-05-03 13:15:52 +02:00
ffb8e897cf
PL translation webrtc THX strebski 2022-05-03 09:15:05 +02:00
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
931be19eca
DA DK translation for various addons added THX atjn 2022-05-02 12:26:36 +02:00
798f163a9a
Merge pull request #1247 from tobiasd/20220429-webrtcmessages
regen webrtc messeages.po file
2022-04-29 16:55:52 +02:00
d584f0e729
regen webrtc messeages.po file 2022-04-29 15:57:44 +02:00
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
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
bfc4542881
Remove redundant header 2022-04-08 20:06:45 +02:00
46221882c3
Remove accept parameter for request again 2022-04-03 19:35:39 +02:00
707e03635b
Remove accept parameter for head/post again 2022-04-03 19:33:08 +02:00
82f8c14633
Move ACCEPT constants to own "enum" class 2022-04-02 21:16:21 +02:00
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
08b984029a
added PL translation for SAML addon THX strebski 2022-03-25 07:06:35 +01:00
ea16a541db
Merge pull request #1243 from tobiasd/20220323-pl
PL translation update THX strebski
2022-03-23 15:29:48 -04:00
e3932e4575
PL translation update blackout addon THX strebski 2022-03-23 20:16:55 +01:00
13298d507d
PL translation rendertime THX strebski 2022-03-23 20:16:42 +01:00
006102bf38
Merge pull request #1242 from tobiasd/20220318-pl
PL translation updates THX strebski
2022-03-18 12:26:19 -04:00
34c7094790
PL translation updates THX strebski 2022-03-18 17:10:36 +01:00
14124f49e7
Merge pull request #1241 from tobiasd/20220317-pl
PL translation updates THX strebski
2022-03-17 14:16:39 -04:00
4778cc4be7
PL translation updates THX strebski 2022-03-17 19:09:32 +01:00
2387e7d11b
Merge pull request #1240 from tobiasd/20220308-pl
PL translation update THX strebski
2022-03-08 10:54:02 -05:00
ed96e0a2f6
PL translation update THX strebski 2022-03-08 16:26:19 +01:00
ba94368482
Merge pull request #1239 from friendica/stable
Fix Woodpecker Releaser
2022-03-07 20:02:39 +01:00
c35a6d5834
Fix Woodpecker Releaser 2022-03-07 19:43:28 +01:00
3317ce2324
Merge pull request #1236 from nupplaphil/feat/s3
Add S3 Storage Backend
2022-02-25 08:56:05 -05:00
3425cd3d47
Add feedback 2022-02-25 08:48:13 +01:00
993685f2a5
Add messages.po 2022-02-25 08:46:15 +01:00
3f800389dc
Config fix 2022-02-25 08:46:15 +01:00
52edb1711a
Fix akeeba library 2022-02-25 08:46:15 +01:00
9c4b12f868
Add S3 Storage Backend 2022-02-25 08:46:14 +01:00
95fcf98759
Merge pull request #1238 from nupplaphil/fix/git_config
Fix woodpecker GIT email/name
2022-02-24 18:02:23 -05:00
25e95fa2da
Fix GIT email/name 2022-02-24 23:20:01 +01:00
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
d886aac0e3 [twitter] Update unfollow and block hook functions after parameters have changed 2022-02-23 10:42:14 -05:00
d07a9185be
Merge pull request #1235 from nupplaphil/bug/releaser
Fix CI release prefix
2022-02-06 22:23:19 +01:00
6914b94454
Exclude .woodpecker instead of .drone.yml 2022-02-06 21:50:45 +01:00
444bdfe619
fix command 2022-02-06 21:37:04 +01:00
7e1d18f8a3
Fix CI release prefix 2022-02-06 21:33:26 +01:00
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
fd2fb29568 Use the owner-id at another place 2022-02-02 22:30:54 +00:00
a1a3322968 Twitter: Assign contacts via their twitter id - not via their url 2022-02-02 22:12:08 +00:00
f9ff50b2cb
Merge pull request #1233 from annando/avatar
Birdavatar: Fix log function / Twitter: Fix avatar address
2022-01-30 16:52:37 -05:00
d527848dfc Merge remote-tracking branch 'upstream/2021.12-rc' into avatar 2022-01-30 19:00:14 +00:00
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
1e60ac18cf DE addon translation update 2022-01-22 18:52:57 +01:00
484482a4ce HU addon translation update THX Balázs Úr 2022-01-22 18:52:30 +01:00
631b456755 SV addon translation update THX Kristoffer Grundström 2022-01-22 18:50:50 +01:00
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
b6d03e10b6 [langfilter] Prevent image proxifying while converting text for language detection 2022-01-20 09:23:31 -05:00
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
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
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
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
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
d1bac4f620
Fixing CI Changed_Files 2022-01-06 23:11:59 +01:00
1b87105bb8
Merge pull request #1225 from nupplaphil/bug/woodpecker
Fixup woodpecker
2021-12-30 20:07:58 +01:00
61c614c4da
Fixup woodpecker 2021-12-30 19:28:50 +01:00
05f7e4264c
Fixup woodpecker 2021-12-30 19:26:35 +01:00
ff763795a3
Merge pull request #1224 from nupplaphil/feat/woodpecker
Replace Drone with Woodpecker
2021-12-30 18:28:43 +01:00
dab21d0ba5
Replace Drone with Woodpecker 2021-12-30 14:04:35 +01:00
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
4abb880f57 [smileybutton] generated missing lang/C/messages.po file 2021-12-22 15:52:56 +01:00
e478bdf508
Merge pull request #1222 from tobiasd/20211213-catavatar
FR catavatar translations THX Walter Bulbazor
2021-12-13 12:50:07 -05:00
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
767d76682b messages.po updated 2021-12-13 06:19:14 +00:00
57db23c641 Blockbot: Added translation to the setings descrption 2021-12-13 06:16:31 +00:00
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
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
ce42fc43ce Rendertime: Admin configuration added 2021-12-12 05:57:21 +00:00
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
eb967c5433 Moved a bot to the good crawlers 2021-12-08 20:08:14 +00:00
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
adcdf447ce
Merge pull request #1217 from tobiasd/20211205-jsuploadDE
jsupload addon DE translation updated
2021-12-05 07:29:40 -05:00
dfdc47879a jsupload addon DE translation updated 2021-12-05 10:38:10 +01:00
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
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
3104d176e7 [various] Updated translation files after editing several strings 2021-11-29 06:55:24 -05:00
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
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
f0522a998b [various] Use __DIR__ constant in all Page registerStylesheet and registerFooterScript calls 2021-11-29 06:54:59 -05:00
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
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
f5ea9f14e2 DE translation of the twitter addon updated 2021-11-27 18:26:06 +01:00
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
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
4d7c1e795d
Merge pull request #1025 from hoergen/develop
Typos removed (hopefully)
2021-11-24 08:51:47 -05:00
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
f90b9c6c86 [twitter] Updated main translation file after adding some strings 2021-11-23 18:33:50 -05:00
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
93e5d97fdd [twitter] Add item_by_link hook function 2021-11-23 17:52:52 -05:00
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
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
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
d189c83495 PL translation rendertime THX Joe Doe 2021-11-16 12:35:02 +01:00
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
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
2ac5662ab2
Merge pull request #1203 from annando/deprecated
Replaced deprecated functionalities
2021-11-07 10:02:24 -05:00
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
cff3dd67b0 "escapeTags" is removed from the addons 2021-11-07 08:49:34 +00:00
6a7f36ba89
Merge pull request #1201 from annando/boot
Support for cleared boot.php
2021-11-04 19:17:56 -04:00
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
d22ac5d137 gravatar AR translations updated THX abidin toumi 2021-10-30 08:14:48 +02:00
1bc3e6ac46 geonames AR translations updated THX abidin toumi 2021-10-30 08:13:57 +02:00
6f52ecd025 forumdirectory AR translations updated THX abidin toumi 2021-10-30 08:13:02 +02:00
8bce920963 dwpost AR translations updated THX abidin toumi 2021-10-30 08:12:07 +02:00
514f5b80e0 gnot AR translations updated THX abidin toumi 2021-10-30 08:11:12 +02:00
5ab61cd441 fromapp AR translations updated THX abidin toumi 2021-10-30 08:04:03 +02:00
4aeb9d94e2 diaspora AR translations updated THX abidin toumi 2021-10-30 08:03:01 +02:00
7296d2428d buglink AR translations updated THX abidin toumi 2021-10-30 07:58:46 +02:00
b48539d7d6 catavatar AR translations updated THX abidin toumi 2021-10-30 07:57:43 +02:00
6a73d3e4b9 buffer AR translations updated THX abidin toumi 2021-10-30 07:56:39 +02:00
ff7792952b blogger AR translations updated THX abidin toumi 2021-10-30 07:53:36 +02:00
9eb4ab297d blockem AR translations updated THX abidin toumi 2021-10-30 07:45:38 +02:00
f75b61d543 cookienotice AR translations updated THX abidin toumi 2021-10-30 07:44:39 +02:00
25bcb62f67 curweather AR translations updated THX abidin toumi 2021-10-30 07:43:12 +02:00
c67ed6e918 AR translation added for blockbot addon THX abidin toumi 2021-10-30 07:41:26 +02:00
0bef8af9e3
Merge pull request #1198 from nupplaphil/feat/httpclient_restructuring
Paradigm Restructuring Part 3 - Logger HTTPClient
2021-10-29 09:56:46 -04:00
6f4e9a14e3
Add Feedback :-) 2021-10-29 08:03:58 +02:00
fe296e5a73
Restructure HTTPClient for new paradigm 2021-10-28 19:36:00 +02:00
6bc61d5ef7
Restructure Logger to new paradigm 2021-10-28 18:24:33 +02:00
ab32dd53bb
Merge pull request #1196 from nupplaphil/feat/storage_restructuring
Paradigm Restructuring Part 2 - Storage
2021-10-28 10:12:54 -04:00
5184ca0fc2
Restructure Storage to new paradigm 2021-10-27 20:02:55 +02:00
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
28abb42fec AR translation of blackout addon updated THX abidin toumi 2021-10-27 14:00:29 +02:00
38344b2234 AR translation of advancedcontentfilter addon updated THX abidin toumi 2021-10-27 13:59:21 +02:00
2335face75 AR translation of blockem addon updated THX abidin toumi 2021-10-27 13:58:08 +02:00
63fca0af29
Refactoring Core class structures ... 2021-10-26 21:44:28 +02:00
ae86b2e806
Restructure (P)Config to follow new paradigm 2021-10-23 11:29:15 +02:00
2d3c2b4ee9
Restructure Cache to follow new paradigm 2021-10-23 10:49:26 +02:00
abf06edc90
Merge pull request #1194 from annando/logger
"log" is replaced with the corresponding logging functions
2021-10-21 10:41:45 +02:00
0bf6612ea3 "log" is replaced with the corresponding logging functions 2021-10-21 06:04:27 +00:00
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
6b0172d093 Replace calls to "notification" with the new function 2021-10-19 19:53:10 +00:00
e63881bf5b
Merge pull request #1192 from tobiasd/20211019-lng
langfilter translations DE, IT updated
2021-10-19 15:16:18 -04:00
685cc96bc6 IT translation of langfilter addon updated THX SickShark X 2021-10-19 20:11:15 +02:00
6352b25e46 DE translation of langfilter addon 2021-10-19 20:10:23 +02:00
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
54ef923499 [markdown] Limit HTML escaping to left chevrons
- Right chevrons are used for quotation in Markdown
2021-10-18 09:13:47 -04:00
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
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
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
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
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
7cc6f3f4a3 [twitter] Fix typo in API path for unfollowing 2021-10-09 02:05:25 -04:00
d37f779908 [twitter] Mirror the Twitter block behavior concerning established relationships 2021-10-09 02:05:25 -04:00
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
9e5768a8f7 [twitter] Update main translation file after updating a string 2021-10-08 22:25:42 -04:00
24740d0ba0 [twitter] Fix typo in remote API path for likes 2021-10-08 22:22:26 -04:00
21efea5b50 [twitter] Update description of autocreate contact option after contact drop feature was removed 2021-10-08 22:22:09 -04:00
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
793eca1f7b Replaced the last occurences of "q" 2021-10-07 19:30:10 +00:00
e61a3d02ce Assigns values in a single array 2021-10-07 18:55:49 +00:00
16d7eafd41 More replaced "q" calls 2021-10-07 05:53:16 +00:00
24ffee74d7 Jappixmini removed since it relied upon the deprecated DFRN transport layer 2021-10-07 05:42:03 +00:00
1294b7e5bb
Merge pull request #1162 from nupplaphil/feat/webdav_storage
WebDav Storage backend
2021-10-05 14:42:05 -04:00
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
853c5b528f
Disable WebDav test because of impossible execution (yet) 2021-10-05 10:31:35 +02:00
ed1306caea
Adapt tests 2021-10-05 10:05:17 +02:00
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
23a02dbde7 [advancedcontentfilter] Remove event.adjust field from available fields to match 2021-10-04 08:18:46 -04:00
6b3d22d85d
Add messages.po 2021-10-04 11:59:49 +02:00
45d849ee76
Add WebDavConfig 2021-10-04 11:41:25 +02:00
2038eec6d7
Add WebDavConfig 2021-10-04 11:40:05 +02:00
a5e15acee9
Merge pull request #1180 from annando/more-q
Replacing "q" calls with "DBA" calls
2021-10-03 19:03:49 -04:00
0533f9bfdb More indentations 2021-10-03 20:09:36 +00:00
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
deb4f8d9ef Merge remote-tracking branch 'upstream/develop' into more-q 2021-10-03 17:40:49 +00:00
428c6876f0 Replacing "q" calls with "DBA" calls 2021-10-03 17:35:20 +00:00
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
d9e7bab46f [twitter] Comment out remote post deletion currently never triggered 2021-10-03 06:49:41 -04:00
52407530db
Adjust php-cs 2021-10-02 23:46:47 +02:00
749ba4315e
Add WebDavTest (theoretically ..) 2021-10-02 23:46:47 +02:00
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
8de6454c8c [twitter] Add support for block and unblock hooks 2021-10-02 16:54:26 -04:00
dc04c0cfc4 [twitter] Refactor common API calls on posts
- Re-activate post deletion API calls
2021-10-02 16:54:21 -04:00
aec6e2f97e [twitter] Refactor common API calls on contacts 2021-10-02 16:47:38 -04:00
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
678878289f
Merge pull request #1170 from nupplaphil/feat/dep_php8
[twitter] Update abraham/twitteroauth dependency
2021-10-02 14:03:36 -04:00
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
31dd9f8e22 [twitter] Fix typo, improve formatting in twitter_unfollow() 2021-10-02 11:27:57 -04:00
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
58a1cd4395 updated the DE translation of the nitter addon 2021-10-01 20:09:29 +02:00
9e219efd46 forget to commit the updated README 2021-10-01 20:07:18 +02:00
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
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
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
d893ea016d [nitter] renew the messages.po file 2021-10-01 16:10:51 +02:00
5199a88708 [nitter] add note about privacy protection to the replacement message 2021-10-01 15:53:09 +02:00
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
8ed6469fb9 Issue 10772: Avoid duplicated links to Twitter 2021-09-27 20:29:11 +00:00
569e3f4831
[twitter] Update abraham/twitteroauth dependency 2021-09-26 19:52:02 +02:00
250dafd2b6 [twitter] Add data to the unfollow hook result key 2021-09-26 10:34:31 -04:00
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
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
b6eccfb8a4
Adapt permissions 2021-09-25 20:13:55 +02:00
Michael Vogel
a1c91dbd27
Merge pull request #1169 from nupplaphil/bug/notices
[twitter] Fix Notice
2021-09-13 22:05:16 +02:00
f9455b42c7
[twitter] Fix Notice 2021-09-13 20:26:26 +02:00
Michael Vogel
c7771ac8c3
Merge pull request #1168 from nupplaphil/bug/drone_gzip
Fix drone artifact compression parameter
2021-09-11 21:37:06 +02:00
be56834e3e
Fix drone artifact compression parameter 2021-09-11 20:00:13 +02:00
dead293465
Merge pull request #1167 from tobiasd/20210909-nitter
nitter: typo in variable name
2021-09-09 08:40:47 -04:00
ce91f967de typo in variable name 2021-09-09 14:23:43 +02:00
b97d856379 nitter: typo in variable name 2021-09-09 14:20:58 +02:00
28e70485c5
Merge pull request #1166 from nupplaphil/feat/drone_sha512
Sign drone artifacts per GPG
2021-09-08 16:24:41 -04:00
f0eba1a305
Add GPG sign 2021-09-08 22:08:35 +02:00
b30f7d3055
Merge pull request #1165 from nupplaphil/feat/drone_release_followup
Correct sha256 extension
2021-09-03 16:09:26 -04:00
97afccad32
Correct sha256 extension 2021-09-03 21:30:33 +02:00
0d8b3cea83
Merge pull request #1164 from nupplaphil/feat/drone-release
Add drone release for addons
2021-09-03 09:34:48 -04:00
Philipp
322186d82d
Update .drone.yml
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-09-03 15:31:44 +02:00
d65d42cff2
Reactivate Trigger 2021-09-03 09:25:11 +02:00
3b9fc39241
Temporary deactivate restrictions 2021-09-03 09:24:27 +02:00
07b3dd20ab
Renamings 2021-09-03 09:22:42 +02:00
0ef95fdb75
keep the foldername "addon" 2021-09-02 20:06:31 +02:00
6164c8416c
Adapt sha256 generation 2021-09-02 17:05:40 +02:00
f51828c996
Add stable releaser 2021-09-02 12:52:17 +02:00
5bba4bee00
Add drone release for addons 2021-09-02 12:22:42 +02:00
826fa88843
Add drone release for addons 2021-09-02 12:18:44 +02:00
3bb47c5845
Add drone release for addons 2021-09-02 12:17:03 +02:00
c2cd12bc65
Add drone release for addons 2021-09-02 12:13:14 +02:00
3d7a4c9326
Merge pull request #1163 from nupplaphil/bug/http_client
[statusnet] Catch TransferExceptions for HTTPClient::finalUrl()
2021-08-29 08:41:00 -04:00
c06fff6921
Fixed wrong index .. 2021-08-29 14:26:05 +02:00
b3014ebf06
Catch TransferExceptions for HTTPClient::finalUrl() in case the headers are empty 2021-08-29 13:37:07 +02:00
9b5745b75b
Merge pull request #1161 from nupplaphil/feat/httpclient_followup
[various] Use HTTPRequestOptions constants for HTTPClient::get()
2021-08-25 16:02:05 -04:00
adada10eb6
Rename DI::httpRequest() into DI::httpClient() 2021-08-25 21:54:54 +02:00
9c266e59cf
Rename HTTPRequestOptions to HTTPClientOptions 2021-08-25 21:45:15 +02:00
e3980a6d87
Use HTTPRequestOptions constants for HTTPClient::get() 2021-08-25 21:18:05 +02:00
db998b0bf1
Merge pull request #1160 from nupplaphil/task/httprequest_optimiziations
[various] Fixup HTTP headers for httpClient requests
2021-08-25 10:31:10 -04:00
7662d1ef1c
Fixup HTTP headers for httpClient requests 2021-08-25 14:13:08 +02:00
Michael Vogel
63d6c3f40f
Merge pull request #1158 from MrPetovan/task/remove-remaining-app-argv
[various] Remove remaining mentions of App->argc/argv
2021-08-22 19:36:11 +02:00
083c13b031
Merge pull request #1159 from tobiasd/20210818-nitter
nitter: mobile links and config enhancements
2021-08-19 04:34:52 -04:00
a843e96c1f use rtrim 2021-08-19 06:57:46 +02:00
81fce72efe nitter: the nitter instance base url should not contain the trailing / 2021-08-18 19:11:23 +02:00
b78c8a30f6 nitter: replace mobile link to twitter as well 2021-08-18 19:04:51 +02:00
da159e9d2c
Merge pull request #1157 from MrPetovan/task/advancecontentfilter-attachments
[advancedcontentfilter] Add new attachments key in filter
2021-08-17 12:41:17 +02:00
3ddab77d55
Merge pull request #1156 from tobiasd/20210816-ja
JA translation updates THX XMPPはいいぞ
2021-08-16 06:21:42 -04:00
217643f67d [advancedcontentfilter] Clear rule cache anytime rules are changed in the database
- This was preventing updated rules from being applied immediately as the cached rules were still in effect
2021-08-16 06:10:34 -04:00
b141416b51 [advancedcontentfilter] Add new attachments key in filter
- Follows a change in Model\Item::prepareBody to enable filtering on attachments (images, sounds, videos, downloads...)
2021-08-16 06:09:40 -04:00
d26a1db790 [various] Remove remaining mentions of App->argc/argv
- The property has been removed in the core
2021-08-16 05:48:59 -04:00
ab4f909443 nitter: JA translation added THX XMPPはいいぞ 2021-08-16 08:05:01 +02:00
152f780b50 langfilter JA translation updated THX XMPPはいいぞ 2021-08-16 08:03:32 +02:00
Michael Vogel
1544fed2b9
Merge pull request #1155 from tobiasd/20210811-irc
IRC addon, some small changes
2021-08-11 16:22:54 +02:00
641b23e8d9 IRC addon: the mini-Howto link can be used via https 2021-08-11 16:14:06 +02:00
2420919c63 IRC addon: use the libera.chat webclient instead of the freenode one 2021-08-11 16:12:33 +02:00
fe0d81e863
Merge pull request #1154 from annando/blockbot2
Blockbot: some good guys and bad guys added
2021-08-11 05:02:48 -04:00
9a107801a8 Blockbot: some good guys and bad guys added 2021-08-11 07:50:55 +00:00
b74288fa96
Merge pull request #1152 from annando/app-user
Replaced direct calls to App->user
2021-08-09 17:00:24 -04:00
752602f5f5 "getUserId" is now "getLoggedInUserId" 2021-08-09 20:38:36 +00:00
08c64387d7 "getUserNickname" is now "getLoggedInUserNickname" 2021-08-09 19:49:06 +00:00
f1e7aa16b8
Merge pull request #1153 from tobiasd/20210809-ja
irc and langfilter JA translation added THX XMPPはいいぞ
2021-08-09 12:45:22 -04:00
4bd8071988 irc JA translation added THX XMPPはいいぞ 2021-08-09 18:22:12 +02:00
4eccb9b2a9 langfilter JA translation added THX XMPPはいいぞ 2021-08-09 18:21:05 +02:00
9cf43bb85b Changed function name 2021-08-09 15:29:26 +00:00
17f9a76ac5
Merge pull request #1151 from annando/postopts
Changed parameter for delayed posts
2021-08-08 15:15:37 -04:00
9ad7500146 Remove the use of app function 2021-08-08 17:10:04 +00:00
e823a1bd05 Replaced direct calls to App->user 2021-08-08 11:17:08 +00:00
20bf1c4f24 Changed parameter for delayed posts 2021-08-06 18:52:44 +00:00
Michael Vogel
2d4ecd5ccf
Merge pull request #1150 from tobiasd/20210728-zhcn
ifttt translation updated ZH CN THX Finn Dean
2021-07-28 07:42:12 +02:00
e6b880d206 ifttt translation updated ZH CN THX Finn Dean 2021-07-28 07:22:30 +02:00
e7aa68aba6
Merge pull request #1149 from annando/parser-session
Rendertime: "Parser" is now "session"
2021-07-27 10:00:01 -04:00
df257362c4 Rednertime: "Parser" is now "session" 2021-07-27 13:57:36 +00:00
2cc453ca52
Merge pull request #1148 from annando/args
Replaced argv/argc with replacement functions
2021-07-26 06:02:02 -04:00
d902f6808d Use globals instead of $a->data 2021-07-25 17:28:07 +00:00
cc8aeb11de Updated messages.po 2021-07-25 13:17:48 +00:00
f878d2e463 Replaced argv/argc with replacement functions 2021-07-25 12:29:43 +00:00
42454b3cf7
Merge pull request #1147 from annando/deprecated
Widgets: Replaced deprecated function
2021-07-24 10:37:08 +02:00
dfd710b59d Widgets: Replaced deprecated function 2021-07-24 06:21:38 +00:00
4ff458ecf2
Merge pull request #1146 from annando/langfilter-speed
Langfilter: Improve performance by using pre rendered content
2021-07-18 07:02:06 +02:00
Michael Vogel
dc81a5cf5f Langfilter: Improve performance by using pre rendered content 2021-07-18 01:36:23 +02:00
74ea687c2e
Merge pull request #1145 from annando/simple-short
Support for simple shortening
2021-07-13 21:03:00 -04:00
ee2a97fa5c Support for simple shortening 2021-07-12 14:10:38 +00:00
57be32257b
Merge pull request #1144 from annando/foruriid
Use "convertForUriId" when possible
2021-07-10 17:42:12 -04:00
9eaa6a2c08 Use "convertForUriId" when possible 2021-07-10 07:40:39 +00:00
Michael Vogel
b164910032
Merge pull request #1143 from friendica/20210701-securemail
added missing )
2021-07-01 08:33:13 +02:00
fb4687b6df added missing )
This is a followup to PR  #1142 adding a missing ) to the if statement.
2021-07-01 07:47:48 +02:00
bcda4f3c15
Merge pull request #1142 from Tealk/secure-mail
[securemail] template adapted to standard
2021-06-30 21:22:20 -04:00
d86ad302e3
[securemail] Fix quoting style in securemail_settings_post() 2021-06-30 21:20:59 -04:00
629c1cca9f
fix $_POST variable 2021-06-30 09:36:21 +02:00
Tealk
ad111e05df
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-06-29 17:30:13 +02:00
a754a895ed
template adapted to standard 2021-06-29 11:18:15 +02:00
e83170ffcd
Merge pull request #1141 from MrPetovan/bug/10439-addon-settings-forms
[mailstream] Add a name to the addon settings submit button
2021-06-29 07:24:00 +02:00
Benjamin Lorteau
dd7f343d43 [mailstream] Add a name to the addon settings submit button
- Now that each addon form is in their own form tag, we have to check whether the addon submit button was pressed.
- This was already done in every other addon but mailstream and this change will prevent unexpected loss of mailstream settings when saving any other addon settings.
2021-06-27 22:15:11 -04:00
Benjamin Lorteau
93892fd25a [catavatar] Remove unused code
- The $seed variable isn't used in that function, which removes the need for the database call.
2021-06-27 22:12:40 -04:00
acdb5c551f
Merge pull request #1140 from nupplaphil/bug/catavatar
[securemail] Remove wrong 5th argument
2021-06-27 21:24:36 -04:00
0a8fe9149f
Merge pull request #1138 from nupplaphil/feat/phpmailer
[phpmailer] Update phpmailer to v6.5.0
2021-06-27 20:59:43 -04:00
50552912b8
Remove wrong 5th argument for securemail 2021-06-27 21:33:12 +02:00
Michael Vogel
45fe085dac
Merge pull request #1139 from tobiasd/20210627-hu
HU translation of various addon uspdated THX urbalazs
2021-06-27 16:46:53 +02:00
c07649cd2b js upload addon HU translation updated THX Balázs Úr 2021-06-27 14:34:52 +02:00
578e79afa6 added HU translation of keycloakpassword addon THX urbalazs 2021-06-27 14:33:48 +02:00
27fc16d631 langfilter addon HU translation updated THX Balázs Úr 2021-06-27 14:31:45 +02:00
22feb9ca04 HU translation added nitter addon THX urbalazs 2021-06-27 14:30:39 +02:00
0bd7943d95 HU translation update saml addon THX urbalazs 2021-06-27 14:29:03 +02:00
410c90460e
[phpmailer] Update phpmailer to v6.5.0 2021-06-26 19:46:51 +02:00
Philipp
3879d4f4fa
Merge pull request #1137 from friendica/dependabot/composer/phpmailer/phpmailer/phpmailer-6.5.0
Bump phpmailer/phpmailer from 6.1.6 to 6.5.0 in /phpmailer
2021-06-22 19:12:22 +02:00
dependabot[bot]
4914afa221
Bump phpmailer/phpmailer from 6.1.6 to 6.5.0 in /phpmailer
Bumps [phpmailer/phpmailer](https://github.com/PHPMailer/PHPMailer) from 6.1.6 to 6.5.0.
- [Release notes](https://github.com/PHPMailer/PHPMailer/releases)
- [Changelog](https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md)
- [Commits](https://github.com/PHPMailer/PHPMailer/compare/v6.1.6...v6.5.0)

---
updated-dependencies:
- dependency-name: phpmailer/phpmailer
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 15:39:04 +00:00
17f6c8902b
Merge pull request #1136 from annando/header
Fill the header field of the contact with the twitter banner
2021-06-22 11:19:59 -04:00
b4839e8a37 Fill the header field of the contact with the twitter banner 2021-06-22 15:00:59 +00:00
0d4c95b7bc
Merge pull request #1133 from mexon/mat/mailstream-workerqueue
Use workerqueue for mailstream jobs instead of custom table
2021-06-16 17:57:06 -04:00
91eefebab4
Merge pull request #1135 from annando/profile-update
CatAvatar: Use new function to perform a profile update
2021-06-16 10:23:11 -04:00
ca4c76ce41 CatAvatar: Use new function to perform a profile update 2021-06-16 05:26:10 +00:00
Matthew Exon
6596a81af1 Retry failed mails with the defer() feature 2021-06-12 18:22:53 +02:00
1030498c09
Merge pull request #1134 from annando/bb-agent
Blockbot: Added "axios" to the "good" agents
2021-06-11 11:35:29 -04:00
4791838cfd Blockbot: Added "axios" to the "good" agents 2021-06-11 14:37:20 +00:00
Matthew Exon
a50ca54999 Use workerqueue for mailstream jobs instead of custom table 2021-06-10 18:11:26 +02:00
Michael Vogel
b5d841643c
Merge pull request #1132 from MrPetovan/bug/10378-ldapauth-wrong-parameters
[ldapauth] Only call ldap_createaccount once
2021-06-08 06:41:41 +02:00
f6735056b0 [ldap] Only call ldap_createaccount once
- Moved group membership check before user creation
- Improve group membership check error message specificity
2021-06-07 23:55:24 -04:00
b300d27d19
Merge pull request #1131 from annando/twitter-logging
Twitter: Improved logging for the picture upload
2021-06-02 09:31:30 -04:00
72b6898d49 Twitter: Improved logging for the picture upload 2021-06-02 13:13:26 +00:00
Michael Vogel
be62a9a369
Merge pull request #1130 from MrPetovan/bug/notices
[openstreetmap] Ensure location key is available in hook data
2021-05-31 10:59:34 +02:00
7cad014049 [openstreetmap] Ensure location key is available in hook data
- Address https://github.com/friendica/friendica/issues/10169#issuecomment-835548421
2021-05-31 01:44:17 -04:00
0464660cad
Merge pull request #1129 from nupplaphil/bug/friendica-10314
Fix cat avatar for non-admin users
2021-05-29 16:57:31 -04:00
5ea82418d8
Revert indentation 2021-05-29 21:59:54 +02:00
58e38651b2
Fix cat avatar for non-admin users 2021-05-29 21:57:14 +02:00
Michael Vogel
050b46139b
Merge pull request #1128 from nupplaphil/bug/twitter_timeout
Catch Twitter Exceptions
2021-05-29 21:27:27 +02:00
d032800f1e
Catch Twitter Exceptions 2021-05-29 21:14:12 +02:00
Michael Vogel
431607509d
Merge pull request #1127 from nupplaphil/bug/friendica-10312
[securemail,phpmailer] Increase priority for securemail over phpmailer
2021-05-29 21:14:06 +02:00
bb8c01eba7
Increase priority for securemail over PHP SMTP mail 2021-05-29 20:59:51 +02:00
f014d84798
Merge pull request #1125 from annando/blockbot-agents
Blockbot: Move Zabbix to the "good" agents
2021-05-24 05:56:36 -04:00
Michael Vogel
18556027cb
Merge pull request #1126 from tobiasd/20210524-de
DE translation updates THX Till Mohr
2021-05-24 09:22:40 +02:00
7038a2065f DE translation piwik addon THX Till Mohr 2021-05-24 08:23:04 +02:00
54a7ff5095 DE morechoice translation update THX cTill Mohr 2021-05-24 08:22:03 +02:00
2ef9e7bfea Blockbot: Move Zabbix to the "good" agents 2021-05-24 06:21:07 +00:00
2f67e4bac2 public server addon DE translation update THX Till Mohr 2021-05-24 08:20:28 +02:00
a379e0f1c3 DE translation update remote_permission addon THX Till Mohr 2021-05-24 08:19:30 +02:00
40c7094532 DE translation update saml addon THX Till Mohr 2021-05-24 08:18:24 +02:00
d753afb1b0 added DE translation of xmpp THX Till Mohr 2021-05-24 08:17:11 +02:00
5e9beb66ee DE translation blackout THX Till Mohr 2021-05-24 08:16:07 +02:00
fc8a286af3 correction of wrong DE translation for the twitter addon THX Till Mohr 2021-05-24 08:15:02 +02:00
0e48d05a96 DE translation for curweather THX Till Mohr 2021-05-24 08:14:14 +02:00
133afd2df4 diaspora addon DE translation updated THX Till Mohr 2021-05-24 08:13:15 +02:00
8764f5205a
Merge pull request #1124 from annando/twitter-unlisted
Twitter: Make incoming posts unlisted
2021-05-24 08:06:36 +02:00
d14f604049 Twitter: Make incoming posts unlisted 2021-05-24 06:00:23 +00:00
1aeb073aa4
Merge pull request #1123 from nupplaphil/feat/drone_php-cs
Add PHP-CS check
2021-05-23 07:37:06 -04:00
Philipp
f4f61aa151
Update .drone.yml
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-05-22 23:43:22 +02:00
Philipp
e84867f324
Update .drone.yml
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-05-22 23:43:18 +02:00
95737984a0
Remove test-files 2021-05-22 20:06:07 +02:00
622ec88fe3
test-files for PHP-CS 2021-05-22 20:04:22 +02:00
b852a61611
Add PHP-CS check 2021-05-22 20:04:22 +02:00
8441e698ce
Merge pull request #1122 from nupplaphil/bug/drone
Fixing drone :-)
2021-05-22 13:59:44 +02:00
dbde5358c6
Remove github workflow 2021-05-22 13:52:12 +02:00
05c98064b4
Remove temporary missed translations 2021-05-22 13:50:42 +02:00
719dee2cff
Add temporary missed translations 2021-05-22 13:49:30 +02:00
bf80f21bb9
Fix Drone for PR messages.po check 2021-05-22 13:48:30 +02:00
cfb11cd1eb
Merge pull request #1121 from tobiasd/20210521-keycloakde
DE translation for the keycloakpassword addon added
2021-05-21 10:23:03 -04:00
37e2241edb DE translation for the keycloakpassword addon added 2021-05-21 15:15:57 +02:00
f774d03903
Merge pull request #1120 from tobiasd/nitter
nitter addon added
2021-05-21 08:43:11 -04:00
c2d502d244 some CS 2021-05-21 14:06:47 +02:00
e485c13a0e
Merge pull request #1119 from tobiasd/20210521-keycloakmessages
[keycloakpassword] added base messages.po file for translations
2021-05-21 07:44:16 -04:00
87a3a0589a nitter addon added
Treansfering the addon from the separate repository into the projects addon collection.

This addon is meant to replace links to Twitter in the body of postings with a nitter [1] instance of the admins choice. It is not meant to change links to contact prociles.

In addition to the change, a note about the changed links is placed at the bottom of the posting.

1: https://github.com/zedeus/nitter
2021-05-21 10:11:11 +02:00
d5c7dd80aa [keycloakpassword] added base messages.po file for translations 2021-05-21 07:58:24 +02:00
4ab8b8bba4
Merge pull request #1118 from MrPetovan/task/8262-showmore-add-rtl-support
[showmore] Add RTL support to showmore created div
2021-05-20 16:41:28 +02:00
1c745a3d3a [showmore] Add RTL support to showmore created div 2021-05-20 08:43:53 -04:00
225fbd0677
Merge pull request #1116 from very-ape/keycloakpassword
Add an addon for password-based authentication against Keycloak.
2021-05-19 13:10:39 -04:00
dba14ca18b
Merge pull request #1117 from tobiasd/20210519-lng
translation updates
2021-05-19 08:41:57 -04:00
af10b60e97 added DE translation of the SAML addon 2021-05-19 08:21:04 +02:00
573b29195b twitter addon JA translation update THX daingewuvzeevisiddfddd 2021-05-19 08:06:07 +02:00
very-ape
344e2c6978 Add an addon for password-based authentication against Keycloak. 2021-05-18 15:51:30 -07:00
8bd9c6dac9
Merge pull request #1113 from tobiasd/samlmessages
SAML addon generated messages.po file for translation process
2021-05-18 07:32:57 -04:00
40f0a937f4 SAML addon generated messages.po file for translation process 2021-05-18 07:25:43 +02:00
1240135099
Merge pull request #1112 from nupplaphil/feat/drone_addon
Enable Drone for Friendica addons
2021-05-17 17:24:22 -04:00
8bd2d7d0eb
Merge pull request #1111 from very-ape/develop
Add SAML addon.
2021-05-17 17:23:25 -04:00
very-ape
dc2e40e71d Set a reasonable version number! 2021-05-17 13:03:39 -07:00
very-ape
c87ee96050 Add whitespace around comments in saml_settings to ease reading. 2021-05-17 13:01:15 -07:00
very-ape
c61ff5c4eb Replace array() with square bracket syntax. 2021-05-17 12:53:35 -07:00
very-ape
c6aa212ea4 Remove the deprecated Strings::escapeTags, as we now rely on Smarty to catch HTML tags. 2021-05-17 12:48:12 -07:00
very-ape
026767d07e Fix wrong indentation! D: 2021-05-17 12:46:19 -07:00
1fca1a68d1
Enable Drone for Friendica addons 2021-05-17 21:40:14 +02:00
very-ape
1ba2e5c9c9 Replace double quotes with single quotes where applicable. 2021-05-17 12:24:30 -07:00
very-ape
534b352ebc Prevent execution of SAML functions and show or log a message when the addon isn't configured. 2021-05-17 11:11:19 -07:00
very-ape
e41efd72eb Break up long line. 2021-05-17 10:59:03 -07:00
very-ape
fdb2a26c90 Remove debug endpoint. 2021-05-17 10:55:39 -07:00
very-ape
092605c2c2 Apply PHPCS fixes. 2021-05-17 10:55:15 -07:00
very-ape
e39e621421 Remove superfluous 'use' statement. The SAML library comes with its own loader. 2021-05-17 10:51:21 -07:00
very-ape
3f5880b914 Move function declaration braces to meet PSR-2 standard. 2021-05-17 10:37:13 -07:00
very-ape
aa2992adb1 Replace spaces with tabs. 2021-05-17 10:34:04 -07:00
very-ape
72ed9efc2e Remove overlooked HTML comment. 2021-05-17 10:29:10 -07:00
very-ape
3deb261c5e Only pass string literals to l10n. Only string literals passed directly get picked up by the translation service. 2021-05-17 10:26:38 -07:00
very-ape
58ec90b915 Switch from HTML to BBCode for 'Basic Settings' notice. 2021-05-17 10:17:50 -07:00
very-ape
e6f480dd75 Use __FILE__ instead of hardcoded string in hook registration. 2021-05-17 10:03:16 -07:00
very-ape
7b69546ab4 Log SAML errors in saml_sso_reply 2021-05-16 21:25:21 -07:00
very-ape
4b3b79c894 Add SAML addon. 2021-05-16 21:15:25 -07:00
f04493b5bb
Merge pull request #1110 from tobiasd/20210510-ja
JA translation update of the blackout addon THX daingewuvzeevisiddfddd
2021-05-10 07:35:55 -04:00
e5e73ad692 JA translation update of the blackout addon THX daingewuvzeevisiddfddd 2021-05-10 07:28:50 +02:00
defd910285
Merge pull request #1109 from mexon/mat/mailstream-code-standards
Apply coding standards to mailstream plugin
2021-05-08 16:45:07 -04:00
Matthew Exon
06f44abd05 Apply coding standards to mailstream plugin 2021-05-08 22:24:02 +02:00
6a325dc14d
Merge pull request #1108 from mexon/mat/mailstream-comments
Add comments to functions in mailstream plugin
2021-05-08 15:44:27 -04:00
Matthew Exon
99462552a0 correction to the content of the item array 2021-05-08 21:01:51 +02:00
Matthew Exon
3d2bdeb5a4 Add comments to functions in mailstream plugin 2021-05-08 19:59:46 +02:00
Michael Vogel
e646aa3695
Merge pull request #1107 from tobiasd/20210508-it
IT translation updates THX Sylke Vicious
2021-05-08 10:29:14 +02:00
c0d883076d IT translation for gravatar addon THX silkevicious 2021-05-08 07:22:30 +02:00
2f572878eb IT translation for libravatar addon THX silkevicious 2021-05-08 07:21:31 +02:00
5b3c86f5d2 IT translation of js upload addon updated THX Sylke Vicious 2021-05-08 07:20:25 +02:00
58ffb47b11 IT translation of js upload addon updated THX Sylke Vicious 2021-05-08 07:19:56 +02:00
5e6521b955 IT translation of langfilter addon updated THX Sylke Vicious 2021-05-08 07:18:15 +02:00
0d4ee1924d
Merge pull request #1106 from annando/attachments
Twitter: Attachments are stripped from the body / Posting connectors: Add attachments to the body
2021-05-01 10:22:10 -04:00
85554bb6fd Twitter: Attachments are stripped from the body / Posting connectors: Add attachments to the body 2021-05-01 08:59:14 +00:00
f0d88c6370
Merge pull request #1103 from fabrixxm/opmlexport
OPML Export
2021-04-27 15:30:15 -04:00
fabrixxm
323904db0a Fix indentation. Again. 2021-04-27 21:21:58 +02:00
fabrixxm
9795ad4d5e Replace DBA:p with Contact:selectToArray 2021-04-27 21:08:42 +02:00
fabrixxm
e30188f143 Code standards 2021-04-27 21:07:18 +02:00
773bffe69d
Merge pull request #1105 from annando/media
Media handling - correct branch
2021-04-27 14:59:56 -04:00
a3ccc0b71d Merge remote-tracking branch 'upstream/develop' into media 2021-04-27 18:37:21 +00:00
12da1ff139
Merge pull request #1104 from mexon/mat/mailstream-update-2021.04
Update mailstream plugin for 2021.04
2021-04-27 12:37:52 -04:00
Matthew Exon
04a0afcc97 Update mailstream plugin for 2021.04 2021-04-27 16:48:37 +02:00
fabrixxm
2580c636d0 OPML Export
Export user's active RSS/Atom contacts as OPML.
2021-04-27 09:54:42 +02:00
e945869e96 Comment change 2021-04-27 01:05:08 +00:00
286aa4770f Improve comment 2021-04-26 21:11:33 +00:00
97f5910de7 Removed commented stuff 2021-04-26 14:12:53 +00:00
e8d30a5c69 Merge remote-tracking branch 'upstream/develop' into media 2021-04-26 13:03:05 +00:00
c9be3cfa7b Improved media handling 2021-04-26 12:54:40 +00:00
47bc4a97f7
Merge pull request #1100 from tobiasd/20210420-it
IT translation update
2021-04-21 00:38:53 -04:00
3157c99ea7 IT translation update blackout addon THX Sylke Vicious 2021-04-20 11:01:25 +02:00
ba722e52da IT translation update testdrive addon THX Sylke Vicious 2021-04-20 10:59:38 +02:00
8e101a470d IT translation update jrynn addon THX Sylke Vicious 2021-04-20 10:58:20 +02:00
d716e12602
Merge pull request #1099 from nupplaphil/feat/check
Fix auto-test for messages.po
2021-04-12 15:08:05 -04:00
e497d5a86a
Fix Auto-Test for messages.po 2021-04-12 20:08:10 +02:00
be2e893079
Merge pull request #1098 from nupplaphil/feat/check_messages
Auto-Test for messages.po
2021-04-11 13:09:31 -04:00
d3ccce5efb
Auto-Test for messages.po 2021-04-11 18:16:36 +02:00
2a3d43f1f2
Merge pull request #1097 from annando/acvlang
advancedcontentfilter: Add language values to filter fields
2021-04-11 06:56:28 -04:00
a295a4097a advancedcontentfilter: Add language values to filter fields (#10052, #10136) 2021-04-11 09:03:14 +00:00
c7528b95b6
Merge pull request #1096 from annando/post-type
Twitter: Setting the "post-type"
2021-04-07 11:43:13 -04:00
2854e8f363 Twitter: Setting the "post-type" 2021-04-07 12:09:10 +00:00
c278440578
Merge pull request #1095 from tobiasd/20210406-lng
translation updates DE, ES
2021-04-06 07:46:43 -04:00
6bbfef9385 markdown addon ES translation added THX Senex Petrovic 2021-04-06 07:11:36 +02:00
e2ea061887 ES translation of the mathjax addon updated THX Senex Petrovic 2021-04-06 07:09:59 +02:00
fa9adcf0ba morechoice addon HU translation added THX Senex Petrovic 2021-04-06 07:08:55 +02:00
7a49da0d70 ES translation of the mailstream addon updated THX Senex Petrovic 2021-04-06 07:07:40 +02:00
6bd4f60cde ES translation of the newmemberwidget addon updated THX Senex Petrovic 2021-04-06 07:06:34 +02:00
881e83d3a2 ES translation of the notimeline addon updated THX Senex Petrovic 2021-04-06 07:05:37 +02:00
bf6a7ab337 ES translation of the nsfw addon updated THX Senex Petrovic 2021-04-06 07:04:33 +02:00
c9409ad8a2 ES translation of the gravatar addon updated THX Senex Petrovic 2021-04-06 07:03:29 +02:00
cec21dbd41 ES translation of the numfriends addon updated THX Senex Petrovic 2021-04-06 07:02:28 +02:00
addf6b5911 ES translation of the openstreetmaü addon updated THX Senex Petrovic 2021-04-06 07:01:31 +02:00
ea5a3e52c9 ES translation of the pageheader addon updated THX Senex Petrovic 2021-04-06 07:00:31 +02:00
8bf71582a0 ES translation of the piwik addon updated THX Senex Petrovic 2021-04-06 06:59:40 +02:00
5fef3a2d82 ES translation of the planets addon updated THX Senex Petrovic 2021-04-06 06:58:49 +02:00
8c39e22b89 ES translation of the public server addon updated THX Senex Petrovic 2021-04-06 06:57:50 +02:00
35bccaa604 ES translation of the pumpio addon updated THX Senex Petrovic 2021-04-06 06:56:58 +02:00
e38eb1c71c ES translation of the qcomment addon updated THX Senex Petrovic 2021-04-06 06:55:56 +02:00
4056a01f47 ES translation of the rendertime addon updated THX Senex Petrovic 2021-04-06 06:54:59 +02:00
2e64545f52 ES translation of the randplace addon updated THX Senex Petrovic 2021-04-06 06:53:43 +02:00
6480bd7be1 ES translation of the securemail addon added THX Senex Petrovic 2021-04-06 06:51:45 +02:00
7a4e49750a ES translation of the showmore addon updated THX Senex Petrovic 2021-04-06 06:50:15 +02:00
471361430d ES translation of the startpage addon updated THX Senex Petrovic 2021-04-06 06:49:09 +02:00
2451fe338d ES translation of the superblock addon updated THX Senex Petrovic 2021-04-06 06:47:56 +02:00
247cee34e7 ES translation of the estdrive addon updated THX Senex Petrovic 2021-04-06 06:46:52 +02:00
e1c0103da2 ES translation of the tumblr addon updated THX Senex Petrovic 2021-04-06 06:45:46 +02:00
f2cb763d86 ES translation of the twitter addon updated THX Senex Petrovic 2021-04-06 06:44:29 +02:00
1299914d43 ES translation of the viewsrc addon updated THX Senex Petrovic 2021-04-06 06:42:47 +02:00
a537f280e7 ES translation of the windowsphonepush addon updated THX Senex Petrovic 2021-04-06 06:40:48 +02:00
ae202e22d1 ES translation of the xmpp addon added THX Senex Petrovic 2021-04-06 06:35:47 +02:00
479533bf40 ES translation of the wppost addon updated THX Senex Petrovic 2021-04-06 06:34:00 +02:00
291c85c7af advancedcontentfilter updated ES translation THX Senex Petrovic 2021-04-06 06:32:20 +02:00
9305bc9e6e NB-NO translation of langfilter addon updated THX Tom Aurlund 2021-04-06 06:28:55 +02:00
c4a2bd9607 DE translation of the planets addon updated THX Steffen K9 2021-04-06 06:26:15 +02:00
2ec719646c
Merge pull request #1088 from urbalazs/langfilter-20210325
[langfilter] Fix typos
2021-04-04 12:13:27 -04:00
4717f5c55f
Merge pull request #1094 from tobiasd/20210403-lng
public server addon DE translation update THX Steffen K9
2021-04-03 14:54:06 -04:00
bf124f67e6 public server addon DE translation update THX Steffen K9 2021-04-03 20:13:17 +02:00
Michael Vogel
42520d0351
Merge pull request #1093 from tobiasd/20210402-lng
ES translation updates THX Senex Petrovic
2021-04-02 09:30:11 +02:00
2428e85519 ljpost addon ES translation updated THX Senex Petrovic 2021-04-02 08:50:42 +02:00
a1b8da43d0 libravatar addon ES translation updated THX Senex Petrovic 2021-04-02 08:49:48 +02:00
fdf10ec0dc libertree addon ES translation updated THX Senex Petrovic 2021-04-02 08:48:56 +02:00
a66cb80307 krynn addon ES translation updated THX Senex Petrovic 2021-04-02 08:47:56 +02:00
0553910895 jappixmini addon ES translation updated THX Senex Petrovic 2021-04-02 08:46:49 +02:00
f5f37842c6 impressum addon ES translation updated THX Senex Petrovic 2021-04-02 08:45:46 +02:00
ca343f1dc5 ijpost addon ES translation updated THX Senex Petrovic 2021-04-02 08:44:34 +02:00
f9dfcad0bd ijpost addon ES translation updated THX Senex Petrovic 2021-04-02 08:44:09 +02:00
bb0221f48f ifttt addon ES translation added THX Senex Petrovic 2021-04-02 08:42:47 +02:00
57531318a6 grou_text addon ES translation updated THX Senex Petrovic 2021-04-02 08:40:59 +02:00
c07f1b4f6f gnot addon ES translation updated THX Senex Petrovic 2021-04-02 08:38:43 +02:00
da66d70e54 geonames addon ES translation updated THX Senex Petrovic 2021-04-02 08:37:45 +02:00
0a1447da10 fromapp addon ES translation updated THX Senex Petrovic 2021-04-02 08:36:44 +02:00
325798b3cf forumdirectory addon ES translation updated THX Senex Petrovic 2021-04-02 08:34:38 +02:00
24e046d949 dwpost addon ES translation updated THX Senex Petrovic 2021-04-02 08:33:39 +02:00
748aad41b0 diaspora addon ES translation updated THX Senex Petrovic 2021-04-02 08:32:19 +02:00
78170f19ee curweather addon ES translation updated THX Senex Petrovic 2021-04-02 08:30:56 +02:00
9bcc488899 cookienotice addon ES translation added THX Senex Petrovic 2021-04-02 08:29:40 +02:00
28623e80b3 blockem addon ES translation updated THX Senex Petrovic 2021-04-02 08:27:51 +02:00
b851879f3c blackout addon ES translation updated THX Senex Petrovic 2021-04-02 08:26:03 +02:00
9af1fccfcb
Merge pull request #1092 from tobiasd/20210329-lng
DE translation updates for some more addons
2021-03-29 13:06:33 -04:00
47bfca6dae rendertime addon DE translation updated 2021-03-29 07:48:17 +02:00
862fff7dfc startpage addon DE translation updated 2021-03-29 07:45:00 +02:00
71a40c3812 testdrive addon DE translation updated 2021-03-29 07:43:16 +02:00
f399295ed2 newmemberwidget addon DE translation updated 2021-03-29 07:40:27 +02:00
70f541c58b mathjax addon DE translation updated 2021-03-29 07:39:53 +02:00
889525ad81 ljpost addon DE translation updated 2021-03-29 07:37:17 +02:00
666c952ca9 krynn addon DE translation updated 2021-03-29 07:35:45 +02:00
4e208f8f12 jsupload addon DE translation updated 2021-03-29 07:33:58 +02:00
5e800b012b jappicmini addon DE translation updated 2021-03-29 07:32:14 +02:00
a7ed735ff1 impressum addon DE translation updated 2021-03-29 07:30:40 +02:00
8271a56134 ijpost addon DE translation updated 2021-03-29 07:29:22 +02:00
9752d043fb group text addon DE translation updated 2021-03-29 07:27:33 +02:00
69bbd8b439
Merge pull request #1091 from tobiasd/20210301-lng
various translations
2021-03-28 20:08:02 -04:00
d0954b453a notifyall addon HU translation added THX Balázs Úr 2021-03-28 22:37:27 +02:00
2a7cf8f5ac notimeline addon HU translation added THX Balázs Úr 2021-03-28 22:36:25 +02:00
a500f95f9c nsfw addon HU translation added THX Balázs Úr 2021-03-28 22:35:29 +02:00
d3e26c729f numfriends addon HU translation added THX Balázs Úr 2021-03-28 22:34:27 +02:00
af5799bda3 openstreetmap addon HU translation added THX Balázs Úr 2021-03-28 22:33:22 +02:00
1ecb21f516 pageheader addon HU translation added THX Balázs Úr 2021-03-28 22:32:16 +02:00
89f1fb802a piwik addon HU translation added THX Balázs Úr 2021-03-28 22:31:13 +02:00
1954f125fe planets addon HU translation added THX Balázs Úr 2021-03-28 22:30:16 +02:00
70b77f00b8 mathjax addon HU translation added THX Balázs Úr 2021-03-28 22:29:08 +02:00
126f480a66 newmemberwidget addon HU translation added THX Balázs Úr 2021-03-28 22:27:57 +02:00
b46b730af4 mailstream addon HU translation added THX Balázs Úr 2021-03-28 22:26:46 +02:00
226139da8e markdown addon HU translation added THX Balázs Úr 2021-03-28 22:25:32 +02:00
6519956b5f wppost addon HU translation added THX Balázs Úr 2021-03-28 22:24:25 +02:00
3e37e5aa11 xmpp addon HU translation added THX Balázs Úr 2021-03-28 22:23:14 +02:00
bdbfd9e919 public_server addon HU translation added THX Balázs Úr 2021-03-28 22:20:11 +02:00
c772d13544 qcomment addon HU translation added THX Balázs Úr 2021-03-28 22:18:23 +02:00
97baf25c7d randplace addon HU translation added THX Balázs Úr 2021-03-28 22:17:10 +02:00
11466eb1a7 remote_permissions addon HU translation added THX Balázs Úr 2021-03-28 22:15:56 +02:00
cb790ab4b8 rendertime addon HU translation added THX Balázs Úr 2021-03-28 22:12:49 +02:00
b4f0d0bd75 securemail addon HU translation added THX Balázs Úr 2021-03-28 22:11:34 +02:00
e91da55351 showmore addon HU translation added THX Balázs Úr 2021-03-28 22:10:27 +02:00
da5c3db6cc smileybutton addon HU translation added THX Balázs Úr 2021-03-28 22:09:15 +02:00
eef43ddf3d startpage addon HU translation added THX Balázs Úr 2021-03-28 22:07:52 +02:00
a372b65f8a morechoice addon HU translation added THX Balázs Úr 2021-03-28 22:06:38 +02:00
6e5a59f29f webrtc addon HU translation added THX Balázs Úr 2021-03-28 22:05:15 +02:00
08ae8e4e3a superblock addon HU translation added THX Balázs Úr 2021-03-28 22:03:59 +02:00
a54846d862 testdrive addon HU translation added THX Balázs Úr 2021-03-28 22:02:24 +02:00
f89765593d statusnet addon HU translation added THX Balázs Úr 2021-03-28 22:00:55 +02:00
d1a7b83cff langfilter addon HU translation added THX Balázs Úr 2021-03-28 21:59:43 +02:00
bfc176a546 libertree addon HU translation added THX Balázs Úr 2021-03-28 21:58:34 +02:00
7b12a9ed27 libravatar addon HU translation added THX Balázs Úr 2021-03-28 21:57:22 +02:00
e6d19c37f3 ljpost addon HU translation added THX Balázs Úr 2021-03-28 21:56:01 +02:00
9c88cc7108 tictac addon HU translation added THX Balázs Úr 2021-03-28 21:54:35 +02:00
c5890731ad tumblr addon HU translation added THX Balázs Úr 2021-03-28 21:52:59 +02:00
37501f74fb pumpio addon HU translation added THX Balázs Úr 2021-03-28 21:51:31 +02:00
32ab02a1a0 twitter addon HU translation added THX Balázs Úr 2021-03-28 20:28:37 +02:00
3610d215eb wppost IT translation THX Sylke Vicious 2021-03-28 20:26:39 +02:00
6ae5b44ea9 mailstream addon IT translation updated THX fabrixxm 2021-03-28 20:23:32 +02:00
dfb5c8f821 markdown addon DE translation updated 2021-03-28 20:21:50 +02:00
9e04346676 notifyall addon IT translation updated THX fabrixxm 2021-03-28 20:19:54 +02:00
d50c7ab010 diaspora addon FR translation updated THX bob lebonche 2021-03-28 20:16:05 +02:00
e883701b82 dwpost addon FR translation updated THX bob lebonche 2021-03-28 20:14:34 +02:00
9e025b4771 gnot addon FR translation updated THX bob lebonche 2021-03-28 20:13:39 +02:00
b6ac955ca3 group text addon translation updated THX bob lebonche 2021-03-28 20:12:09 +02:00
24777b1fe3 jappixmini addon FR translation updated THX bob lebonche 2021-03-28 20:10:33 +02:00
fe24c7bc73 js upload addon FR translation updated THX bob lebonche 2021-03-28 20:09:29 +02:00
59146f9879 krynn addon FR translation updated THX bob lebonche 2021-03-28 20:08:35 +02:00
d0477a0fe9 libertree addon FR translation updated THX bob lebonche 2021-03-28 20:07:07 +02:00
c04bd86a82 xmpp addon FR translation added THX bob lebonche 2021-03-28 20:05:54 +02:00
f7af190abf tumblr addon FR translation updated THX bob lebonche 2021-03-28 20:04:24 +02:00
d7625517f2 krynn addon HU translation added THX Balázs Úr 2021-03-28 20:01:56 +02:00
2ed46eeefe js upload addon HU translation added THX Balázs Úr 2021-03-28 20:00:47 +02:00
a3b873647c jappixmini addon HU translation added THX Balázs Úr 2021-03-28 19:59:33 +02:00
ead4901020 DE translation for curweather 2021-03-28 19:57:47 +02:00
e56272d956 ifttt addon HU translation added THX Balázs Úr 2021-03-28 19:55:50 +02:00
d754a5c0f9 ijpost addon HU translation added THX Balázs Úr 2021-03-28 19:54:41 +02:00
ae4c87f6bf impressum addon HU translation added THX Balázs Úr 2021-03-28 19:53:21 +02:00
96a41ef2a4 infinite improbability drive addon HU translation added THX Balázs Úr 2021-03-28 19:52:04 +02:00
195380eb7e irc addon HU translation added THX Balázs Úr 2021-03-28 19:49:40 +02:00
2af78ab674 FR translation update advancedcontentfilter THX Wil Tur 2021-03-28 19:47:08 +02:00
1fc9debbc1 langfilter addon FR translation updated THX Wil Tur 2021-03-28 19:45:22 +02:00
39e753329a blackout addon FR translation updated THX bob lebonche 2021-03-28 19:43:39 +02:00
1a9bfc04db cookienotice addon FR translation updated THX bob lebonche 2021-03-28 19:42:35 +02:00
02e6e56e85 curweather addon FR translation updated THX bob lebonche 2021-03-28 19:41:37 +02:00
4732761c1b geonames addon FR translation updated THX bob lebonche 2021-03-28 19:40:26 +02:00
8cee4de52f gravatar addon FR translation updated THX bob lebonche 2021-03-28 19:39:27 +02:00
1a4661e984 ijpost addon FR translation updated THX bob lebonche 2021-03-28 19:38:22 +02:00
51f47ef283 fromapp addon FR translation updated THX bob lebonche 2021-03-28 19:35:59 +02:00
61cb9dd518 ljpost addon RU translation added THX Alexander An 2021-03-28 19:33:16 +02:00
ec3e4a0baa libertree addon RU translation added THX Alexander An 2021-03-28 19:30:53 +02:00
d8ac4d0cdf group_text addon HU translation added THX Balázs Úr 2021-03-28 19:26:22 +02:00
2dbcc42384 gravatar addon HU translation updated THX Balázs Úr 2021-03-28 19:24:35 +02:00
ce50fda7b1 gnot addon HU translation updated THX Balázs Úr 2021-03-28 19:23:44 +02:00
d33bba37a7 geonames addon HU translation updated THX Balázs Úr 2021-03-28 19:22:51 +02:00
46de1b8b89 forumdirectory addon HU translation updated THX Balázs Úr 2021-03-28 19:21:56 +02:00
cd86ecf857 dwpost addon HU translation updated THX Balázs Úr 2021-03-28 19:20:53 +02:00
1e12fd066f curweather addon HU translation updated THX Balázs Úr 2021-03-28 19:19:54 +02:00
b7e488a2f1 catavatar addon HU translation update THX Balázs Úr 2021-03-28 19:18:40 +02:00
0835bef3ad blackout addon HU translation update THX Balázs Úr 2021-03-28 19:17:41 +02:00
523bddc3b8 advancedcontentfilter addon HU translation update THX Balázs Úr 2021-03-28 19:16:33 +02:00
4ade9aecd8 rendertime addon IT translation update THX Sylke Vicious 2021-03-28 19:05:57 +02:00
f5382b8f57 geonames addon IT translation update THX Sylke Vicious 2021-03-28 19:04:52 +02:00
e55f03e0b6 curweather addon IT translation update THX Sylke Vicious 2021-03-28 19:03:25 +02:00
9ec6f00abe impressum addon IT translation update THX Sylke Vicious 2021-03-28 19:02:22 +02:00
6cafbf0b37 randplace addon IT translation update THX Sylke Vicious 2021-03-28 19:01:13 +02:00
ffa2269ec7 ljpost addon IT translation update THX Sylke Vicious 2021-03-28 18:59:49 +02:00
a3e13179f0 publicserver addon IT translation update THX Sylke Vicious 2021-03-28 18:58:40 +02:00
bfcf9feca1 jappixmini addon IT translation update THX Sylke Vicious 2021-03-28 18:57:14 +02:00
d7de9d9bf7 planets addon IT translation update THX Sylke Vicious 2021-03-28 18:54:05 +02:00
579c867358 forumdirectory addon IT translation update THX Sylke Vicious 2021-03-28 18:52:47 +02:00
f7bc71557a ijpost addon IT translation update THX Sylke Vicious 2021-03-28 18:48:53 +02:00
f2478ed94e group text addon IT translation update THX Sylke Vicious 2021-03-28 18:46:16 +02:00
b99d9b551c dwpost addon IT translation update THX Sylke Vicious 2021-03-28 18:44:53 +02:00
7442d15e7c numfriends addon IT translation update THX Sylke Vicious 2021-03-28 18:43:42 +02:00
312e10ca18 openstreetmap addon IT translation update THX Sylke Vicious 2021-03-28 18:41:53 +02:00
09b6d14c98 IT translation of blackout addon updated THX Sylke Vicious 2021-03-28 18:25:55 +02:00
d3792f4b73 remote_permissions addon IT translation update THX Sylke Vicious 2021-03-28 18:24:25 +02:00
940d465854 newmemberwidget IT translation THX Sylke Vicious 2021-03-28 18:23:00 +02:00
d6ff1c7ef6 IT mathjax addon translation update THX Sylke Vicious 2021-03-28 18:21:53 +02:00
e611017932 IT libertree addon translation update THX Sylke Vicious 2021-03-28 18:20:10 +02:00
ca9a65b03e IT translation update gnot addon THX Sylke Vicious 2021-03-28 18:18:44 +02:00
9d6d7dc9e1 IT translation update startpage addon THX Sylke Vicious 2021-03-28 18:16:49 +02:00
e409ffcf06
Merge pull request #1089 from urbalazs/sniper-20210327
[sniper] Remove addon because Flash is no longer supported by the browsers
2021-03-26 19:33:21 -04:00
Balázs Úr
b3a0d2ba13 [sniper] Remove addon because Flash is no longer supported by the browsers 2021-03-27 00:18:05 +01:00
Balázs Úr
e53818d9f1 [langfilter] Fix typos 2021-03-24 23:33:42 +01:00
Michael Vogel
d1a90e02f0
Merge pull request #1087 from MrPetovan/task/translation
[js_upload] Update main translation file after string change
2021-03-24 07:22:39 +01:00
dbbcc4fb5d [js_upload] Update main translation file after string change 2021-03-23 23:55:13 -04:00
2bb1f1dff1
Merge pull request #1085 from urbalazs/mahjongg-remove
[mahjongg] Remove mahjongg addon because Flash is no longer supported
2021-03-23 18:15:39 -04:00
Balázs Úr
55b9b5e877 [mahjongg] Remove mahjongg addon because Flash is no longer supported by the browsers 2021-03-23 22:54:10 +01:00
468be1978b
Merge pull request #1084 from urbalazs/js_upload-20210323
[js_upload] Improve wording with placeholders
2021-03-22 22:17:53 -04:00
Balázs Úr
73e780d7b6 [js_upload] Improve wording by adding placeholders 2021-03-23 02:41:32 +01:00
e119866de7
Merge pull request #1083 from annando/post
Pumpio: Fix unknown table field / viewsrc: increase page speed
2021-03-14 14:35:55 -04:00
f14bbeae14 viewsrc: Improve page load speed 2021-03-14 17:41:02 +00:00
e8ea0f20bd Pumpio: Fix unknown view field "iid" 2021-03-14 17:39:45 +00:00
893792a2e6 DE translation libertree addon updated 2021-03-01 08:55:18 +01:00
0382b19fd1 DE translation gravatar addon updated 2021-03-01 08:54:17 +01:00
e46842f547 DE translation gnot addon updated 2021-03-01 08:53:41 +01:00
ed8062d10b DE translation gnot addon updated 2021-03-01 08:52:57 +01:00
095b1057ec DE translation geonames addon updated 2021-03-01 08:04:06 +01:00
5029d3b486 DE translation forumdirectory addon updated 2021-03-01 08:03:01 +01:00
5c63813626 DE translation dwpost addon updated 2021-03-01 08:01:50 +01:00
9c5940861a DE translation tumblr addon updated 2021-03-01 08:00:16 +01:00
5bc4a79d80 DE translation advancedcontentfilter updated 2021-03-01 07:57:04 +01:00
Michael Vogel
6b558ca236
Merge pull request #1080 from MrPetovan/task/babel-twitter-url
[twitter] Extract statuses/show in separate function
2021-02-15 07:01:14 +01:00
7777f08047
Merge pull request #1082 from annando/no-item
All references to the item table had been removed
2021-02-14 11:05:11 -05:00
05a805398e All references to the item table had been removed 2021-02-14 08:18:02 +00:00
56b0083dac
Merge pull request #1081 from MrPetovan/bug/9914-smileybutton-rework
[smileybutton] Rework addon
2021-02-10 19:32:43 +01:00
a74b9f39b0
Merge pull request #1079 from MrPetovan/bug/9895-twitter-oembed
[twitter] Don't skip URL entity replacement if OEmbed result is unexpected
2021-02-10 11:32:49 +01:00
4f698eb875 [smileybutton] Rework addon
- Add frio style
- Remove reference to removed tinymce editor
2021-02-08 11:02:34 -05:00
ebdc1a753d [smileybutton] Remove reference to removed frost theme 2021-02-08 11:01:37 -05:00
644418bc4d [twitter] Extract statuses/show in separate function 2021-02-08 02:22:47 -05:00
f0eb29cb90 [twitter] Don't skip URL entity replacement if OEmbed result is unexpected 2021-02-08 02:09:50 -05:00
5bd67d0d46
Merge pull request #1078 from tobiasd/20210206-es
ES translation updates THX Boris Daniel Martinez Millàn
2021-02-06 10:04:58 -05:00
7c5d0a432a catavatar ES translation update THX Boris Daniel Martinez Millàn 2021-02-06 08:10:12 +01:00
7ce6bb3d4d advancedcontentfilter added ES translation THX Boris Daniel Martinez Millàn 2021-02-06 08:08:23 +01:00
bada70ebf7 ES translation of the langfilter addon THX Boris Daniel Martinez Millàn 2021-02-06 08:06:48 +01:00
4e54c7948e diaspora addon ES translation update THX Boris Daniel Martinez Millàn 2021-02-06 08:05:15 +01:00
6312178d6e
Merge pull request #1077 from MrPetovan/bug/fatal-errors
[various] Fix Notification class paths
2021-02-04 09:59:21 +01:00
6d1ac20281 [various] Fix Notification class paths
- Address https://github.com/friendica/friendica/issues/9896
- Follow-up to https://github.com/friendica/friendica/pull/9860
2021-02-03 17:29:09 -05:00
84542e0048
Merge pull request #1076 from tobiasd/20210201-lngCmessages
regenerated messages.po files of the addons
2021-02-01 12:54:01 -05:00
500aab3c53 regenerated all strings.php files from the current translation strings (message.po) 2021-02-01 18:47:38 +01:00
7f3704ae54 regenerated messages.po files of the addons 2021-02-01 18:29:42 +01:00
Michael Vogel
ab5ffa6b21
Merge pull request #1075 from tobiasd/20210201-lng
BG, DE, EN-US, IT translation updates of various addons
2021-02-01 09:04:57 +01:00
bbebc9e58c updated libravatar DE translation 2021-02-01 07:32:00 +01:00
ad64e20603 updated catavatar DE translation 2021-02-01 07:29:10 +01:00
104eaf82d4 DE translation blackout 2021-02-01 07:26:08 +01:00
7f4d5118b6 IT translation for catavatar translation updated THX silkevicious 2021-02-01 07:23:21 +01:00
8e38daf7d1 IT translation for libravatar addon THX silkevicious 2021-02-01 07:21:56 +01:00
f3a81a170e BG translation added to smileybutton addon THX Rafael Kalachev 2021-02-01 07:19:31 +01:00
65f51cbdda blockbot addon BG translation added THX Rafael Kalachev 2021-02-01 07:01:32 +01:00
5a3bd4d35b Twitter addon translation update EN-US THX Spencer Dub 2021-02-01 06:58:21 +01:00
ad968ab2c9
Merge pull request #1074 from annando/post-content
ItemContent is replaced
2021-01-30 18:41:26 -05:00
61d95f5302 ItemContent is replaced 2021-01-30 23:14:05 +00:00
749dac6e38
Merge pull request #1073 from annando/dbstructure
Use the new dbstructure update function
2021-01-30 11:22:50 -05:00
3715293ca5 Use the new dbstructure update function 2021-01-30 13:32:43 +00:00
342cc2c044
Merge pull request #1072 from annando/discourse-notice
Discourse: Avoid notices when fetching mails
2021-01-29 10:13:12 -05:00
24527b3584 Discourse: Avoid notices when fetching mails 2021-01-29 10:44:30 +00:00
Michael Vogel
13cdb37f3d
Merge pull request #1071 from MrPetovan/task/9640-rename-notification-classes
[various] Move notification classes
2021-01-24 15:54:21 +01:00
00e8602892 [various] Move notification classes 2021-01-23 15:36:36 -05:00
21bb90f677
Merge pull request #1069 from annando/post
"Post" classes are now used instead of "Item"
2021-01-19 09:19:52 -05:00
b4644212d4 "Post" classes are now used instead of "Item" 2021-01-19 09:14:14 +00:00
2ed38ad293
Merge pull request #1068 from annando/post
Addons are now using the new post functions
2021-01-16 19:05:42 -05:00
1533d9a758 Addons are now using the new post functions 2021-01-17 00:00:32 +00:00
74ae7145cf
Merge pull request #1067 from annando/direction
Twitter: Set the direction for imported posts
2021-01-11 09:10:20 +01:00
0417ee39fd Twitter: Set the direction for imported posts 2021-01-11 06:14:22 +00:00
Michael Vogel
559c85775e
Merge pull request #1066 from MrPetovan/task/9568-showmore_dyn-improvements
[showmore_dyn] Various addon improvements
2020-12-31 17:38:14 +01:00
9d63da806e [showmore_dyn] Add new translation strings
- Update main translation file
2020-12-31 09:16:52 -05:00
14ebf55d56 [showmore_dyn] Normalize addon use setting display with accordion behavior 2020-12-31 09:13:42 -05:00
39280ea6bd [showmore_dyn] Add support for 0 value to disable addon 2020-12-31 09:13:00 -05:00
ceb4f461da
Merge pull request #1065 from annando/messagespo
Catavatar: Updated messages.po
2020-12-28 20:32:03 -05:00
93e6c937bc Catavatar: Updated messages.po 2020-12-29 00:54:26 +00:00
Michael Vogel
dd9edc1ebd
Merge pull request #1064 from urbalazs/private/urbalazs/catavatar-20201228
[catavatar] Mark string as translatable
2020-12-28 23:44:03 +01:00
Balázs Úr
4f155fc8a1 [catavatar] Mark string as translatable 2020-12-28 23:26:25 +01:00
Michael Vogel
8235b2511e
Merge pull request #1063 from MrPetovan/bug/fatal-errors
[twitter] Add expected field to parent item select in twitter_post_hook()
2020-12-28 17:42:39 +01:00
6a4dd6ed4b
[twitter] Add yet another expected field for thread parent select in twitter_post_hook() 2020-12-28 11:01:38 -05:00
79b49cbaee [twitter] Add expected field to parent item select in twitter_post_hook()
- Address https://github.com/friendica/friendica/issues/9250#issuecomment-751445732
2020-12-28 04:30:06 -05:00
Michael Vogel
6439a51a19
Merge pull request #1062 from MrPetovan/bug/fatal-errors
[showmore] Use DOMDocument object instead of static call to loadHTML()
2020-12-27 06:58:43 +01:00
368a0d3f6c [showmore] Use DOMDocument object instead of static call to loadHTML()
- Address https://github.com/friendica/friendica/issues/9498#issuecomment-751191039
2020-12-26 18:30:21 -05:00
7ce00592a2
Merge pull request #1061 from annando/issue-9692
Twitter Issue 9692: Only append Twitter profile links as mentions
2020-12-24 12:02:26 -05:00
e1bbec52bf Twitter Issue 9692: Only append Twitter profile links as mentions 2020-12-24 13:45:27 +00:00
5a7acbc184
Merge pull request #1060 from tobiasd/20201223-lng
IT translation updated and HU translation added
2020-12-23 16:30:07 -05:00
25af6e0c11 windowsphonepush addon added HU translation THX Balázs Úr 2020-12-23 21:55:51 +01:00
2bae1cca61 viewsrc addon added HU translation THX Balázs Úr 2020-12-23 21:54:26 +01:00
e2676eb618 advancedcontentfilter addon added HU translation THX Balázs Úr 2020-12-23 21:52:46 +01:00
46e05158b8 blackout addon added HU translation THX Balázs Úr 2020-12-23 21:51:22 +01:00
55fd1d4a21 blackout addon added HU translation THX Balázs Úr 2020-12-23 21:50:58 +01:00
92cf2ce069 blockbot addon added HU translation THX Balázs Úr 2020-12-23 21:49:19 +01:00
70617811eb blockem addon added HU translation THX Balázs Úr 2020-12-23 21:48:08 +01:00
9e78426c59 blogger addon added HU translation THX Balázs Úr 2020-12-23 21:46:55 +01:00
3927985b8f buffer addon added HU translation THX Balázs Úr 2020-12-23 21:45:42 +01:00
207e82c7fe buglink addon added HU translation THX Balázs Úr 2020-12-23 21:42:44 +01:00
f58f380289 catavatar addon added HU translation THX Balázs Úr 2020-12-23 21:39:28 +01:00
7a73f2c0d7 cookienotice addon added HU translation THX Balázs Úr 2020-12-23 21:38:03 +01:00
d278a4cb2c curweather addon added HU translation THX Balázs Úr 2020-12-23 21:35:18 +01:00
54436370f2 diaspora addon added HU translation THX Balázs Úr 2020-12-23 21:30:38 +01:00
bcb4dd8012 dwpost addon added HU translation THX Balázs Úr 2020-12-23 21:27:18 +01:00
81879b740e forumdirectory addon added HU translation THX Balázs Úr 2020-12-23 21:25:41 +01:00
4d23fefdd4 fromapp addon added HU traslation THX Balázs Úr 2020-12-23 21:23:53 +01:00
d0894c1851 geonames addon added HU translation THX Balázs Úr 2020-12-23 21:22:25 +01:00
2eadb59c1e twitter IT translation THX Sylke Vicious 2020-12-23 21:18:52 +01:00
666a0248af gnot addon added HU translation THX Balázs Úr 2020-12-23 21:07:31 +01:00
afdd29f7ef added HU translation THX Balázs Úr 2020-12-23 21:04:32 +01:00
d572a68f28
Merge pull request #1059 from urbalazs/blackout-wording
Blackout: improve wording
2020-12-23 01:35:48 -05:00
0e534dc0ce [blackout] Regenerate main translation file after strings update 2020-12-23 01:35:01 -05:00
bb03412142
[blackout] Improve wording some more 2020-12-23 01:33:35 -05:00
Balázs Úr
d288c0cef2 Blackout: improve wording 2020-12-23 01:19:54 +01:00
16588c41f6
Merge pull request #1058 from annando/notice
Libravatar: Fixes a problem when a DNS request failed
2020-12-16 14:54:08 -05:00
a3a0da2750 Libravatar: Fixes a problem when a DNS request failed 2020-12-16 19:44:54 +00:00
c303e20254
Merge pull request #1057 from annando/delayed-unprepared
IFTTT/Twitter: Support for delayed posts
2020-12-13 22:29:35 -05:00
dca9bb3844 We don't need to store the extid 2020-12-13 21:02:19 +00:00
0d84a9fbaf Handle "create user" setting 2020-12-13 20:42:51 +00:00
Michael Vogel
6cad529c38 IFTTT: Set the extid, removed legacy Facebook stuff 2020-12-13 19:42:45 +01:00
99e96d8923 Added forgotten uid 2020-12-13 16:40:50 +00:00
fb6207f01f IFTTT/Twitter: Support delayed posts 2020-12-13 13:07:12 +00:00
610d11d719
Merge pull request #1056 from annando/twitter-loop
Issue 9642: Twitter: Fix posting loop
2020-12-12 22:21:42 -05:00
e0c02c9eb8 Issue 9642: Twitter: Fix posting loop 2020-12-12 23:25:30 +00:00
e6becaacd6
Merge pull request #1055 from annando/profiler
Rendertime: Additional fields for the profiler
2020-12-09 21:04:28 -05:00
f11b6a1080 Cleaned up parameters 2020-12-10 00:03:00 +00:00
ed672a36f5 Support for more fields 2020-12-09 22:42:45 +00:00
8340f3b1f4 Rendertime: Additional fields for the profiler 2020-12-09 22:10:44 +00:00
895c264bb5
Merge pull request #1054 from annando/twitter-priority
Twitter: "remote self" posts had been posted with an invalid priority
2020-12-09 00:57:17 -05:00
3c18a3eedd Simplified code 2020-12-09 05:55:10 +00:00
47844cf1b1 Twitter: "remote self" posts had been posted with an invalid priority 2020-12-08 21:55:02 +00:00
2df2059dc7
Merge pull request #1053 from annando/libravatar
Libravatar: Extend the list of default avatars / make the admin interface work
2020-12-08 08:26:23 +01:00
ed69141fb2 Translation file updated 2020-12-08 07:17:15 +00:00
ad679c6c25 Libravatar: Extend the list of default avatars / make the admin interface work 2020-12-07 21:00:56 +00:00
30364c8ac0
Merge pull request #1052 from annando/twitter-links
Twitter: Posts are now with links again
2020-12-07 08:41:06 -05:00
d5b54f3bb1 Twitter: Posts are now with links again 2020-12-07 13:22:07 +00:00
c623195e0f
Merge pull request #1051 from annando/catavatar
Catavatar: Fix handling of avatar generating for any address
2020-12-06 18:36:02 -05:00
57577f3b65 Catavatar: Fix handling of avatar generating for any address 2020-12-06 16:04:07 +00:00
168cfae128
Merge pull request #1050 from annando/twitter-log
Twitter: improved logging
2020-11-30 16:25:50 -05:00
98b1d4990b Twitter: improved logging 2020-11-30 21:18:31 +00:00
Michael Vogel
52d86afc5c
Merge pull request #1049 from MrPetovan/bug/9572-phpmailer-encoding
[phpmailer] Ensure encoding is UTF-8 even when not using the SMTP configuration
2020-11-29 21:47:40 +01:00
341e51f13d [phpmailer] Ensure encoding is UTF-8 even when not using the SMTP configuration 2020-11-29 15:41:46 -05:00
83df923675
Merge pull request #1048 from annando/twitter-fatal
Twitter: Avoid fatal error with non-twitter urls
2020-11-28 17:03:14 -05:00
6bb2864395
Merge pull request #1047 from annando/notification
Removed unneeded data for notifications
2020-11-28 17:01:58 -05:00
bf63ef3ea5 Twitter: Avoid fatal error with non-twitter urls 2020-11-28 18:36:00 +00:00
6272ee3d09 Removed unneeded data for notifications 2020-11-28 17:24:51 +00:00
b3f7952be3
Merge pull request #1046 from annando/twitter-fix-reshare
Twitter: Fix display of reshared posts
2020-11-21 15:58:52 -05:00
bc2058e21a Twitter: Fix display of reshared posts 2020-11-21 18:55:32 +00:00
Michael Vogel
ac42c70579
Merge pull request #1045 from MrPetovan/bug/notices
[various] Fix a couple of notices
2020-11-20 20:21:26 +01:00
8be4e72cdd [wppost] Add fallback values for checkboxes
- Addresses https://github.com/friendica/friendica/issues/9252#issuecomment-725744557
- Fix some of the formatting according to code standards
2020-11-20 09:11:49 -05:00
647823769b [twitter] Simplify remote self check
- Adresses https://github.com/friendica/friendica/issues/9252#issuecomment-730851818
2020-11-20 08:55:29 -05:00
019bcb4be4
Merge pull request #1044 from annando/rendertime-limit
Rendertime: possibility to define a minimal value for displaying the execution times
2020-11-20 06:58:30 -05:00
a0344101f1 Rendertime: possibility to define a minimal value for displaying the execution times 2020-11-20 09:02:39 +00:00
Michael Vogel
63e105212c
Merge pull request #1043 from MrPetovan/task/4140-ldap-logging
[ldapauth] Rework authentication and add logging
2020-11-19 22:37:08 +01:00
Michael Vogel
2f71df5429
Merge pull request #1042 from MrPetovan/task/9515-item-insert-parent-uri
[various] Replace confusing uses of item.parent-uri with expected item.thr-parent
2020-11-19 22:36:03 +01:00
b43dca5087 [ldapauth] Rework authentication and add logging 2020-11-19 11:18:48 -05:00
238b972449 [various] Replace confusing uses of item.parent-uri with expected item.thr-parent 2020-11-11 09:42:28 -05:00
Michael Vogel
4edf4832dd
Merge pull request #1041 from MrPetovan/bug/9447-twitter-parse-url-dimensions
[twitter] Add support for multiple images in parse_url hook function
2020-11-05 16:06:07 +01:00
4d49833f8b [twitter] Add support for multiple images in parse_url hook function 2020-11-05 09:34:10 -05:00
Michael Vogel
0dce0b722b
Merge pull request #1040 from MrPetovan/bug/9447-twitter-parse-url-dimensions
[twitter] Add expected dimensions in parse_url hook function
2020-11-05 07:30:32 +01:00
d0d2a3269a [twitter] Add expected dimensions in parse_url hook function
- Addresses https://github.com/friendica/friendica/issues/9447#issuecomment-722024085
2020-11-05 01:16:40 -05:00
Michael Vogel
4da668be69
Merge pull request #1039 from MrPetovan/bug/9486-markdown-escape-mentions
[markdown] Escape mentions which username can contain Markdown-like syntax
2020-11-02 20:11:38 +01:00
05d2707d50 [markdown] Escape mentions which username can contain Markdown-like syntax 2020-11-02 11:05:35 -05:00
Michael Vogel
ee8564fd06
Merge pull request #1038 from tobiasd/20201025-de
twitter addon DE translation updated
2020-10-25 20:31:16 +01:00
5c84835f91 correction of wrong DE translation for the twitter addon 2020-10-25 19:56:48 +01:00
Michael Vogel
1c7b312442
Merge pull request #1037 from MrPetovan/bug/9447-restore-twitter-link-preview
[twitter] Add new parse_link hook function
2020-10-23 08:22:43 +02:00
5ddcc82951 [twitter] Update base messages.po after adding a translation string 2020-10-23 02:02:07 -04:00
74cfe72750 [twitter] Add new parse_link hook function
- This will populate the link preview now that OEmbed isn't supported anymore
2020-10-23 02:01:42 -04:00
Michael Vogel
29586d3498
Merge pull request #1032 from nupplaphil/task/psr7_remove_binary
[various] Remove $binary flag for HTTPRequest
2020-10-18 21:19:32 +02:00
Michael Vogel
2dc294df18
Merge pull request #1035 from tobiasd/20201011-ru
RU translation of the langfilter and diaspora addons THX Alexander An
2020-10-11 17:04:22 +02:00
e34b227e61 RU translation langfilter addon THX Alexander An 2020-10-11 16:57:45 +02:00
ce7689a367 RU translation diaspora addon THX Alexander An 2020-10-11 16:57:34 +02:00
26fda6baf3
Merge pull request #1034 from annando/twitter-announce
Twitter: Support for real reshares added
2020-10-11 09:14:48 -04:00
c0892ce696 Twitter: Support for real reshares added 2020-10-11 12:19:58 +00:00
1c9f613509
Merge pull request #1033 from MrPetovan/task/9380-langfilter-remove-composer
[langfilter] Remove Composer dependency
2020-10-11 08:04:58 +02:00
76ecff195f [langfilter] Remove Composer dependency
- It has been added to Friendica core
2020-10-10 17:40:17 -04:00
94b41e0859
Remove $binary flag for HTTPRequest::get(), HTTPRequest::fetch(), HTTPRequest::fetchAll() (deprecated since PHP 5.1.3) 2020-10-10 21:29:27 +02:00
Michael Vogel
0be3439cb7
Merge pull request #1030 from tobiasd/20201007-langfilter
DE, IT translation updates for the langfilter
2020-10-07 06:57:32 +02:00
b9647092a7 IT translation of langfilter addon updated THX Sylke Vicious 2020-10-07 06:38:14 +02:00
dce9221d18 DE translation of langfilter addon 2020-10-07 06:37:34 +02:00
Friendica
a82b123d73
added link to the issue tracker to the README 2020-10-06 17:17:58 +02:00
b062142800
Merge pull request #1028 from annando/twitter-disconnect
Twitter: Offer the disconnect button when the account data is invalid
2020-10-05 05:33:57 -04:00
43e354658d
Merge pull request #1029 from annando/pumpio-fix
Pumpio: Minor fixes to avoid notices and editor warning
2020-10-05 10:43:42 +02:00
6c4482234e Pumpio: Minor fixes to avoid notices and editor warning 2020-10-05 06:51:07 +00:00
1848cf79fa Twitter: Offer the disconnect button when the account data is invalid 2020-10-05 06:47:35 +00:00
Michael Vogel
14c09c1bbb
Merge pull request #1027 from MrPetovan/task/9328-add-range-percent-template
[langfilter] Add slider to addon settings
2020-10-04 06:27:58 +02:00
4488a16af0 [langfilter] Update master PO file after translation strings update 2020-10-03 22:03:29 -04:00
72ce0e814d [langfilter] Add slider to addon settings
- Update description for accuracy
2020-10-03 22:02:05 -04:00
023b3a4a76 [langfilter] Replace remove Text_Language_Detect dependency by matriphe/iso-639
- Address https://github.com/friendica/friendica/issues/9250#issuecomment-703153334
2020-10-03 22:01:37 -04:00
Michael Vogel
f5ceead5e0
Merge pull request #1026 from nupplaphil/task/security_restructure
Restructure Security classes
2020-10-01 19:49:59 +02:00
38bbdb4acb
Cleanup OAuth1 library 2020-09-30 11:26:52 +02:00
3015660025
Move library\OAuth1.php to class structure Friendica\Security\OAuth1 2020-09-30 11:21:58 +02:00
c1f07c54f2
Typos removed (hopefully) 2020-09-26 13:27:57 +02:00
147ac6b774
Merge pull request #1024 from hoergen/develop
Added examples to advanced content filter
2020-09-26 10:51:59 +02:00
409a8d1724
code tags added 2020-09-26 10:45:55 +02:00
5b045a5348
typos ;) 2020-09-26 10:44:23 +02:00
3855f878dd
added some examples 2020-09-26 10:43:48 +02:00
0bde25d918
updated examples for advanced content filter 2020-09-26 10:39:34 +02:00
b4a0c8c0fc
Merge pull request #1023 from SpencerDub/patch-1
Update newmemberwidget.php
2020-09-25 14:58:59 -04:00
Spencer Dub
07ea027bab
Update newmemberwidget.php
Copy-editing the addon description
2020-09-25 11:52:09 -07:00
516d1ce316
Merge pull request #1022 from annando/nominatim
Nominatim: Use OpenStreetMap to resolve coordinates into locations
2020-09-24 08:38:23 -04:00
df1d9d770c Nominatim: Use OpenStreetMap to resolve coordinates into locations 2020-09-24 04:01:12 +00:00
8223b54d0b
Merge pull request #1021 from nupplaphil/phpmailer_fix
[phpmailer] Fix case-sensitive check
2020-09-23 11:07:28 -04:00
7fd4511a21
Fix phpmailer (Case sensitive Check) 2020-09-22 22:48:34 +02:00
2365a9ae02 Merge branch '2020.09-rc' into stable 2020-09-20 21:13:21 +02:00
10d1156a77
Merge pull request #1020 from nupplaphil/bug/9142-message-id
[phpmailer] Fixes Double Message ID
2020-09-19 22:11:14 -04:00
5663e61791
Add improvements 2020-09-19 22:49:44 +02:00
874cef6a19
Transform email header string to header array & replace it at various situations. 2020-09-19 20:14:55 +02:00
a2328af757
Merge pull request #1019 from annando/superblock-fatal
Superblock: Fixes notice and fatal error
2020-09-19 08:01:11 +02:00
d65730967c Superblock: Fixes notice and fatal error 2020-09-19 02:51:05 +00:00
Michael Vogel
e0870a41d7
Merge pull request #1018 from tobiasd/20200918-it
IT translation updated to 100% THX  Sylke Vicious
2020-09-18 08:42:52 +02:00
c15b83d9c0 piwik IT translation THX Sylke Vicious 2020-09-18 08:07:15 +02:00
caf0d3735c webrtc IT translation THX Sylke Vicious 2020-09-18 08:06:04 +02:00
a423d92649 irc IT translation THX Sylke Vicious 2020-09-18 08:04:57 +02:00
9b39902135 nsfw IT translation THX Sylke Vicious 2020-09-18 08:04:03 +02:00
40ca7d4dd8 statusnet IT translation THX Sylke Vicious 2020-09-18 08:02:56 +02:00
1cae45d343 wppost IT translation THX Sylke Vicious 2020-09-18 07:57:10 +02:00
62c6b49782 twitter IT translation THX Sylke Vicious 2020-09-18 07:56:07 +02:00
4c2cf19725 newmemberwidget IT translation THX Sylke Vicious 2020-09-18 07:54:45 +02:00
Michael Vogel
a398dc0372
Merge pull request #1017 from tobiasd/20200917-lng
IT translation of the dwpost addon updated THX Sylke Vicious
2020-09-17 09:23:49 +02:00
02bd1a7590 IT translation of the dwpost addon updated THX Sylke Vicious 2020-09-17 08:30:31 +02:00
Michael Vogel
a6bdb8b742
Merge pull request #1016 from MrPetovan/bug/9172-qcomment-fix
[qcomment] Restore feature
2020-09-10 06:38:11 +02:00
d497379988 [qcomment] Restore feature
- Move settings HTML to template
- Move Javascript to addon file
- Remove obsolete custom CSS
2020-09-09 16:52:43 -04:00
Michael Vogel
ec22a12365
Merge pull request #1015 from MrPetovan/bug/8922-forumdirectory-db-error
[forumdirectory] Add missing operator in SQL query
2020-09-08 03:52:01 +02:00
9b296786d5 [forumdirectory] Add missing operator in SQL query 2020-09-07 20:31:24 -04:00
f76bf08647
Merge pull request #1014 from annando/good-bot
Blockbot: Adding another "good" bot
2020-09-06 09:40:41 +02:00
b2d640bf09 Blockbot: Adding another "good" bot 2020-09-06 07:30:59 +00:00
Michael Vogel
8a6cdb2dcb
Merge pull request #1013 from tobiasd/20200905-nl
NL translation update THX Casper
2020-09-05 09:02:18 +02:00
2d8e0a997f diaspora addon NL translation update THX Casper 2020-09-05 08:39:11 +02:00
6c08c297c4 NL translation update for the NSWF addon THX Casper 2020-09-05 08:37:00 +02:00
Michael Vogel
544a32f918
Merge pull request #1012 from tobiasd/20200901-lng
DE, IT and RU translation updates
2020-09-01 15:11:03 +02:00
ad453ca3ce pageheader addon RU translation updated THX Alexander An 2020-09-01 14:54:02 +02:00
e0cdc202af nsqf addon RU translation update THX Alexander An 2020-09-01 14:52:30 +02:00
6ca00ec39d RU translation of notifyall addon added THX Alexander An 2020-09-01 14:47:38 +02:00
c4b3bdd093 diaspora addon IT translation updated THX silkevicious 2020-09-01 14:45:12 +02:00
2da163c243 diaspora addon DE translation updated 2020-09-01 14:44:21 +02:00
538a3feaec IT translation of blockbot addon added THX silkevicious 2020-09-01 14:40:02 +02:00
e1918f7d4e IT translation of blackout addon updated THX silkevicious 2020-09-01 14:38:09 +02:00
001b0b7c10 markdown addon IT translation added THX silkevicious 2020-09-01 14:36:47 +02:00
16663c5911
Merge pull request #1011 from tobiasd/20200818-lng
various translation updates
2020-08-18 14:59:24 -04:00
5cf2bb3879 ifttt translation added ZH CN thx vicdorke 2020-08-18 18:39:18 +02:00
7082332c03 ZH CN translation update wppost addon THX vicdorke 2020-08-18 18:37:05 +02:00
faca47ac1a diaspora addon EN GB and US translation updated THX AndyH§ 2020-08-18 18:27:34 +02:00
d64948559a
Merge pull request #1010 from SpencerDub/patch-1
Expand js_upload description
2020-08-10 16:22:51 -04:00
Spencer Dub
94875043e1
Expand description
Expand description to indicate that it assists with multi-file upload.
2020-08-10 13:18:02 -07:00
Michael Vogel
73b505563b
Merge pull request #1009 from MrPetovan/task/8929-remove-redundant-uninstall
[various] Remove redundant uninstall functions
2020-07-27 21:22:40 +02:00
203672cf27 [various] Remove redundant uninstall functions
- All hooks (current and obsolete) are removed automatically during addon uninstall
2020-07-27 08:30:41 -04:00
aa25a9d762
Merge pull request #1008 from annando/update-avatar
Rearranged order for the "updateAvatar" function
2020-07-25 08:33:51 -04:00
cc7a1b181c Rearranged order for the "updateAvatar" function 2020-07-25 11:49:44 +00:00
Michael Vogel
2c69a9c359
Merge pull request #1006 from MrPetovan/task/curl_DI
Introduce "HTTPRequest" class
2020-07-25 09:50:01 +02:00
d2639edbc2
Merge pull request #1007 from annando/notice-info
Unneeded "info" messages removed
2020-07-23 02:25:00 -04:00
8fbf514e3d Standards 2020-07-23 06:07:17 +00:00
3f84caeec5 Unneeded "info" messages removed 2020-07-23 03:48:52 +00:00
nupplaPhil
19b2c8d833 Rename "fetchUrl" and "fetchUrlFull" to "fetch" and "fetchFull" 2020-07-21 03:32:23 -04:00
nupplaPhil
72c24efe5b Rename "HTTPRequest::curl()" to HTTPRequest::get() 2020-07-21 03:31:49 -04:00
nupplaPhil
90193bd02b Move "HTTPRequest::finalUrl" dynamic 2020-07-21 03:31:48 -04:00
nupplaPhil
f36ca4fcf4 Move "Network::finalUrl" to "HTTPRequest" class 2020-07-21 03:31:16 -04:00
nupplaPhil
40ff1d7fda Make "HTTPRequest::fetchUrl" dynamic 2020-07-21 03:30:37 -04:00
nupplaPhil
fed6e3cde1 Make "HTTPRequest::fetchUrlFull" dynamic 2020-07-21 03:29:22 -04:00
nupplaPhil
20056dc795 Make "HTTPRequest::post" dynamic 2020-07-21 03:29:21 -04:00
nupplaPhil
688c556739 Make "HTTPRequest::curl" dynamic 2020-07-21 03:28:28 -04:00
nupplaPhil
9640142a72 Move post/curl/fetchUrl/fetchUrlFull to own class "Network\HTTPRequest" 2020-07-21 03:27:52 -04:00
Michael Vogel
31bd1a1ba0
Merge pull request #1005 from MrPetovan/task/8676-ap-multiple-link-image
[various] Rename PageInfo::appendToBody to searchAndAppendToBody
2020-07-18 17:51:48 +02:00
a80e9154c5 [various] Rename PageInfo::appendToBody to searchAndAppendToBody 2020-07-18 11:38:11 -04:00
0a43efa8a8
Merge pull request #1004 from MrPetovan/task/introduce-stable-branch
Refer to stable branch
2020-07-17 18:54:41 +02:00
23a530b70d Refer to stable branch 2020-07-17 12:09:57 -04:00
1534404e3a
Merge pull request #1003 from annando/getid-default
Changed default value for "getIDForURL"
2020-07-16 12:12:44 -04:00
f7cb9b3b81 Changed default value for "getIDForURL" 2020-07-16 15:44:32 +00:00
Michael Vogel
44f4557109
Merge pull request #1002 from MrPetovan/task/8798-remove-items-php
[various] Replace *_page_info function calls with Content\PageInfo equivalent
2020-07-14 20:43:56 +02:00
5a36205139 [pumpio] Remove references to include/items.php 2020-07-14 10:22:01 -04:00
b5f14cb559 [various] Replace *_page_info function calls with Content\PageInfo equivalent 2020-07-14 10:17:17 -04:00
314d9c1cc1
Merge pull request #1001 from annando/notice
Forumdirectory: Fix Notice "Undefined index: url in src/Module/Directory.php"
2020-07-12 09:12:47 -04:00
cae25f13c1 Forumdirectory: Fix Notice "Undefined index: url in src/Module/Directory.php" 2020-07-12 12:49:55 +00:00
bddb826fcc
Merge pull request #1000 from annando/bots-again
Blockbot: There are still some more feed readers ...
2020-07-12 11:53:43 +02:00
Michael Vogel
50d59f5ecd Blockbot: There are still some more bots ... 2020-07-12 10:41:29 +02:00
c44a66935c
Merge pull request #999 from annando/more-blocks
Blockbot: Some more bots added
2020-07-11 08:10:56 -04:00
68b6b896c6 Blockbot: Some more bots added 2020-07-11 09:41:20 +00:00
5a365e9139
Merge pull request #998 from annando/bot-update
Blockbot: Some more bots
2020-07-09 11:16:18 -04:00
0a794d416b Another bot added 2020-07-09 15:08:41 +00:00
49b4a2ee7b Some more bot agents added 2020-07-08 19:24:00 +00:00
75b6a0d315 Blockbot: Updated bots - again 2020-07-07 18:51:42 +00:00
Michael Vogel
dc059370c9
Merge pull request #997 from tobiasd/2020.06-rc
ZH CN translation update ot the blackout addon THX steve jobs
2020-07-07 10:08:31 +02:00
645e82725f ZH CN translation update ot the blackout addon THX steve jobs 2020-07-07 08:42:13 +02:00
af7e36bb3d
Merge pull request #996 from annando/blockbot2
Blockbot: Added bots and good agents
2020-07-05 11:53:56 -04:00
Michael Vogel
ac5f3e1a94 Blockbot: Added bots and goof agents 2020-07-05 16:36:17 +02:00
25e1e98a34
Merge pull request #995 from MrPetovan/bug/fatal-errors
[twitter] Fix media upload failure logging
2020-07-03 17:57:20 +02:00
18bb5e4992 [twitter] Fix media upload failure logging
- Address https://github.com/friendica/friendica/issues/8473#issuecomment-653332270
2020-07-03 11:06:40 -04:00
0d0e182112
Merge pull request #994 from tobiasd/20200701-lng
PL and EN GB translation updates
2020-07-01 11:08:57 -04:00
dc746cc211 makrdown addon EN GB translation added THX AndyH3 2020-07-01 15:49:10 +02:00
785f691825 morepokes addon EN GB translation added THX AndyH3 2020-07-01 15:47:21 +02:00
4792426efd diaspora addon EN GB translation updated THX AndyH§ 2020-07-01 15:35:26 +02:00
17b7362b17 PL translation update THX waldis 2020-07-01 14:18:33 +02:00
8ce5ce91d0
Merge pull request #993 from annando/pump-notice
Fix notice "Only variables should be passed by reference"
2020-06-28 11:09:46 +02:00
Michael Vogel
589712f192 Fix notice "Only variables should be passed by reference" 2020-06-28 08:21:59 +02:00
Michael Vogel
a078b08797
Merge pull request #992 from MrPetovan/task/8517-probe-mobile-twitter
[twitter] Improve mobile profile URL probe
2020-06-25 08:41:10 +02:00
44bf674727 [twitter] Improve mobile profile URL probe 2020-06-24 21:29:44 -04:00
Michael Vogel
94c658b105
Merge pull request #990 from MrPetovan/task/share-block-guid
[various] Update getShareOpeningTag::getShareOpeningTag method signature
2020-06-23 21:26:02 +02:00
37c677c493
Merge pull request #991 from MrPetovan/bug/notices
[twitter] Add HTTP error code handling
2020-06-22 06:41:52 +02:00
ef21c83037 [twitter] Fix return value of twitter_user_to_contact()
- Simplify check in twitter_fetch_own_contact()
2020-06-21 16:33:18 -04:00
b07e4bd59c [twitter] Add HTTP error code handling 2020-06-21 16:32:37 -04:00
9d2c8902d3 [twitter] Improve logging for actions 2020-06-21 16:14:08 -04:00
a786d34ad3 [pumpio] Update getShareOpeningTag::getShareOpeningTag method signature 2020-06-21 09:50:01 -04:00
c720acbd8d [twitter] Update getShareOpeningTag::getShareOpeningTag method signature 2020-06-21 09:48:53 -04:00
Michael Vogel
1e451a3490
Merge pull request #989 from MrPetovan/task/move-share-header
[various] Replace share_header calls with BBCode::getShareOpeningTag
2020-06-18 17:55:32 +02:00
e5d3bab855 [pumpio] Replace share_header calls with BBCode::getShareOpeningTag 2020-06-18 11:25:14 -04:00
a23908723a [twitter] Replace share_header calls with BBCode::getShareOpeningTag 2020-06-18 11:25:06 -04:00
Michael Vogel
b25092353a
Merge pull request #988 from tobiasd/20200615-lng
various translation updates
2020-06-15 10:36:52 +02:00
67053496a7 twiter addon ZH CN translation update THX steve jobs 2020-06-15 09:31:51 +02:00
177b45d83c irc addon ZH CN translation update THX steve jobs 2020-06-15 09:30:17 +02:00
30515aa8aa added buglink addon ZH-CN translation THX steve jobs 2020-06-15 09:28:34 +02:00
df1669493c viewsrv addon NB NO translation update 2020-06-15 09:26:12 +02:00
9318cb8583 buglink addon NB NO translation update 2020-06-15 09:24:39 +02:00
032d61bf74 PL translation diaspora THX waldis 2020-06-15 09:17:59 +02:00
d6221acb53 js_upload RU translation update THX Alexander An 2020-06-15 09:16:07 +02:00
0734b5620d superblock addon RU translation update THX Alexander An 2020-06-15 09:14:40 +02:00
2ec0eb6745 added RU translation of catavatar addon THX Alexander An 2020-06-15 09:12:09 +02:00
c081a7a336 RU translation blockem addon THX Alexander An 2020-06-15 08:27:08 +02:00
abf61cd93f showmore RU translation update THX Alexander An 2020-06-15 08:23:22 +02:00
fdc75fb73c RU translation update numfriends addon THX Alexander An 2020-06-15 08:21:55 +02:00
fc5a4de53c RU translation update numfriends addon THX Alexander An 2020-06-15 08:21:38 +02:00
9ce4d716b2 infiniteimprobabilitydrive addon update RU translation THX Alexander An 2020-06-15 07:57:18 +02:00
1651dd418e qcomment RU translation update THX Alexander An 2020-06-15 07:55:34 +02:00
47b204e511 RU translation of blackout addon THX Alexander An 2020-06-15 07:49:59 +02:00
88bcdb4919 added RU translation for newmemberwidget THX Alexander An 2020-06-15 07:49:04 +02:00
c1dcd905d4 RU translation langfilter addon THX Alexander An 2020-06-15 07:46:14 +02:00
ccf999aaea added RU translation for markdown addon THX Alexander An 2020-06-15 07:43:53 +02:00
89c85f6df2 PL translation update blackout addon THX waldis 2020-06-15 07:41:57 +02:00
9f1686bc80 gravatar NL translation update THX Casper 2020-06-15 07:37:15 +02:00
b68711a96a
removed link to defunkt addon listing
The server the old addon listing was located at recently went down so I removed the link. Thanks @Rich Roth to mention the dead link
2020-06-11 19:00:59 +02:00
Michael Vogel
86179eb3f4
Merge pull request #986 from MrPetovan/task/twitter-ass-probe-detect-hook
[twitter] Add probe_detect hook function
2020-06-08 08:37:26 +02:00
6ce762010e [twitter] Fix contact image handling in twitter_fetch_contact 2020-06-07 16:49:47 -04:00
Michael Vogel
318e351860
Merge pull request #987 from MrPetovan/bug/8744-twitter-add-link-suppressed-quote
[twitter] Add a link to the quoted tweet when we don't add a share block
2020-06-07 07:18:54 +02:00
03c2a30991 [twitter] Add a link to the quoted tweet when we don't add a share block 2020-06-06 19:27:50 -04:00
2081ee6040 [twitter] Add probe_detect hook function 2020-06-06 15:05:55 -04:00
ed67e2cd6e
Merge pull request #985 from friendica/dependabot/composer/phpmailer/phpmailer/phpmailer-6.1.6
Bump phpmailer/phpmailer from 6.1.4 to 6.1.6 in /phpmailer
2020-05-27 14:05:06 -04:00
dependabot[bot]
a0e071db70
Bump phpmailer/phpmailer from 6.1.4 to 6.1.6 in /phpmailer
Bumps [phpmailer/phpmailer](https://github.com/PHPMailer/PHPMailer) from 6.1.4 to 6.1.6.
- [Release notes](https://github.com/PHPMailer/PHPMailer/releases)
- [Changelog](https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md)
- [Commits](https://github.com/PHPMailer/PHPMailer/compare/v6.1.4...v6.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-05-27 17:59:56 +00:00
47cb5d0b14
Merge pull request #984 from annando/twitter-gsid
Twitter: set the baseurl and the gsid
2020-05-23 18:15:48 -04:00
351ff48ef8 Twitter: set the baseurl and the gsid 2020-05-23 17:51:41 +00:00
Michael Vogel
54d22d3ef8
Merge pull request #983 from AlfredSK/patch-1
Issue 8680: Fix slim application error
2020-05-23 19:09:06 +02:00
Steffen K9
33fc7240e6
Issue 8680: Fix slim application error
This should fix https://github.com/friendica/friendica/issues/8680
2020-05-23 16:30:55 +02:00
5688629a4b
Merge pull request #982 from annando/bbcode-constants
Replacing numberic values with constants for the BBCode conversion
2020-05-16 13:15:52 -04:00
b406d737b5 Replacing numberic values with constants for the BBCode conversion 2020-05-16 16:48:08 +00:00
Michael Vogel
59cfb05c3a
Merge pull request #980 from annando/item-insert
Self merging, since @MrPetovan approved it - and it would otherwise create issues when not merged now.
2020-05-14 09:59:40 +02:00
Michael Vogel
5b9bba32bb
Merge pull request #981 from MrPetovan/task/remove-item-tag
[various] Remove references to obsolete virtual tag item.tag
2020-05-14 06:13:47 +02:00
5e397ad580 [twitter] Remove references to obsolete virtual field item.tag 2020-05-13 22:40:02 -04:00
cf6bf67fd8 [statusnet] Remove references to obsolete virtual field item.tag
- Remove tag extraction done in Item::insert
2020-05-13 22:39:33 -04:00
b6cd18fcad [ljpost] Remove references to obsolete virtual field item.tag 2020-05-13 22:38:59 -04:00
8b291f534e [ijpost] Remove references to obsolete virtual field item.tag 2020-05-13 22:38:50 -04:00
5e39c8d2c2 [dwpost] Remove references to obsolete virtual field item.tag 2020-05-13 22:38:39 -04:00
00b1f69b7e Removed parameter from item::insert 2020-05-13 19:29:33 +00:00
Michael Vogel
76e3339b7b
Merge pull request #979 from MrPetovan/task/8564-diaspora-connector-settings
[diaspora] Overhaul connector settings
2020-05-07 07:11:58 +02:00
b733391e85 [diaspora] Overhaul connector settings
- Move HTML in template file
- Use standard form fields
- Hide irrelevant fields depending on the connector status (disabled, enabled, error)
- Add notice messages on settings submit
2020-05-07 00:16:40 -04:00
e060931939
Merge pull request #978 from annando/tags
Updated addons for new tag handling
2020-05-05 21:26:40 -04:00
471bcc1b63 Updated addons for new tag handling 2020-05-05 22:47:43 +00:00
9b57f661b0
Merge pull request #977 from nupplaphil/bug/subdir
[various] Template Engine with Subdirectory
2020-04-26 14:31:37 -04:00
6520bd77d9
Template Engine with Subdirectory
- Use explicit root path for template engine
- Replace "__DIR__" calls in addons with subdirectories
- Fixes local tests, where call is made out of '/' and not '/vagrant/'
2020-04-26 15:45:25 +02:00
81dd8fb295
Merge pull request #976 from annando/tags
Twitter: Storing tags the new way
2020-04-25 21:08:54 -04:00
Michael Vogel
4486c7bfd5
Update twitter/twitter.php
Co-Authored-By: Hypolite Petovan <hypolite@mrpetovan.com>
2020-04-25 23:23:57 +02:00
45e1dff8fd Added documentation 2020-04-25 18:21:31 +00:00
3814219b0c Twitter: Storing tags the new way 2020-04-25 17:56:14 +00:00
Michael Vogel
d108ea4b79
Merge pull request #975 from MrPetovan/bug/8511-lib-oauth1-token-parameter
[various] Move optional token parameter at the end of OAuthRequest::from_consumer_and_token() function definition
2020-04-25 19:54:58 +02:00
2a3689976e [tumblr] Update call to OAuthRequest::from_consumer_and_token after definition change 2020-04-25 12:35:49 -04:00
a76e9a1226 [statusnet] Update call to OAuthRequest::from_consumer_and_token after definition change 2020-04-25 12:35:41 -04:00
786de7b891
Merge pull request #974 from MrPetovan/bug/notices
[twitter] Use correct variable name for emptiness test in twitter_convert_share()
2020-04-04 19:12:19 +02:00
079e56fb1c [twitter] Use correct variable name for emptiness test in twitter_convert_share() 2020-04-04 12:36:33 -04:00
cb34593770
Merge pull request #973 from annando/notices
Fixing some notices
2020-04-04 15:31:13 +02:00
225243645e Fixing some notices 2020-04-04 11:15:13 +00:00
Michael Vogel
ec335be182
Merge pull request #972 from MrPetovan/bug/8470-twitter-expand-entities
[twitter] Rework twitter_expand_entities
2020-04-03 06:45:02 +02:00
1df61e8dc2 [twitter] Rework twitter_expand_entities
- Uses Twitter-provided entity indices to avoid blanket string replacement and unwarranted tag search
2020-03-30 10:49:06 -04:00
96925a3a75 Merge 2020.03 into develop 2020-03-30 14:31:36 +02:00
efaf125d3d
Merge pull request #971 from tobiasd/20200329-fr
FR translation update THX ButterflyOfFire
2020-03-29 14:26:50 -04:00
98579a7feb gnot FR translation update THX ButterflyOfFire 2020-03-29 19:08:25 +02:00
a32fd4df56 geonames FR translation update THX ButterflyOfFire 2020-03-29 19:07:57 +02:00
5cd2f6c442
Merge pull request #968 from wiwie/develop
[WIP] #8374: Limit post content by rendered height instead of number of characters
2020-03-17 20:48:18 -04:00
Christian Wiwie
9497a598bb #8374: Removed wrapper from css 2020-03-17 22:34:34 +01:00
Christian Wiwie
15d3c2f78e #8374: Not triggering post height limit when showing individual post under /display 2020-03-17 22:27:48 +01:00
Christian Wiwie
f9e74a3c34 #8374: Removed wrapper and unnecessary css 2020-03-17 21:50:00 +01:00
Christian Wiwie
b5056b11ef #8374: Removed unnecessary template variable 2020-03-16 16:20:32 +01:00
4f7dc02acb
Merge pull request #970 from tobiasd/20200316-ru
blockbot added RU translation THX Eugene Veresk
2020-03-16 10:27:04 -04:00
fabd3728a7 blockbot added RU translation THX Eugene Veresk 2020-03-16 10:05:06 +01:00
Christian Wiwie
959f98e476 #8374: Updating messages.po 2020-03-15 21:21:39 +01:00
Christian Wiwie
4d3aed3095 #8374: Using sub-templates for input field 2020-03-15 21:19:42 +01:00
Christian Wiwie
1360efc930 #8374: Removed incorrect strings.php file 2020-03-15 21:18:29 +01:00
Christian Wiwie
f4c141f2e7 #8374: Added missing lang/C/messages.po file 2020-03-15 15:58:26 +01:00
Christian Wiwie
30d35b835e #8374: Added function type hint 2020-03-15 13:38:57 +01:00
Christian Wiwie
c12e1256e4 8374: Addressing review comments 2020-03-15 13:34:51 +01:00
Christian Wiwie
58030804cb #8374: Fixing css indent; Making addon work with Vier theme 2020-03-14 23:34:09 +01:00
Christian Wiwie
dd09acffbd #8374: Making link a button 2020-03-14 22:58:25 +01:00
Christian Wiwie
28b9a8323d #8374: Adding l10n strings 2020-03-14 22:31:13 +01:00
Christian Wiwie
0ea84cfb66 #8374: Using l10n 2020-03-14 22:29:11 +01:00
Christian Wiwie
b46a23eab3 #8374: Adding missing settings template file; cleaning up addon code 2020-03-14 22:14:53 +01:00
Christian Wiwie
ed45145415 #8374: Making postLimitHeight an addon parameter 2020-03-14 22:09:30 +01:00
093c560564
Merge pull request #969 from tobiasd/20200314-ru
advanced content filter added RU translation THX Eugene Veresk
2020-03-14 08:44:57 -04:00
b8de9687b0 advanced content filter added RU translation THX Eugene Veresk 2020-03-14 11:16:43 +01:00
Christian Wiwie
ab24c621b2 #8374: Addessing review comments 2020-03-13 22:09:21 +01:00
Christian Wiwie
858904090e #8374: Adding missing classes to body div 2020-03-12 23:38:20 +01:00
Christian Wiwie
8ff88b2eee #8374: Initial implementation as addon 2020-03-12 23:24:54 +01:00
Michael Vogel
93f8bbfe56
Merge pull request #967 from MrPetovan/bug/7134-local-post-deleted
[pumpio] Rename Item::delete to Item::markForDeletion
2020-03-11 03:45:55 +01:00
Michael Vogel
bcf99d066d
Merge pull request #966 from MrPetovan/bug/8396-advancedcontentfilter-exceptions
[advancedcontentfilter] Update HTTPException handling
2020-03-10 23:56:15 +01:00
ceff17469c [twitter] Add logging to item deletion 2020-03-10 18:55:55 -04:00
acc013f287 [pumpio] Rename Item::delete to Item::markForDeletion 2020-03-10 18:54:46 -04:00
f2772b87c0 [advancedcontentfilter] Update HTTPException handling 2020-03-10 18:44:27 -04:00
Michael Vogel
8b17ea90c4
Merge pull request #965 from tobiasd/20200309-lng
FR, ZH-CN addon translations
2020-03-09 12:42:49 +01:00
7892c8f9dd IT smiley button 2020-03-09 11:37:42 +01:00
356269792a smiley button FR translation THX ButterflyOfFire 2020-03-09 11:37:08 +01:00
9011d75b78 advanced content filter ZH CN translation update THX tomacat 2020-03-09 11:35:12 +01:00
5f5762c6d3 TicToc addon FR translation update THX ButterflyOfFire 2020-03-09 11:31:02 +01:00
5140f6addc superblock addon FR translation update THX ButterflyOfFire 2020-03-09 11:30:19 +01:00
973e75f2bc JS_Upload addon FR translation update THX ButterflyOfFire 2020-03-09 11:29:45 +01:00
8eab3e96b1 irc addon update the FR translation THX ButterflyOfFire 2020-03-09 11:28:57 +01:00
b11e418f35
Merge pull request #964 from annando/twitter-contact
Twitter: Fetch the contact relation
2020-03-06 11:18:10 -05:00
09bb49eef5 Twitter: Fetch the contact relation 2020-03-06 05:52:40 +00:00
0fda21d637
Merge pull request #962 from MrPetovan/task/8318-widget_like-dislike-config
[widget_like] Add support for system.hide_dislike user config key
2020-02-25 14:39:36 +01:00
d80aaf9045 [widget_like] Add support for system.hide_dislike user config key 2020-02-25 07:46:08 -05:00
Michael Vogel
5fe4942644
Merge pull request #961 from MrPetovan/task/8323-protect-target-blank
[various] Add rel="noopener noreferrer" to all target="_blank" links
2020-02-25 05:45:54 +01:00
7eb7706a24 [various] Add rel="noopener noreferrer" to all target="_blank" links
See https://mathiasbynens.github.io/rel-noopener/
2020-02-24 20:08:43 -05:00
Michael Vogel
86b2d830a5
Merge pull request #957 from MrPetovan/task/4090-move-profile_photo-to-src
[various] Remove redundant profile_uid field from profile query
2020-02-23 14:33:10 +01:00
eebd873844
Merge pull request #960 from AndyHee/20200223-dev
Added warning
2020-02-23 08:59:20 +01:00
4757132840 Changes to be committed: 2020-02-23 05:13:30 +00:00
7509ce88b9 modified: public_server/public_server.php 2020-02-23 05:06:03 +00:00
ca3213b394
Merge pull request #959 from MrPetovan/task/8293-forumdirectory-updates
[forumdirectory] Add L10n parameter to Pager constructor call
2020-02-16 20:09:02 +01:00
9c092d5c40 [forumdirectory] Add L10n parameter to Pager constructor call 2020-02-16 13:06:30 -05:00
4dff5e7175 [forumdirectory] Replace profile.pdesc by profile.about 2020-02-16 13:06:06 -05:00
b9b5a0fd14
Merge pull request #958 from nupplaphil/task/add_license
Add license headers
2020-02-09 16:31:29 -05:00
nupplaPhil
56a46e4ed1
Add license info at Friendica PHP files 2020-02-09 16:34:23 +01:00
nupplaPhil
b5759d24ee
Add license info at Friendica classes 2020-02-09 15:45:35 +01:00
e0dbc6a6d6
Merge pull request #956 from nupplaphil/task/move_enotify_parts
[various] Move Notify "type" and "otype" into own enum classes
2020-02-05 20:29:31 -05:00
nupplaPhil
6cc04a3ebc
Move Notify::TYPE_SYSTEM 2020-02-05 21:43:31 +01:00
nupplaPhil
4e9838f571
Move Notify::TYPE_COMMENT 2020-02-05 21:43:30 +01:00
7bd1f05510
Merge pull request #955 from annando/showmore-ignore
Showmore: Ignore addon for screen readers
2020-02-05 10:58:53 -05:00
c95713b19c Showmore: Ignore addon for screen readers 2020-02-05 15:47:13 +00:00
49f0b0909e
Merge pull request #954 from MrPetovan/bug/langfilter-default-form-values
[langfilter] Add default values to form parameters
2020-02-02 08:00:15 +01:00
7df232a28e [langfilter] Add default values to form parameters
- Rename langfilter.disable to langfilter.enable with backward compatibility
2020-02-01 14:14:22 -05:00
bdfe575365 [various] Remove redundant profile_uid field from profile query 2020-01-31 20:10:10 -05:00
f416f4d6a4
Merge pull request #953 from nupplaphil/bug/8206-securemail
[securemail] Fix secure Mail addon
2020-01-31 13:44:37 -05:00
c185bab922
Fix logging 2020-01-31 19:43:34 +01:00
81dc1e5eb1
fix logger settings 2020-01-31 19:40:50 +01:00
7603b23799
Fix secure Mail addon 2020-01-31 19:32:16 +01:00
360e58e6e3
Merge pull request #952 from nupplaphil/bug/8000-phpmailer
[various] Fix invalid "emailer_send_prepare" Hook
2020-01-29 15:16:13 -05:00
dc1e3a0d1d
Fix composer 2020-01-29 21:13:53 +01:00
0fb7e2c647
Fix invalid "emailer_prepare" Hook
- Use IEmail instead of array data
- Introduce "composer" based library for phpmailer
2020-01-29 20:24:41 +01:00
30eb87e939
Merge pull request #950 from nupplaphil/bug/8182_another_notification_bug
[various] enotify: empty out fields instead of using "abort" for addons
2020-01-28 16:58:47 -05:00
Philipp
5398962506
Merge pull request #951 from MrPetovan/task/7817-custom-profile-fields
[various] New custom profile field feature
2020-01-28 15:40:36 +01:00
53d3c372f3 [widgets] Remove uses of deprecated profile field 2020-01-27 23:09:59 -05:00
6f45425817 [morechoice] Deprecate addon 2020-01-27 23:09:41 -05:00
14acb7d7cf [forumdirectory] Remove uses of deprecated profile fields 2020-01-27 23:09:29 -05:00
2429f7eba8
enotify: empty out fields instead of using "abort" for addons 2020-01-28 01:12:41 +01:00
bfa25a197c
Merge pull request #949 from nupplaphil/task/split_emails
[various] Introduce specific Email classes
2020-01-26 17:13:43 -05:00
ae5ebf1e89
Some Renames:
- EMail => EMail
- toEmail => toAddress
- fromEmail => fromAddress
2020-01-26 23:47:15 +01:00
49254a8307
Introduce interface for emailing and create email classes 2020-01-26 20:23:58 +01:00
b828762910
Add explicit parameters to Sender::send() method signature 2020-01-26 01:04:53 +01:00
eb18a0d761
Make EMailer util dynamic 2020-01-25 23:10:38 +01:00
1357817fc3
Merge pull request #948 from nupplaphil/task/di_config
CleanUp Config namespace
2020-01-19 22:23:10 -05:00
65e4726718
Remove unneeded Config namespace usages 2020-01-19 22:50:43 +01:00
62d6f08fc1
Add missing Friendica\DI namespace to files (PHPStorm inspection) 2020-01-19 21:26:41 +01:00
75143e27b5
Move Config::set() to DI::config()->set() 2020-01-19 21:21:52 +01:00
1ce63185ab
Move Config::get() to DI::config()->get() 2020-01-19 21:21:12 +01:00
c67ad31c8b
Merge pull request #947 from nupplaphil/task/di_l10n
Cleanup L10n namespace
2020-01-19 11:30:31 -05:00
8f49ff2054
Fix missing Cache namespace 2020-01-19 16:35:10 +01:00
191e298504
add missing namespaces/fix wrong class-names 2020-01-19 16:31:48 +01:00
bce67496a7
fix forgotten use DI namespaces ... 2020-01-19 16:31:48 +01:00
f2fc22227a
cleanup namespace usages for L10n 2020-01-19 16:31:47 +01:00
88f0835fae
Move L10n::tt() calls to DI::l10n()->tt() calls 2020-01-19 16:31:46 +01:00
48fecb9a40
Move L10n::t() calls to DI::l10n()->t() calls 2020-01-19 16:31:46 +01:00
1eb23e3667
Merge pull request #945 from valvin1/feat/blockbot_uptimerobot
feat(blockbot): ensure good agent are whitelisted and add uptimerobot
2020-01-18 23:53:24 -05:00
valvin
e7f7868c88 fix(blockbot): indent code using psr12 2020-01-18 23:28:14 +01:00
bbaf463a20
Merge pull request #946 from nupplaphil/task/di_pconfig
[various] Move PConfig to DI::pConfig()
2020-01-18 13:58:40 -05:00
a26bfe79e9
Remove unused use statements & remove PConfig class 2020-01-18 17:02:59 +01:00
346bf125a7
Move PConfig::delete() to DI::pConfig()->delete() 2020-01-18 16:56:45 +01:00
febc835a2d
Move PConfig::set() to DI::pConfig()->set() 2020-01-18 16:54:49 +01:00
ea3a9052d8
Move PConfig::get() to DI::pConfig()->get() 2020-01-18 16:50:56 +01:00
2a35176588
Move PConfig::load() to DI::pConfig()->load() 2020-01-18 15:59:01 +01:00
valvin
c3919e52d2 feat(blockbot): ensure good agent are whitelisted and add uptimerobot 2020-01-18 15:33:12 +01:00
43d2e0c38a
Merge pull request #944 from nupplaphil/task/cleanup_cache
CleanUp Cache namespace
2020-01-18 09:09:57 -05:00
665948b37e
sort use 2020-01-18 15:47:19 +01:00
fbc10c177f
CleanUp Cache namespace
- Introduce enum "Duration"
- Introduce enum "Type"
- Move "Cache\Cache" to "BaseCache"
2020-01-18 15:41:18 +01:00
bc62d7ad0f
Merge pull request #943 from MrPetovan/bug/fatal-errors
[openstreetmap] Fix references to Cache
2020-01-12 15:40:26 +01:00
d0a63610bd [openstreetmap] Fix references to Cache 2020-01-12 09:36:43 -05:00
Philipp
6121ad71d3
Merge pull request #942 from MrPetovan/bug/8090-advancedcontentfilter-cache
[advancedcontentfilter] Enable rule caching
2020-01-10 20:54:12 +01:00
Benjamin Lorteau
92fed96116 [advancedcontentfilter] Enable rule caching
- Fix broken reference to Friendica\Core\Cache
2020-01-10 14:05:27 -05:00
947f84490d
Merge pull request #940 from nupplaphil/task/remove_get_server
[testdrive] Remove get_server() in favor of Search::getGlobalDirectory()
2020-01-04 20:10:57 -05:00
b6fd3f71f0
Remove get_server() in favor of Search::getGlobalDirectory() 2020-01-05 00:04:04 +01:00
19fd0a22d7
Remove get_server() in favor of Config::get() 2020-01-04 23:59:19 +01:00
Michael Vogel
80e81f02ad
Merge pull request #939 from nupplaphil/task/remove_get_app
[ifttt] Remove get_app() in favor of DI::app()
2020-01-04 23:42:32 +01:00
9b93c5ee60
Remove get_app() in favor of DI::app() 2020-01-04 23:42:00 +01:00
77be5d04b6
Merge pull request #938 from tobiasd/20200103-advZHCN
[advanced content filter] added ZH-CN translation THX  tomacat
2020-01-03 08:21:23 -05:00
ce17f7c793 [advanced content filter] added ZH-CN translation THX tomacat 2020-01-03 07:15:34 +01:00
ba66cb2dc5
Merge pull request #937 from loma-one/patch-1
Extending the Unicode Emoji based on the 'unicode_smiles addon'
2020-01-02 15:55:10 -05:00
loma-one
b37d8807ae
Update unicode_smilies.php
correction // subdivision-flag
2020-01-02 21:49:14 +01:00
loma-one
fc41ff2e08
Update unicode_smilies.php 2020-01-02 16:14:22 +01:00
loma-one
9799c65ab3
Update unicode_smilies.php 2020-01-02 10:02:19 +01:00
loma-one
bbe4c5cd58
Extending the Unicode Emoji based on the 'unicode_smiles addon'
-Indentation of the file restored
-change :bowling
-:birthday cake' audited
-German translation removed
-Author list added
2020-01-02 09:53:13 +01:00
loma-one
3797c2f971
Update unicode_smilies.php 2020-01-01 18:36:16 +01:00
loma-one
8ae44d5995
Update unicode_smilies.php
Extension of the UNICODE Emoji based on  http://www.unicode.org/emoji/charts/full-emoji-list.html
2020-01-01 18:10:47 +01:00
Michael Vogel
8504f2e999
Merge pull request #936 from MrPetovan/bug/notices
[various] Replace remaining $a->page by DI::page()
2019-12-31 10:54:18 +01:00
d3717045f7 [various] Replace remaining $a->page by DI::page() 2019-12-30 15:53:43 -05:00
b351fabb4f
Merge pull request #935 from nupplaphil/task/move_page
[various] Replace deprecated $a->page with DI::page()
2019-12-30 13:42:47 -05:00
2ca621a92a
Replace deprecated $a->page with DI::page() 2019-12-30 20:02:08 +01:00
Michael Vogel
07269ebb69
Merge pull request #934 from tobiasd/20191230-markdownPL
[markdown] added PL translation THX waldis
2019-12-30 09:54:39 +01:00
dc4b91899b [markdown] added PL translation THX waldis 2019-12-30 07:58:26 +01:00
44636c1461
Merge pull request #933 from MrPetovan/bug/fatal-errors
[various] Update missing references to DI
2019-12-29 22:29:40 -05:00
14850e553a
Merge pull request #932 from annando/markdown-more-elements
Markdown: Protecting some more BBCode elements
2019-12-29 21:57:47 -05:00
b1eefb5a48 Update obsolete Module\Login reference to Module\Security\Login 2019-12-29 21:55:37 -05:00
905823ea63 Update obsolete App::getBaseUrl calls to DI::baseUrl 2019-12-29 21:55:10 -05:00
d0a7623b94 Markdown: Protecting some more BBCode elements 2019-12-30 02:25:01 +00:00
c03588f0b4
Merge pull request #931 from annando/fix-927
Fix PR 927: Adds forgotten calls
2019-12-29 21:05:33 -05:00
141007764b Fix PR 927: Adds forgotten calls 2019-12-30 01:20:55 +00:00
bbc629544f
Merge pull request #927 from nupplaphil/task/replace_getClass
[various] CleanUp deprecated methods
2019-12-29 19:55:44 -05:00
aa7f8e7bdf
Merge pull request #930 from annando/markdown-encoding
Markdown: Protect some more elements from markdown parsing
2019-12-29 17:37:22 -05:00
dbd9e940c8 Markdown: Protect some more elements from markdown parsing 2019-12-29 21:01:38 +00:00
Michael Vogel
6b128e5f17
Merge pull request #929 from tobiasd/20191229-markdownCS
[markdown] added CS translation THX Aditoo
2019-12-29 19:36:43 +01:00
42ed23bfbc [markdown] added CS translation THX Aditoo 2019-12-29 17:44:37 +01:00
0b56ff0aa0
Add DI::auth() call to windowsphonepush 2019-12-28 15:18:18 +01:00
9d9384f5ed
Remove deprecated App::module - replace with DI::module()->getName() 2019-12-27 21:55:19 +01:00
dfd8c4c24f
Remove deprecated App::query_string - replace with DI::args()->getQueryString() 2019-12-27 21:55:19 +01:00
5060f3c0aa
Remove deprecated App::is_mobile/is_tablet - replace with DI::mode()->isMobile()/isTablet() 2019-12-27 21:55:18 +01:00
4b6527e273
Remove deprecated App::registerStylesheet()/FooterScript() - replace with DI::page()->registerStylesheet()/FooterScript() 2019-12-27 21:55:17 +01:00
335fcf670f
Remove deprecated App::getBaseURL() - process methods to DI::baseUrl()->get() 2019-12-27 21:55:17 +01:00
0775c28854
Remove deprecated App::getHostName() - process methods to DI::baseUrl()->getHostName() 2019-12-27 21:55:16 +01:00
99db3452e3
Refactor deprecated App::internalRedirect() to DI::baseUrl()->redirect() 2019-12-27 21:55:16 +01:00
33dae7eb94
Refactor dynamic App::getProfiler() to static DI::profiler() 2019-12-27 21:55:16 +01:00
44bf0343e2
Refactor dynamic App::getLogger() to static DI::logger() 2019-12-27 21:55:15 +01:00
34ba7f441d
Replace BaseObject class with DI::* calls 2019-12-27 21:55:15 +01:00
5d4d175bf9
Introduce new DI container
- Adding Friendica\DI class for getting dynamic classes
- Replacing BaseObject::getApp() with this class
2019-12-27 21:55:14 +01:00
d18af9c2c4
Merge pull request #925 from annando/markdown-escape
Markdown: Escape some elements prior to sending them through Markdown
2019-12-27 12:13:06 -05:00
Michael Vogel
50d028db3c
Merge pull request #926 from tobiasd/20191227-markdownDE
[markdown] added DE translation
2019-12-27 10:26:10 +01:00
11b09b260f better wording 2019-12-27 07:54:40 +01:00
5776ffcb5b [markdown] added DE translation 2019-12-27 07:50:37 +01:00
051771c4e2 Standards 2019-12-27 06:09:09 +00:00
2f3e727570 Markdown: Escape some elements prior to sending them through Markdown 2019-12-27 01:35:15 +00:00
4954cabd9d
Merge pull request #924 from annando/markdown
New Addon Markdown
2019-12-26 11:36:56 +01:00
95f0065759 Added messages 2019-12-26 10:05:27 +00:00
289d7b344c New Addon Markdown 2019-12-26 08:14:04 +00:00
04d552bcb4
Merge pull request #923 from MrPetovan/bug/notices
[tumblr] Fix notice when submitting user settings
2019-12-25 10:03:01 +01:00
1a4a42598d [tumblr] Fix notice when submitting user settings
- Addresses https://github.com/friendica/friendica/issues/8000#issuecomment-568784745
2019-12-24 12:51:21 -05:00
c9036cdc4d Merge 2019.12 master into develop 2019-12-23 20:00:12 +01:00
98e9cc7dc2
Merge pull request #922 from nupplaphil/bug/7989-advancedcontfilter
[advancedcontentfilter] Fix Hook-call during install
2019-12-22 19:38:00 -05:00
382ca2b3bc
Restored Hook::register and added Hook::add 2019-12-23 01:36:32 +01:00
838c28f171
Add more indention :-) 2019-12-22 20:36:19 +01:00
4f4b9f26c1
Fix dbstructure update hook for advancedcontentfilter 2019-12-22 19:36:28 +01:00
07143841d2
Merge pull request #917 from nupplaphil/task/reduce_app_deps
[windowsphonepush] - Switch Authentication call
2019-12-22 09:05:44 -05:00
30459ae6a3
Merge pull request #921 from tobiasd/20191222-et
showmore: added ET translation THX Rain Hawk
2019-12-22 09:02:56 -05:00
cd20f56fbe showmore: added ET translation THX Rain Hawk 2019-12-22 07:03:17 +01:00
Michael Vogel
7b5daad98f
Merge pull request #909 from MrPetovan/task/4090-move-profile_photo-to-src
Move Object\Image static methods to Util\Images
2019-12-18 16:16:40 +01:00
4dc0d55027
Merge pull request #920 from tobiasd/20191216-lng
DE and ET translation updates
2019-12-16 02:17:06 -05:00
cbfda200c5 buglink: DE translation updated THX Rene Wagner 2019-12-16 08:14:55 +01:00
8237e3cc69 smileybutton: ET translation added THX Rain Hawk 2019-12-16 08:13:41 +01:00
Michael Vogel
5091b2aa41
Merge pull request #919 from MrPetovan/bug/tumblr-oauth
[various] Use correct object class for Oauth token
2019-12-11 23:13:17 +01:00
Benjamin Lorteau
a042470051 [twitter] Use correct object class for Oauth token in library/tumblroauth
- Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-564562386
2019-12-11 17:07:35 -05:00
Benjamin Lorteau
9e27e3061c [tumblr] Use correct object class for Oauth token in library/tumblroauth
- Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-564648263
2019-12-11 14:45:49 -05:00
Benjamin Lorteau
f8e0df1f71 [tumblr] Improve phpDoc in library/tumblroauth 2019-12-11 13:18:17 -05:00
Benjamin Lorteau
98c47f24ba [tumblr] Fix formatting in library/tumblroauth 2019-12-11 13:04:36 -05:00
d6736eddf5
Move Cookie to own class (with tests)
Move Authentication to App namespace
2019-12-08 22:45:33 +01:00
cfe921ac75
Merge pull request #918 from annando/buffer-unsupported
Issue 7916: Buffer is unsupported now
2019-12-07 17:04:22 -05:00
1b08661d9d Issue 7916: Buffer is unsupported now 2019-12-07 21:56:43 +00:00
c62774f6d2
Refactor "Authentication" class with four main methods:
- withSession() - for auto authentication with Session/Cookie variables
- withOpenId() - for authentication with an OpenID account
- withPassword() - for authentication with Password
- setForUser() - for setting the user auth context of the current session

Refactor "Session" class - contains now "native" Session Management methods
2019-12-03 22:29:36 +01:00
d31330a0df
Merge pull request #916 from friendica/dependabot/composer/advancedcontentfilter/symfony/cache-3.4.36
Bump symfony/cache from 3.4.8 to 3.4.36 in /advancedcontentfilter
2019-12-02 14:23:37 -05:00
dependabot[bot]
a797db56ad
Bump symfony/cache from 3.4.8 to 3.4.36 in /advancedcontentfilter
Bumps [symfony/cache](https://github.com/symfony/cache) from 3.4.8 to 3.4.36.
- [Release notes](https://github.com/symfony/cache/releases)
- [Changelog](https://github.com/symfony/cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/cache/compare/v3.4.8...v3.4.36)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-02 19:21:35 +00:00
afe5846348
Merge pull request #915 from MrPetovan/bug/js_upload-public-visibility
[js_upload] Restore public image upload
2019-12-02 05:53:51 +01:00
d2ef577d93 [js_upload] Restore public image upload 2019-12-01 16:33:19 -05:00
271b2d4b1c
Merge pull request #914 from MrPetovan/bug/7880-js_upload-rewrite-after-acl-change
[js_upload] Rewrite addon after ACL changes
2019-11-30 20:52:07 +01:00
665c2c3337 [js_upload] Rewrite addon after ACl changes
- Move HTML to template
- Remove redundant uninstall method
- Enforce coding standards
- Add type-hinting
2019-11-30 12:06:51 -05:00
75a7d6f1c7
Merge pull request #913 from annando/discourse
Discourse Addon
2019-11-28 12:59:27 -05:00
c45df0b964 Improved template 2019-11-28 04:57:39 +00:00
561ae12b02 Settings had been moved into a template 2019-11-27 05:54:26 +00:00
fae6bbe92c Some fixes / subject cleaning 2019-11-26 18:59:50 +00:00
57f689faf1 To-Do added, code fragment removed 2019-11-26 07:21:49 +00:00
f951608669 Added logging value 2019-11-25 23:09:18 +00:00
0235126589 Settings page added 2019-11-25 22:58:01 +00:00
9bc1f9cee6 README updated, code restructured 2019-11-25 22:23:19 +00:00
0465de62dc Discourse contacts are generated, URI and Parent-URI are regenerated 2019-11-25 11:14:22 +00:00
b308f3bc05
[avancedcontentfilter] Fix typo in exception name 2019-11-24 14:20:57 -05:00
da663db1cb Discourse addon created 2019-11-23 23:43:59 +00:00
4f545974da Move Object\Image static methods to Util\Images 2019-11-01 21:24:47 -04:00
4100 changed files with 198430 additions and 226883 deletions

View file

@ -6,5 +6,27 @@ root = true
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = lf end_of_line = lf
trim_trailing_whitespaces = true
indent_style = tab 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] [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 file_filter = advancedcontentfilter/lang/<lang>/messages.po
source_file = advancedcontentfilter/lang/C/messages.po source_file = advancedcontentfilter/lang/C/messages.po
source_lang = en 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 file_filter = blackout/lang/<lang>/messages.po
source_file = blackout/lang/C/messages.po source_file = blackout/lang/C/messages.po
source_lang = en 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 file_filter = blockem/lang/<lang>/messages.po
source_file = blockem/lang/C/messages.po source_file = blockem/lang/C/messages.po
source_lang = en 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 file_filter = blogger/lang/<lang>/messages.po
source_file = blogger/lang/C/messages.po source_file = blogger/lang/C/messages.po
source_lang = en 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 file_filter = buffer/lang/<lang>/messages.po
source_file = buffer/lang/C/messages.po source_file = buffer/lang/C/messages.po
source_lang = en 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 file_filter = buglink/lang/<lang>/messages.po
source_file = buglink/lang/C/messages.po source_file = buglink/lang/C/messages.po
source_lang = en 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 file_filter = catavatar/lang/<lang>/messages.po
source_file = catavatar/lang/C/messages.po source_file = catavatar/lang/C/messages.po
source_lang = en 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 file_filter = cookienotice/lang/<lang>/messages.po
source_file = cookienotice/lang/C/messages.po source_file = cookienotice/lang/C/messages.po
source_lang = en 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 file_filter = curweather/lang/<lang>/messages.po
source_file = curweather/lang/C/messages.po source_file = curweather/lang/C/messages.po
source_lang = en 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 file_filter = diaspora/lang/<lang>/messages.po
source_file = diaspora/lang/C/messages.po source_file = diaspora/lang/C/messages.po
source_lang = en 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 file_filter = dwpost/lang/<lang>/messages.po
source_file = dwpost/lang/C/messages.po source_file = dwpost/lang/C/messages.po
source_lang = en 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 file_filter = forumdirectory/lang/<lang>/messages.po
source_file = forumdirectory/lang/C/messages.po source_file = forumdirectory/lang/C/messages.po
source_lang = en 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 file_filter = fromapp/lang/<lang>/messages.po
source_file = fromapp/lang/C/messages.po source_file = fromapp/lang/C/messages.po
source_lang = en 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 file_filter = fromgplus/lang/<lang>/messages.po
source_file = fromgplus/lang/C/messages.po source_file = fromgplus/lang/C/messages.po
source_lang = en 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 file_filter = geonames/lang/<lang>/messages.po
source_file = geonames/lang/C/messages.po source_file = geonames/lang/C/messages.po
source_lang = en 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 file_filter = gnot/lang/<lang>/messages.po
source_file = gnot/lang/C/messages.po source_file = gnot/lang/C/messages.po
source_lang = en 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 file_filter = gravatar/lang/<lang>/messages.po
source_file = gravatar/lang/C/messages.po source_file = gravatar/lang/C/messages.po
source_lang = en 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 file_filter = group_text/lang/<lang>/messages.po
source_file = group_text/lang/C/messages.po source_file = group_text/lang/C/messages.po
source_lang = en 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 file_filter = ifttt/lang/<lang>/messages.po
source_file = ifttt/lang/C/messages.po source_file = ifttt/lang/C/messages.po
source_lang = en 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 file_filter = ijpost/lang/<lang>/messages.po
source_file = ijpost/lang/C/messages.po source_file = ijpost/lang/C/messages.po
source_lang = en 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 file_filter = impressum/lang/<lang>/messages.po
source_file = impressum/lang/C/messages.po source_file = impressum/lang/C/messages.po
source_lang = en 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 file_filter = infiniteimprobabilitydrive/lang/<lang>/messages.po
source_file = infiniteimprobabilitydrive/lang/C/messages.po source_file = infiniteimprobabilitydrive/lang/C/messages.po
source_lang = en 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 file_filter = irc/lang/<lang>/messages.po
source_file = irc/lang/C/messages.po source_file = irc/lang/C/messages.po
source_lang = en 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 file_filter = jappixmini/lang/<lang>/messages.po
source_file = jappixmini/lang/C/messages.po source_file = jappixmini/lang/C/messages.po
source_lang = en 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 file_filter = js_upload/lang/<lang>/messages.po
source_file = js_upload/lang/C/messages.po source_file = js_upload/lang/C/messages.po
source_lang = en 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 file_filter = krynn/lang/<lang>/messages.po
source_file = krynn/lang/C/messages.po source_file = krynn/lang/C/messages.po
source_lang = en 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 file_filter = langfilter/lang/<lang>/messages.po
source_file = langfilter/lang/C/messages.po source_file = langfilter/lang/C/messages.po
source_lang = en 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 file_filter = libertree/lang/<lang>/messages.po
source_file = libertree/lang/C/messages.po source_file = libertree/lang/C/messages.po
source_lang = en 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 file_filter = libravatar/lang/<lang>/messages.po
source_file = libravatar/lang/C/messages.po source_file = libravatar/lang/C/messages.po
source_lang = en 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 file_filter = ljpost/lang/<lang>/messages.po
source_file = ljpost/lang/C/messages.po source_file = ljpost/lang/C/messages.po
source_lang = en 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 file_filter = mailstream/lang/<lang>/messages.po
source_file = mailstream/lang/C/messages.po source_file = mailstream/lang/C/messages.po
source_lang = en 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 file_filter = mathjax/lang/<lang>/messages.po
source_file = mathjax/lang/C/messages.po source_file = mathjax/lang/C/messages.po
source_lang = en 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 file_filter = membersince/lang/<lang>/messages.po
source_file = membersince/lang/C/messages.po source_file = membersince/lang/C/messages.po
source_lang = en 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 file_filter = morechoice/lang/<lang>/messages.po
source_file = morechoice/lang/C/messages.po source_file = morechoice/lang/C/messages.po
source_lang = en 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 file_filter = morepokes/lang/<lang>/messages.po
source_file = morepokes/lang/C/messages.po source_file = morepokes/lang/C/messages.po
source_lang = en 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 file_filter = newmemberwidget/lang/<lang>/messages.po
source_file = newmemberwidget/lang/C/messages.po source_file = newmemberwidget/lang/C/messages.po
source_lang = en 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 file_filter = notifyall/lang/<lang>/messages.po
source_file = notifyall/lang/C/messages.po source_file = notifyall/lang/C/messages.po
source_lang = en 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 file_filter = notimeline/lang/<lang>/messages.po
source_file = notimeline/lang/C/messages.po source_file = notimeline/lang/C/messages.po
source_lang = en 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 file_filter = nsfw/lang/<lang>/messages.po
source_file = nsfw/lang/C/messages.po source_file = nsfw/lang/C/messages.po
source_lang = en 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 file_filter = numfriends/lang/<lang>/messages.po
source_file = numfriends/lang/C/messages.po source_file = numfriends/lang/C/messages.po
source_lang = en 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 file_filter = openstreetmap/lang/<lang>/messages.po
source_file = openstreetmap/lang/C/messages.po source_file = openstreetmap/lang/C/messages.po
source_lang = en 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 file_filter = pageheader/lang/<lang>/messages.po
source_file = pageheader/lang/C/messages.po source_file = pageheader/lang/C/messages.po
source_lang = en 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 file_filter = piwik/lang/<lang>/messages.po
source_file = piwik/lang/C/messages.po source_file = piwik/lang/C/messages.po
source_lang = en 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 file_filter = planets/lang/<lang>/messages.po
source_file = planets/lang/C/messages.po source_file = planets/lang/C/messages.po
source_lang = en 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 file_filter = public_server/lang/<lang>/messages.po
source_file = public_server/lang/C/messages.po source_file = public_server/lang/C/messages.po
source_lang = en 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 file_filter = pumpio/lang/<lang>/messages.po
source_file = pumpio/lang/C/messages.po source_file = pumpio/lang/C/messages.po
source_lang = en 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 file_filter = qcomment/lang/<lang>/messages.po
source_file = qcomment/lang/C/messages.po source_file = qcomment/lang/C/messages.po
source_lang = en 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 file_filter = randplace/lang/<lang>/messages.po
source_file = randplace/lang/C/messages.po source_file = randplace/lang/C/messages.po
source_lang = en 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 file_filter = remote_permissions/lang/<lang>/messages.po
source_file = remote_permissions/lang/C/messages.po source_file = remote_permissions/lang/C/messages.po
source_lang = en 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 file_filter = rendertime/lang/<lang>/messages.po
source_file = rendertime/lang/C/messages.po source_file = rendertime/lang/C/messages.po
source_lang = en 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 file_filter = securemail/lang/<lang>/messages.po
source_file = securemail/lang/C/messages.po source_file = securemail/lang/C/messages.po
source_lang = en 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 file_filter = showmore/lang/<lang>/messages.po
source_file = showmore/lang/C/messages.po source_file = showmore/lang/C/messages.po
source_lang = en 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 file_filter = smileybutton/lang/<lang>/messages.po
source_file = smileybutton/lang/C/messages.po source_file = smileybutton/lang/C/messages.po
source_lang = en 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 file_filter = startpage/lang/<lang>/messages.po
source_file = startpage/lang/C/messages.po source_file = startpage/lang/C/messages.po
source_lang = en 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 file_filter = statusnet/lang/<lang>/messages.po
source_file = statusnet/lang/C/messages.po source_file = statusnet/lang/C/messages.po
source_lang = en 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 file_filter = superblock/lang/<lang>/messages.po
source_file = superblock/lang/C/messages.po source_file = superblock/lang/C/messages.po
source_lang = en 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 file_filter = testdrive/lang/<lang>/messages.po
source_file = testdrive/lang/C/messages.po source_file = testdrive/lang/C/messages.po
source_lang = en 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 file_filter = tictac/lang/<lang>/messages.po
source_file = tictac/lang/C/messages.po source_file = tictac/lang/C/messages.po
source_lang = en 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 file_filter = tumblr/lang/<lang>/messages.po
source_file = tumblr/lang/C/messages.po source_file = tumblr/lang/C/messages.po
source_lang = en 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 file_filter = twitter/lang/<lang>/messages.po
source_file = twitter/lang/C/messages.po source_file = twitter/lang/C/messages.po
source_lang = en 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 file_filter = viewsrc/lang/<lang>/messages.po
source_file = viewsrc/lang/C/messages.po source_file = viewsrc/lang/C/messages.po
source_lang = en 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 file_filter = webrtc/lang/<lang>/messages.po
source_file = webrtc/lang/C/messages.po source_file = webrtc/lang/C/messages.po
source_lang = en 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 file_filter = widgets/lang/<lang>/messages.po
source_file = widgets/lang/C/messages.po source_file = widgets/lang/C/messages.po
source_lang = en 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 file_filter = windowsphonepush/lang/<lang>/messages.po
source_file = windowsphonepush/lang/C/messages.po source_file = windowsphonepush/lang/C/messages.po
source_lang = en 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 file_filter = wppost/lang/<lang>/messages.po
source_file = wppost/lang/C/messages.po source_file = wppost/lang/C/messages.po
source_lang = en 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 file_filter = xmpp/lang/<lang>/messages.po
source_file = xmpp/lang/C/messages.po source_file = xmpp/lang/C/messages.po
source_lang = en source_lang = en
type = PO type = PO

View file

@ -0,0 +1,72 @@
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- git clone 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,115 @@
# 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 config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- 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,40 @@
skip_clone: true
pipeline:
clone_friendica_base:
image: alpine/git
commands:
- git config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- git clone 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 ]

118
.woodpecker/.phpunit.yml Normal file
View file

@ -0,0 +1,118 @@
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 config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- 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

108
.woodpecker/.releaser.yml Normal file
View file

@ -0,0 +1,108 @@
# 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 config --global user.email "no-reply@friendi.ca"
- git config --global user.name "Friendica"
- git config --global --add safe.directory $CI_WORKSPACE
- 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

View file

@ -6,22 +6,24 @@ You can add these addons to the /addon directory of your Friendica installation
After uploading the addons to your server, you need to activate the desired addons in the Admin panel. Addons not activated have no effect on your node. After uploading the addons to your server, you need to activate the desired addons in the Admin panel. Addons not activated have no effect on your node.
You can find more addons in the [Friendica Addon listing](https://addons.friendi.ca) in cases the addon developers have choosen not to include them here. ## Issues
Please report any issues you have with addons of Friendica from this repository in [the main issue tracker of the project](https://github.com/friendica/friendica/issues).
## Connectors ## Connectors
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora). Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/stable/doc/Connectors.md) for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora).
For communication with contacts in networks supporting those (e.g. GNU social, Diaspora and red#matrix) you just need to access the page configuration in the Admin panel and enable them. For networks where communication is only possible the API access to a remote account, you need to activate the fitting connectors. For communication with contacts in networks supporting those (e.g. GNU social, Diaspora and red#matrix) you just need to access the page configuration in the Admin panel and enable them. For networks where communication is only possible the API access to a remote account, you need to activate the fitting connectors.
## Development ## Development
The addon interface of Friendica is very flexible and powerful, so if you are missing functionality, your chances are high it may be added with an addon. The addon interface of Friendica is very flexible and powerful, so if you are missing functionality, your chances are high it may be added with an addon.
See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Addons.md) for more information on the addon development. See the [documentation](https://github.com/friendica/friendica/blob/stable/doc/Addons.md) for more information on the addon development.
## Translation ## Translation
Addons can be translated like any other part of Friendica. Addons can be translated like any other part of Friendica.
Translation for addons is done at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/). Translation for addons is done at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/).
Read more about the workflow in the [Friendica translation documentation](https://github.com/friendica/friendica/blob/master/doc/translations.md#addon). Read more about the workflow in the [Friendica translation documentation](https://github.com/friendica/friendica/blob/stable/doc/translations.md#addon).

File diff suppressed because one or more lines are too long

View file

@ -36,16 +36,17 @@
use Friendica\App; use Friendica\App;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Content\Text\Markdown; use Friendica\Content\Text\Markdown;
use Friendica\Core\Cache;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Database\DBStructure; use Friendica\Database\DBStructure;
use Friendica\DI;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Term; use Friendica\Model\Post;
use Friendica\Module\Login; use Friendica\Model\Tag;
use Friendica\Model\User;
use Friendica\Module\Security\Login;
use Friendica\Network\HTTPException; use Friendica\Network\HTTPException;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
@ -54,49 +55,67 @@ use Symfony\Component\ExpressionLanguage;
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; 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('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter'); Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
Hook::register('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings'); Hook::register('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings');
DBStructure::update($a->getBasePath(), false, true); Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
DBStructure::performUpdate();
Logger::log("installed advancedcontentfilter"); Logger::notice('installed advancedcontentfilter');
}
function advancedcontentfilter_uninstall()
{
Hook::unregister('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
Hook::unregister('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
Hook::unregister('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings');
} }
/* /*
* Hooks * Hooks
*/ */
function advancedcontentfilter_dbstructure_definition(App $a, &$database) function advancedcontentfilter_dbstructure_definition(&$database)
{ {
$database["advancedcontentfilter_rules"] = [ $database['advancedcontentfilter_rules'] = [
"comment" => "Advancedcontentfilter addon rules", 'comment' => 'Advancedcontentfilter addon rules',
"fields" => [ 'fields' => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented rule id"], '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"], 'uid' => ['type' => 'int unsigned', 'not null' => '1', 'comment' => 'Owner user id'],
"name" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Rule name"], 'name' => ['type' => 'varchar(255)', 'not null' => '1', 'comment' => 'Rule name'],
"expression" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Expression text"], 'expression' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Expression text'],
"serialized" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Serialized parsed expression"], '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"], '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"], 'created' => ['type' => 'datetime' , 'not null' => '1', 'default' => DBA::NULL_DATETIME, 'comment' => 'Creation date'],
], ],
"indexes" => [ 'indexes' => [
"PRIMARY" => ["id"], 'PRIMARY' => ['id'],
"uid_active" => ["uid", "active"], 'uid_active' => ['uid', 'active'],
] ]
]; ];
} }
function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data) /**
* @param array $item Prepared by either Model\Item::prepareBody or advancedcontentfilter_prepare_item_row
* @return array
*/
function advancedcontentfilter_get_filter_fields(array $item)
{
$vars = [];
// Convert the language JSON text into a filterable format
if (!empty($item['language']) && ($languages = json_decode($item['language'], true))) {
foreach ($languages as $key => $value) {
$vars['language_' . strtolower($key)] = $value;
}
}
foreach ($item as $key => $value) {
$vars[str_replace('-', '_', $key)] = $value;
}
ksort($vars);
return $vars;
}
function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
{ {
static $expressionLanguage; static $expressionLanguage;
@ -104,22 +123,21 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage(); $expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
} }
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
return; return;
} }
$vars = []; $vars = advancedcontentfilter_get_filter_fields($hook_data['item']);
foreach ($hook_data['item'] as $key => $value) {
$vars[str_replace('-', '_', $key)] = $value;
}
$rules = Cache::get('rules_' . local_user()); $rules = DI::cache()->get('rules_' . DI::userSession()->getLocalUserId());
if (!isset($rules)) { if (!isset($rules)) {
$rules = DBA::toArray(DBA::select( $rules = DBA::toArray(DBA::select(
'advancedcontentfilter_rules', 'advancedcontentfilter_rules',
['name', 'expression', 'serialized'], ['name', 'expression', 'serialized'],
['uid' => local_user(), 'active' => true] ['uid' => DI::userSession()->getLocalUserId(), 'active' => true]
)); ));
DI::cache()->set('rules_' . DI::userSession()->getLocalUserId(), $rules);
} }
if ($rules) { if ($rules) {
@ -137,7 +155,7 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
} }
if ($found) { if ($found) {
$hook_data['filter_reasons'][] = L10n::t('Filtered by rule: %s', $rule['name']); $hook_data['filter_reasons'][] = DI::l10n()->t('Filtered by rule: %s', $rule['name']);
break; break;
} }
} }
@ -145,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; return;
} }
$advancedcontentfilter = L10n::t('Advanced Content Filter'); $data = [
'addon' => 'advancedcontentfilter',
$s .= <<<HTML 'title' => DI::l10n()->t('Advanced Content Filter'),
<span class="settings-block fakelink" style="display: block;"><h3><a href="advancedcontentfilter">$advancedcontentfilter <i class="glyphicon glyphicon-share"></i></a></h3></span> 'href' => 'advancedcontentfilter',
HTML; ];
return;
} }
/* /*
* Module * 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_module() {}
function advancedcontentfilter_init(App $a) function advancedcontentfilter_init()
{ {
if ($a->argc > 1 && $a->argv[1] == 'api') { if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'api') {
$slim = new \Slim\App(); $slim = \Slim\Factory\AppFactory::create();
require __DIR__ . '/src/middlewares.php'; require __DIR__ . '/src/middlewares.php';
@ -180,14 +201,16 @@ function advancedcontentfilter_init(App $a)
} }
} }
function advancedcontentfilter_content(App $a) function advancedcontentfilter_content()
{ {
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
return Login::form('/' . implode('/', $a->argv)); return Login::form('/' . implode('/', DI::args()->getArgv()));
} }
if ($a->argc > 1 && $a->argv[1] == 'help') { if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'help') {
$lang = $a->user['language']; $user = User::getById(DI::userSession()->getLocalUserId());
$lang = $user['language'];
$default_dir = 'addon/advancedcontentfilter/doc/'; $default_dir = 'addon/advancedcontentfilter/doc/';
$help_file = 'advancedcontentfilter.md'; $help_file = 'advancedcontentfilter.md';
@ -207,30 +230,30 @@ function advancedcontentfilter_content(App $a)
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/advancedcontentfilter/'); $t = Renderer::getMarkupTemplate('settings.tpl', 'addon/advancedcontentfilter/');
return Renderer::replaceMacros($t, [ return Renderer::replaceMacros($t, [
'$messages' => [ '$messages' => [
'backtosettings' => L10n::t('Back to Addon Settings'), 'backtosettings' => DI::l10n()->t('Back to Addon Settings'),
'title' => L10n::t('Advanced Content Filter'), 'title' => DI::l10n()->t('Advanced Content Filter'),
'add_a_rule' => L10n::t('Add a Rule'), 'add_a_rule' => DI::l10n()->t('Add a Rule'),
'help' => L10n::t('Help'), 'help' => DI::l10n()->t('Help'),
'intro' => L10n::t('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.'), 'intro' => DI::l10n()->t('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.'),
'your_rules' => L10n::t('Your rules'), 'your_rules' => DI::l10n()->t('Your rules'),
'no_rules' => L10n::t('You have no rules yet! Start adding one by clicking on the button above next to the title.'), 'no_rules' => DI::l10n()->t('You have no rules yet! Start adding one by clicking on the button above next to the title.'),
'disabled' => L10n::t('Disabled'), 'disabled' => DI::l10n()->t('Disabled'),
'enabled' => L10n::t('Enabled'), 'enabled' => DI::l10n()->t('Enabled'),
'disable_this_rule' => L10n::t('Disable this rule'), 'disable_this_rule' => DI::l10n()->t('Disable this rule'),
'enable_this_rule' => L10n::t('Enable this rule'), 'enable_this_rule' => DI::l10n()->t('Enable this rule'),
'edit_this_rule' => L10n::t('Edit this rule'), 'edit_this_rule' => DI::l10n()->t('Edit this rule'),
'edit_the_rule' => L10n::t('Edit the rule'), 'edit_the_rule' => DI::l10n()->t('Edit the rule'),
'save_this_rule' => L10n::t('Save this rule'), 'save_this_rule' => DI::l10n()->t('Save this rule'),
'delete_this_rule' => L10n::t('Delete this rule'), 'delete_this_rule' => DI::l10n()->t('Delete this rule'),
'rule' => L10n::t('Rule'), 'rule' => DI::l10n()->t('Rule'),
'close' => L10n::t('Close'), 'close' => DI::l10n()->t('Close'),
'addtitle' => L10n::t('Add new rule'), 'addtitle' => DI::l10n()->t('Add new rule'),
'rule_name' => L10n::t('Rule Name'), 'rule_name' => DI::l10n()->t('Rule Name'),
'rule_expression' => L10n::t('Rule Expression'), 'rule_expression' => DI::l10n()->t('Rule Expression'),
'cancel' => L10n::t('Cancel'), 'cancel' => DI::l10n()->t('Cancel'),
], ],
'$current_theme' => $a->getCurrentTheme(), '$current_theme' => DI::app()->getCurrentTheme(),
'$rules' => advancedcontentfilter_get_rules(), '$rules' => DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()])),
'$form_security_token' => BaseModule::getFormSecurityToken() '$form_security_token' => BaseModule::getFormSecurityToken()
]); ]);
} }
@ -248,29 +271,20 @@ function advancedcontentfilter_build_fields($data)
} }
if (!empty($data['expression'])) { if (!empty($data['expression'])) {
$allowed_keys = [ // Using a dummy item to validate the field existence
'author_id', 'author_link', 'author_name', 'author_avatar', $condition = ["(`uid` = ? OR `uid` = 0)", DI::userSession()->getLocalUserId()];
'owner_id', 'owner_link', 'owner_name', 'owner_avatar', $params = ['order' => ['uid' => true]];
'contact_id', 'uid', 'id', 'parent', 'uri', $item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
'thr_parent', 'parent_uri',
'content_warning', if (!DBA::isResult($item_row)) {
'commented', 'created', 'edited', 'received', throw new HTTPException\NotFoundException(DI::l10n()->t('This addon requires this node having at least one post'));
'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',
];
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage(); $expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
$parsedExpression = $expressionLanguage->parse(
$parsedExpression = $expressionLanguage->parse($data['expression'], $allowed_keys); $data['expression'],
array_keys(advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row)))
);
$serialized = serialize($parsedExpression->getNodes()); $serialized = serialize($parsedExpression->getNodes());
@ -291,36 +305,38 @@ function advancedcontentfilter_build_fields($data)
* API * 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(L10n::t('You must be logged in to use this method')); 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) function advancedcontentfilter_get_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{ {
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method')); 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(L10n::t('You must be logged in to use this method')); throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
} }
if (!BaseModule::checkFormSecurityToken()) { if (!BaseModule::checkFormSecurityToken()) {
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.')); throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
} }
$data = json_decode($request->getBody(), true); $data = json_decode($request->getBody(), true);
@ -328,37 +344,40 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request)
try { try {
$fields = advancedcontentfilter_build_fields($data); $fields = advancedcontentfilter_build_fields($data);
} catch (Exception $e) { } catch (Exception $e) {
throw new HTTPException\BadRequestException($e->getMessage(), 0, $e); throw new HTTPException\BadRequestException($e->getMessage(), $e);
} }
if (empty($fields['name']) || empty($fields['expression'])) { if (empty($fields['name']) || empty($fields['expression'])) {
throw new HTTPException\BadRequestException(L10n::t('The rule name and expression are required.')); 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(); $fields['created'] = DateTimeFormat::utcNow();
if (!DBA::insert('advancedcontentfilter_rules', $fields)) { if (!DBA::insert('advancedcontentfilter_rules', $fields)) {
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage()); throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
} }
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]); $rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]);
return json_encode(['message' => L10n::t('Rule successfully added'), 'rule' => $rule]); DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
$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) function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{ {
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method')); throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
} }
if (!BaseModule::checkFormSecurityToken()) { if (!BaseModule::checkFormSecurityToken()) {
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.')); 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(L10n::t('Rule doesn\'t exist or doesn\'t belong to you.')); throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
} }
$data = json_decode($request->getBody(), true); $data = json_decode($request->getBody(), true);
@ -366,65 +385,83 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
try { try {
$fields = advancedcontentfilter_build_fields($data); $fields = advancedcontentfilter_build_fields($data);
} catch (Exception $e) { } catch (Exception $e) {
throw new HTTPException\BadRequestException($e->getMessage(), 0, $e); throw new HTTPException\BadRequestException($e->getMessage(), $e);
} }
if (!DBA::update('advancedcontentfilter_rules', $fields, ['id' => $args['id']])) { if (!DBA::update('advancedcontentfilter_rules', $fields, ['id' => $args['id']])) {
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage()); throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
} }
return json_encode(['message' => L10n::t('Rule successfully updated')]); DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
$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) function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
{ {
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method')); throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
} }
if (!BaseModule::checkFormSecurityToken()) { if (!BaseModule::checkFormSecurityToken()) {
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.')); 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(L10n::t('Rule doesn\'t exist or doesn\'t belong to you.')); throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
} }
if (!DBA::delete('advancedcontentfilter_rules', ['id' => $args['id']])) { if (!DBA::delete('advancedcontentfilter_rules', ['id' => $args['id']])) {
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage()); throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
} }
return json_encode(['message' => L10n::t('Rule successfully deleted')]); DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
$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) function advancedcontentfilter_get_variables_guid(ServerRequestInterface $request, ResponseInterface $response, $args)
{ {
if (!local_user()) { if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method')); throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
} }
if (!isset($args['guid'])) { if (!isset($args['guid'])) {
throw new HTTPException\BadRequestException(L10n::t('Missing argument: guid.')); 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]]; $params = ['order' => ['uid' => true]];
$item = Item::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(L10n::t('Unknown post with guid: %s', $args['guid'])); throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown post with guid: %s', $args['guid']));
} }
$tags = Term::populateTagsFromItem($item); $return = advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row));
$item['tags'] = $tags['tags']; $response->getBody()->write(json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]));
$item['hashtags'] = $tags['hashtags']; return $response->withHeader('Content-Type', 'application/json');
$item['mentions'] = $tags['mentions']; }
$return = []; /**
foreach ($item as $key => $value) { * This mimimcs the processing performed in Model\Item::prepareBody
$return[str_replace('-', '_', $key)] = $value; *
} * @param array $item_row
* @return array
return json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]); * @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", "name": "friendica-addons/advancedcontentfilter",
"description": "Advanced Content Filter addon for Friendica", "description": "Advanced Content Filter addon for Friendica",
"type": "friendica-addon", "type": "friendica-addon",
"authors": [ "authors": [
{ {
"name": "Hypolite Petovan", "name": "Hypolite Petovan",
"email": "hypolite@mrpetovan.com", "email": "hypolite@mrpetovan.com",
"homepage": "https://friendica.mrpetovan.com/profile/hypolite", "homepage": "https://friendica.mrpetovan.com/profile/hypolite",
"role": "Developer" "role": "Developer"
} }
], ],
"require": { "require": {
"php": ">=5.6.0", "slim/slim": "^4",
"slim/slim": "^3.1", "symfony/expression-language": "^3.4"
"symfony/expression-language": "^3.4" },
}, "license": "3-clause BSD license",
"license": "3-clause BSD license", "minimum-stability": "stable",
"minimum-stability": "stable", "config": {
"config": { "platform": {
"optimize-autoloader": true, "php": "7.4"
"autoloader-suffix": "AdvancedContentFilterAddon", },
"preferred-install": "dist" "optimize-autoloader": true,
} "autoloader-suffix": "AdvancedContentFilterAddon",
"preferred-install": "dist"
}
} }

File diff suppressed because it is too large Load diff

View file

@ -34,6 +34,14 @@ If the expression using a post variables returns `true`, the post will be collap
A post will be collapsed if at least one rule matches, but all matching rule names will be displayed above the collapsed content. A post will be collapsed if at least one rule matches, but all matching rule names will be displayed above the collapsed content.
## Examples
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 ## Expression Syntax
### Supported Literals ### Supported Literals
@ -322,7 +330,7 @@ You can also retrieve the variables of a specific post by pasting its URL below
<th>rendered_html</th> <th>rendered_html</th>
<td>string</td> <td>string</td>
<td> <td>
Over-compensation #&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" class="tag" title="Street"&gt;Street&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" class="tag" title="Night"&gt;Night&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" class="tag" title="CarLights"&gt;CarLights&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" class="tag" title="Jeep"&gt;Jeep&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" class="tag" title="NoPeople"&gt;NoPeople&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" class="tag" title="Close"&gt;Close&lt;/a&gt;-up &lt;div class="type-link"&gt;&lt;a href="https://www.eyeem.com/p/120800309" target="_blank"&gt;&lt;img src="https://friendica.mrpetovan.com/proxy/bb/aHR0cHM6Ly9jZG4uZXllZW0uY29tL3RodW1iL2IyZjAxOTczOGNiZWVmMDZlMmY4Yzk1MTdjNjI4NmE4YWRjZDNhMDAtMTUyMjE4NDgyMDY0MS82NDAvNDgw" alt="" title="Over-compensation Street Night Car Lights Jeep No | EyeEm" class="attachment-image"&gt;&lt;/a&gt;&lt;br&gt;&lt;h4&gt;&lt;a href="https://www.eyeem.com/p/120800309"&gt;Over-compensation Street Night Car Lights Jeep No | EyeEm&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;Photo by @&lt;a href="https://twitter.com/MrPetovan" class="userinfo mention" title="MrPetovan"&gt;MrPetovan&lt;/a&gt;&lt;/blockquote&gt;&lt;sup&gt;&lt;a href="https://www.eyeem.com/p/120800309"&gt;www.eyeem.com&lt;/a&gt;&lt;/sup&gt;&lt;/div&gt; Over-compensation #&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" class="tag" title="Street"&gt;Street&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" class="tag" title="Night"&gt;Night&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" class="tag" title="CarLights"&gt;CarLights&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" class="tag" title="Jeep"&gt;Jeep&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" class="tag" title="NoPeople"&gt;NoPeople&lt;/a&gt; #&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" class="tag" title="Close"&gt;Close&lt;/a&gt;-up &lt;div class="type-link"&gt;&lt;a href="https://www.eyeem.com/p/120800309" target="_blank" rel="noopener noreferrer"&gt;&lt;img src="https://friendica.mrpetovan.com/proxy/bb/aHR0cHM6Ly9jZG4uZXllZW0uY29tL3RodW1iL2IyZjAxOTczOGNiZWVmMDZlMmY4Yzk1MTdjNjI4NmE4YWRjZDNhMDAtMTUyMjE4NDgyMDY0MS82NDAvNDgw" alt="" title="Over-compensation Street Night Car Lights Jeep No | EyeEm" class="attachment-image"&gt;&lt;/a&gt;&lt;br&gt;&lt;h4&gt;&lt;a href="https://www.eyeem.com/p/120800309"&gt;Over-compensation Street Night Car Lights Jeep No | EyeEm&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;Photo by @&lt;a href="https://twitter.com/MrPetovan" class="userinfo mention" title="MrPetovan"&gt;MrPetovan&lt;/a&gt;&lt;/blockquote&gt;&lt;sup&gt;&lt;a href="https://www.eyeem.com/p/120800309"&gt;www.eyeem.com&lt;/a&gt;&lt;/sup&gt;&lt;/div&gt;
</td> </td>
</tr> </tr>
<tr> <tr>
@ -450,11 +458,6 @@ You can also retrieve the variables of a specific post by pasting its URL below
<td>string</td> <td>string</td>
<td>null</td> <td>null</td>
</tr> </tr>
<tr>
<th>event_adjust</th>
<td>boolean</td>
<td>null</td>
</tr>
<tr> <tr>
<th>event_ignore</th> <th>event_ignore</th>
<td>boolean</td> <td>boolean</td>
@ -470,14 +473,14 @@ You can also retrieve the variables of a specific post by pasting its URL below
<td>list</td> <td>list</td>
<td> <td>
<ol start="0"> <ol start="0">
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank"&gt;street&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer"&gt;street&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank"&gt;night&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer"&gt;night&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank"&gt;carlights&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer"&gt;carlights&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank"&gt;jeep&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer"&gt;jeep&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank"&gt;nopeople&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer"&gt;nopeople&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank"&gt;close&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer"&gt;close&lt;/a&gt;</li>
<li>@&lt;a href="https://twitter.com/MrPetovan" target="_blank"&gt;mrpetovan&lt;/a&gt;</li> <li>@&lt;a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer"&gt;mrpetovan&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank"&gt;close-up&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer"&gt;close-up&lt;/a&gt;</li>
</ol> </ol>
</td> </td>
</tr> </tr>
@ -486,13 +489,13 @@ You can also retrieve the variables of a specific post by pasting its URL below
<td>list</td> <td>list</td>
<td> <td>
<ol start="0"> <ol start="0">
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank"&gt;street&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer"&gt;street&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank"&gt;night&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer"&gt;night&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank"&gt;carlights&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer"&gt;carlights&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank"&gt;jeep&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer"&gt;jeep&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank"&gt;nopeople&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer"&gt;nopeople&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank"&gt;close&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer"&gt;close&lt;/a&gt;</li>
<li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank"&gt;close-up&lt;/a&gt;</li> <li>#&lt;a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer"&gt;close-up&lt;/a&gt;</li>
</ol> </ol>
</td> </td>
</tr> </tr>
@ -501,9 +504,9 @@ You can also retrieve the variables of a specific post by pasting its URL below
<td>string</td> <td>string</td>
<td> <td>
<ol start="0"> <ol start="0">
<li>@&lt;a href="https://twitter.com/MrPetovan" target="_blank"&gt;mrpetovan&lt;/a&gt;</li> <li>@&lt;a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer"&gt;mrpetovan&lt;/a&gt;</li>
</ol> </ol>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,147 +17,145 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: advancedcontentfilter.php:134 #: advancedcontentfilter.php:154
#, php-format #, php-format
msgid "Filtered by rule: %s" msgid "Filtered by rule: %s"
msgstr "" msgstr ""
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204 #: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter" msgid "Advanced Content Filter"
msgstr "" msgstr ""
#: advancedcontentfilter.php:203 #: advancedcontentfilter.php:224
msgid "Back to Addon Settings" msgid "Back to Addon Settings"
msgstr "" msgstr ""
#: advancedcontentfilter.php:205 #: advancedcontentfilter.php:226
msgid "Add a Rule" msgid "Add a Rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:206 #: advancedcontentfilter.php:227
msgid "Help" msgid "Help"
msgstr "" msgstr ""
#: advancedcontentfilter.php:207 #: advancedcontentfilter.php:228
msgid "" msgid ""
"Add and manage your personal content filter rules in this screen. Rules have " "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. " "a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check " "For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>." "the help page."
msgstr "" msgstr ""
#: advancedcontentfilter.php:208 #: advancedcontentfilter.php:229
msgid "Your rules" msgid "Your rules"
msgstr "" msgstr ""
#: advancedcontentfilter.php:209 #: advancedcontentfilter.php:230
msgid "" msgid ""
"You have no rules yet! Start adding one by clicking on the button above next " "You have no rules yet! Start adding one by clicking on the button above next "
"to the title." "to the title."
msgstr "" msgstr ""
#: advancedcontentfilter.php:210 #: advancedcontentfilter.php:231
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: advancedcontentfilter.php:211 #: advancedcontentfilter.php:232
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#: advancedcontentfilter.php:212 #: advancedcontentfilter.php:233
msgid "Disable this rule" msgid "Disable this rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:213 #: advancedcontentfilter.php:234
msgid "Enable this rule" msgid "Enable this rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:214 #: advancedcontentfilter.php:235
msgid "Edit this rule" msgid "Edit this rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:215 #: advancedcontentfilter.php:236
msgid "Edit the rule" msgid "Edit the rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:216 #: advancedcontentfilter.php:237
msgid "Save this rule" msgid "Save this rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:217 #: advancedcontentfilter.php:238
msgid "Delete this rule" msgid "Delete this rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:218 #: advancedcontentfilter.php:239
msgid "Rule" msgid "Rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:219 #: advancedcontentfilter.php:240
msgid "Close" msgid "Close"
msgstr "" msgstr ""
#: advancedcontentfilter.php:220 #: advancedcontentfilter.php:241
msgid "Add new rule" msgid "Add new rule"
msgstr "" msgstr ""
#: advancedcontentfilter.php:221 #: advancedcontentfilter.php:242
msgid "Rule Name" msgid "Rule Name"
msgstr "" msgstr ""
#: advancedcontentfilter.php:222 #: advancedcontentfilter.php:243
msgid "Rule Expression" msgid "Rule Expression"
msgstr "" msgstr ""
#: advancedcontentfilter.php:223 #: advancedcontentfilter.php:244
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/"
"profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
#: advancedcontentfilter.php:224
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301 #: advancedcontentfilter.php:295
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346 msgid "This addon requires this node having at least one post"
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396 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" msgid "You must be logged in to use this method"
msgstr "" msgstr ""
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350 #: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:379 #: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page." msgid "Invalid form security token, please refresh the page."
msgstr "" msgstr ""
#: advancedcontentfilter.php:328 #: advancedcontentfilter.php:363
msgid "The rule name and expression are required." msgid "The rule name and expression are required."
msgstr "" msgstr ""
#: advancedcontentfilter.php:340 #: advancedcontentfilter.php:377
msgid "Rule successfully added" msgid "Rule successfully added"
msgstr "" msgstr ""
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383 #: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you." msgid "Rule doesn't exist or doesn't belong to you."
msgstr "" msgstr ""
#: advancedcontentfilter.php:369 #: advancedcontentfilter.php:408
msgid "Rule successfully updated" msgid "Rule successfully updated"
msgstr "" msgstr ""
#: advancedcontentfilter.php:390 #: advancedcontentfilter.php:431
msgid "Rule successfully deleted" msgid "Rule successfully deleted"
msgstr "" msgstr ""
#: advancedcontentfilter.php:400 #: advancedcontentfilter.php:441
msgid "Missing argument: guid." msgid "Missing argument: guid."
msgstr "" msgstr ""
#: advancedcontentfilter.php:406 #: advancedcontentfilter.php:449
#, php-format #, php-format
msgid "Unknown post with guid: %s" msgid "Unknown post with guid: %s"
msgstr "" msgstr ""
#: src/middlewares.php:28 #: src/middlewares.php:49
msgid "Method not found" msgid "Method not found"
msgstr "" 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

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_ca")) { if(! function_exists("string_plural_select_ca")) {
function string_plural_select_ca($n){ function string_plural_select_ca($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Filtered by rule: %s'] = 'Filtrat per regla: %s';
$a->strings["Filtered by rule: %s"] = "Filtrat per regla: %s"; $a->strings['Advanced Content Filter'] = 'Contingut avançat Filtre';
$a->strings["Advanced Content Filter"] = "Contingut avançat Filtre"; $a->strings['Back to Addon Settings'] = 'Torna Addon Configuració';
$a->strings["Back to Addon Settings"] = "Torna Addon Configuració"; $a->strings['Add a Rule'] = 'Afegiu una regla';
$a->strings["Add a Rule"] = "Afegiu una regla"; $a->strings['Help'] = 'Ajuda';
$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["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["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["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["Disabled"] = "Desactivat"; $a->strings['Enabled'] = 'Permetre';
$a->strings["Enabled"] = "Permetre"; $a->strings['Disable this rule'] = 'Desactiva aquesta regla';
$a->strings["Disable this rule"] = "Desactiva aquesta regla"; $a->strings['Enable this rule'] = 'Activa aquesta regla';
$a->strings["Enable this rule"] = "Activa aquesta regla"; $a->strings['Edit this rule'] = 'Edita aquesta regla';
$a->strings["Edit this rule"] = "Edita aquesta regla"; $a->strings['Edit the rule'] = 'Edita la regla';
$a->strings["Edit the rule"] = "Edita la regla"; $a->strings['Save this rule'] = 'Deseu aquesta regla';
$a->strings["Save this rule"] = "Deseu aquesta regla"; $a->strings['Delete this rule'] = 'Suprimeix aquesta regla';
$a->strings["Delete this rule"] = "Suprimeix aquesta regla"; $a->strings['Rule'] = 'Regla';
$a->strings["Rule"] = "Regla"; $a->strings['Close'] = 'Tancar';
$a->strings["Close"] = "Tancar"; $a->strings['Add new rule'] = 'Add nova regla';
$a->strings["Add new rule"] = "Add nova regla"; $a->strings['Rule Name'] = 'Nom de la regla';
$a->strings["Rule Name"] = "Nom de la regla"; $a->strings['Rule Expression'] = 'Expressió de 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["<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["Cancel"] = "cancel·lar"; $a->strings['You must be logged in to use this method'] = 'Per utilitzar aquest mètode, heu diniciar sessió';
$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["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["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 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 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 updated"] = "La regla s'ha actualitzat correctament"; $a->strings['Rule successfully deleted'] = 'S\'ha suprimit la regla correctament';
$a->strings["Rule successfully deleted"] = "S'ha suprimit la regla correctament"; $a->strings['Missing argument: guid.'] = 'Falta un argument: guia';
$a->strings["Missing argument: guid."] = "Falta un argument: guia"; $a->strings['Unknown post with guid: %s'] = 'Publicació desconeguda amb guia: %s';
$a->strings["Unknown post with guid: %s"] = "Publicació desconeguda amb guia: %s"; $a->strings['Method not found'] = 'Mètode no trobat';
$a->strings["Method not found"] = "Mètode no trobat";

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_cs")) { if(! function_exists("string_plural_select_cs")) {
function string_plural_select_cs($n){ function string_plural_select_cs($n){
$n = intval($n); $n = intval($n);
return ($n == 1 && $n % 1 == 0) ? 0 : ($n >= 2 && $n <= 4 && $n % 1 == 0) ? 1: ($n % 1 != 0 ) ? 2 : 3;; 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["Filtered by rule: %s"] = "Filtrováno podle pravidla: %s"; $a->strings['Advanced Content Filter'] = 'Rozšířený filtr obsahu';
$a->strings["Advanced Content Filter"] = "Rozšířený filtr obsahu"; $a->strings['Back to Addon Settings'] = 'Zpět na nastavení doplňku';
$a->strings["Back to Addon Settings"] = "Zpět na nastavení doplňku"; $a->strings['Add a Rule'] = 'Přidat pravidlo';
$a->strings["Add a Rule"] = "Přidat pravidlo"; $a->strings['Help'] = 'Nápověda';
$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["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["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["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["Disabled"] = "Zakázáno"; $a->strings['Enabled'] = 'Povoleno';
$a->strings["Enabled"] = "Povoleno"; $a->strings['Disable this rule'] = 'Zakázat toto pravidlo';
$a->strings["Disable this rule"] = "Zakázat toto pravidlo"; $a->strings['Enable this rule'] = 'Povolit toto pravidlo';
$a->strings["Enable this rule"] = "Povolit toto pravidlo"; $a->strings['Edit this rule'] = 'Upravit toto pravidlo';
$a->strings["Edit this rule"] = "Upravit toto pravidlo"; $a->strings['Edit the rule'] = 'Upravit pravidlo';
$a->strings["Edit the rule"] = "Upravit pravidlo"; $a->strings['Save this rule'] = 'Uložit toto pravidlo';
$a->strings["Save this rule"] = "Uložit toto pravidlo"; $a->strings['Delete this rule'] = 'Smazat toto pravidlo';
$a->strings["Delete this rule"] = "Smazat toto pravidlo"; $a->strings['Rule'] = 'Pravidlo';
$a->strings["Rule"] = "Pravidlo"; $a->strings['Close'] = 'Zavřít';
$a->strings["Close"] = "Zavřít"; $a->strings['Add new rule'] = 'Přidat nové pravidlo';
$a->strings["Add new rule"] = "Přidat nové pravidlo"; $a->strings['Rule Name'] = 'Název pravidla';
$a->strings["Rule Name"] = "Název pravidla"; $a->strings['Rule Expression'] = 'Výraz 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["<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["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["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["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["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 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 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 updated"] = "Pravidlo úspěšně aktualizováno"; $a->strings['Rule successfully deleted'] = 'Pravidlo úspěšně smazáno';
$a->strings["Rule successfully deleted"] = "Pravidlo úspěšně smazáno"; $a->strings['Missing argument: guid.'] = 'Chybí argument: guid.';
$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["Unknown post with guid: %s"] = "Neznámý pžíspěvek s číslem guid: %s"; $a->strings['Method not found'] = 'Metoda nenalezena';
$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

@ -3,61 +3,64 @@
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package. # This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
# #
# #
# Translators:
# Ulf Rompe <transifex.com@rompe.org>, 2019
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018\n" "Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022\n"
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n" "Language-Team: German (https://app.transifex.com/Friendica/teams/12172/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n" "Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: advancedcontentfilter.php:134 #: advancedcontentfilter.php:154
#, php-format #, php-format
msgid "Filtered by rule: %s" msgid "Filtered by rule: %s"
msgstr "Nach dieser Regel gefiltert: %s" msgstr "Nach dieser Regel gefiltert: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204 #: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter" msgid "Advanced Content Filter"
msgstr "Erweiterter Inhaltsfilter" msgstr "Erweiterter Inhaltsfilter"
#: advancedcontentfilter.php:203 #: advancedcontentfilter.php:224
msgid "Back to Addon Settings" msgid "Back to Addon Settings"
msgstr "Zurück zu den Addon Einstellungen" msgstr "Zurück zu den Addon Einstellungen"
#: advancedcontentfilter.php:205 #: advancedcontentfilter.php:226
msgid "Add a Rule" msgid "Add a Rule"
msgstr "Eine Regel hinzufügen" msgstr "Eine Regel hinzufügen"
#: advancedcontentfilter.php:206 #: advancedcontentfilter.php:227
msgid "Help" msgid "Help"
msgstr "Hilfe" msgstr "Hilfe"
#: advancedcontentfilter.php:207 #: advancedcontentfilter.php:228
msgid "" msgid ""
"Add and manage your personal content filter rules in this screen. Rules have" "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. " " a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check " "For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>." "the help page."
msgstr "" msgstr ""
"Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln" "Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln"
" müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser " " müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser "
"Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann " "Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann "
"gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für " "gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für "
"die Filter, wirf bitte einen Blick auf die <a " "die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons."
"href=\"advancedcontentfilter/help\">Hilfsseite</a> des Addons."
#: advancedcontentfilter.php:208 #: advancedcontentfilter.php:229
msgid "Your rules" msgid "Your rules"
msgstr "Deine Regeln" msgstr "Deine Regeln"
#: advancedcontentfilter.php:209 #: advancedcontentfilter.php:230
msgid "" msgid ""
"You have no rules yet! Start adding one by clicking on the button above next" "You have no rules yet! Start adding one by clicking on the button above next"
" to the title." " to the title."
@ -65,110 +68,108 @@ msgstr ""
"Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen," "Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen,"
" verwende bitte den Button neben dem Titel." " verwende bitte den Button neben dem Titel."
#: advancedcontentfilter.php:210 #: advancedcontentfilter.php:231
msgid "Disabled" msgid "Disabled"
msgstr "Deaktiviert" msgstr "Deaktiviert"
#: advancedcontentfilter.php:211 #: advancedcontentfilter.php:232
msgid "Enabled" msgid "Enabled"
msgstr "Aktiv" msgstr "Aktiv"
#: advancedcontentfilter.php:212 #: advancedcontentfilter.php:233
msgid "Disable this rule" msgid "Disable this rule"
msgstr "Diese Regel deaktivieren" msgstr "Diese Regel deaktivieren"
#: advancedcontentfilter.php:213 #: advancedcontentfilter.php:234
msgid "Enable this rule" msgid "Enable this rule"
msgstr "Diese Regel aktivieren" msgstr "Diese Regel aktivieren"
#: advancedcontentfilter.php:214 #: advancedcontentfilter.php:235
msgid "Edit this rule" msgid "Edit this rule"
msgstr "Diese Regel bearbeiten" msgstr "Diese Regel bearbeiten"
#: advancedcontentfilter.php:215 #: advancedcontentfilter.php:236
msgid "Edit the rule" msgid "Edit the rule"
msgstr "Die Regel bearbeiten" msgstr "Die Regel bearbeiten"
#: advancedcontentfilter.php:216 #: advancedcontentfilter.php:237
msgid "Save this rule" msgid "Save this rule"
msgstr "Regel speichern" msgstr "Regel speichern"
#: advancedcontentfilter.php:217 #: advancedcontentfilter.php:238
msgid "Delete this rule" msgid "Delete this rule"
msgstr "Diese Regel löschen" msgstr "Diese Regel löschen"
#: advancedcontentfilter.php:218 #: advancedcontentfilter.php:239
msgid "Rule" msgid "Rule"
msgstr "Regel" msgstr "Regel"
#: advancedcontentfilter.php:219 #: advancedcontentfilter.php:240
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
#: advancedcontentfilter.php:220 #: advancedcontentfilter.php:241
msgid "Add new rule" msgid "Add new rule"
msgstr "Neue Regel hinzufügen" msgstr "Neue Regel hinzufügen"
#: advancedcontentfilter.php:221 #: advancedcontentfilter.php:242
msgid "Rule Name" msgid "Rule Name"
msgstr "Name der Regel" msgstr "Name der Regel"
#: advancedcontentfilter.php:222 #: advancedcontentfilter.php:243
msgid "Rule Expression" msgid "Rule Expression"
msgstr "Ausdruck der Regel" msgstr "Ausdruck der Regel"
#: advancedcontentfilter.php:223 #: advancedcontentfilter.php:244
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>Ein Beispiel:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
#: advancedcontentfilter.php:224
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301 #: advancedcontentfilter.php:295
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346 msgid "This addon requires this node having at least one post"
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396 msgstr ""
msgid "You must be logged in to use this method" "Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag"
msgstr "Du musst angemeldet sein um diese Methode verwenden zu können " " existiert."
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350 #: advancedcontentfilter.php:325 advancedcontentfilter.php:336
#: advancedcontentfilter.php:379 #: 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:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page." msgid "Invalid form security token, please refresh the page."
msgstr "Ungültiges Sciherheitstoken, bitte die Seite neu laden." msgstr "Ungültiges Sciherheitstoken, bitte die Seite neu laden."
#: advancedcontentfilter.php:328 #: advancedcontentfilter.php:363
msgid "The rule name and expression are required." msgid "The rule name and expression are required."
msgstr "Der Name der Regel und der Ausdruck sind erforderlich." msgstr "Der Name der Regel und der Ausdruck sind erforderlich."
#: advancedcontentfilter.php:340 #: advancedcontentfilter.php:377
msgid "Rule successfully added" msgid "Rule successfully added"
msgstr "Regel erfolgreich hinzugefügt." msgstr "Regel erfolgreich hinzugefügt."
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383 #: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you." msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Entweder existiert die Regel nicht, oder sie gehört dir nicht." msgstr "Entweder existiert die Regel nicht, oder sie gehört dir nicht."
#: advancedcontentfilter.php:369 #: advancedcontentfilter.php:408
msgid "Rule successfully updated" msgid "Rule successfully updated"
msgstr "Regel wurde erfolgreich aktualisiert." msgstr "Regel wurde erfolgreich aktualisiert."
#: advancedcontentfilter.php:390 #: advancedcontentfilter.php:431
msgid "Rule successfully deleted" msgid "Rule successfully deleted"
msgstr "Regel erfolgreich gelöscht." msgstr "Regel erfolgreich gelöscht."
#: advancedcontentfilter.php:400 #: advancedcontentfilter.php:441
msgid "Missing argument: guid." msgid "Missing argument: guid."
msgstr "Fehlendes Argument: guid." msgstr "Fehlendes Argument: guid."
#: advancedcontentfilter.php:406 #: advancedcontentfilter.php:449
#, php-format #, php-format
msgid "Unknown post with guid: %s" msgid "Unknown post with guid: %s"
msgstr "Unbekannter Beitrag mit der guid: %s" msgstr "Unbekannter Beitrag mit der guid: %s"
#: src/middlewares.php:28 #: src/middlewares.php:49
msgid "Method not found" msgid "Method not found"
msgstr "Methode nicht gefunden" msgstr "Methode nicht gefunden"

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_de")) { if(! function_exists("string_plural_select_de")) {
function string_plural_select_de($n){ function string_plural_select_de($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Filtered by rule: %s'] = 'Nach dieser Regel gefiltert: %s';
$a->strings["Filtered by rule: %s"] = "Nach dieser Regel gefiltert: %s"; $a->strings['Advanced Content Filter'] = 'Erweiterter Inhaltsfilter';
$a->strings["Advanced Content Filter"] = "Erweiterter Inhaltsfilter"; $a->strings['Back to Addon Settings'] = 'Zurück zu den Addon Einstellungen';
$a->strings["Back to Addon Settings"] = "Zurück zu den Addon Einstellungen"; $a->strings['Add a Rule'] = 'Eine Regel hinzufügen';
$a->strings["Add a Rule"] = "Eine Regel hinzufügen"; $a->strings['Help'] = 'Hilfe';
$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["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>."] = "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 <a href=\"advancedcontentfilter/help\">Hilfsseite</a> des Addons."; $a->strings['Your rules'] = 'Deine Regeln';
$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["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["Disabled"] = "Deaktiviert"; $a->strings['Enabled'] = 'Aktiv';
$a->strings["Enabled"] = "Aktiv"; $a->strings['Disable this rule'] = 'Diese Regel deaktivieren';
$a->strings["Disable this rule"] = "Diese Regel deaktivieren"; $a->strings['Enable this rule'] = 'Diese Regel aktivieren';
$a->strings["Enable this rule"] = "Diese Regel aktivieren"; $a->strings['Edit this rule'] = 'Diese Regel bearbeiten';
$a->strings["Edit this rule"] = "Diese Regel bearbeiten"; $a->strings['Edit the rule'] = 'Die Regel bearbeiten';
$a->strings["Edit the rule"] = "Die Regel bearbeiten"; $a->strings['Save this rule'] = 'Regel speichern';
$a->strings["Save this rule"] = "Regel speichern"; $a->strings['Delete this rule'] = 'Diese Regel löschen';
$a->strings["Delete this rule"] = "Diese Regel löschen"; $a->strings['Rule'] = 'Regel';
$a->strings["Rule"] = "Regel"; $a->strings['Close'] = 'Schließen';
$a->strings["Close"] = "Schließen"; $a->strings['Add new rule'] = 'Neue Regel hinzufügen';
$a->strings["Add new rule"] = "Neue Regel hinzufügen"; $a->strings['Rule Name'] = 'Name der Regel';
$a->strings["Rule Name"] = "Name der Regel"; $a->strings['Rule Expression'] = 'Ausdruck der Regel';
$a->strings["Rule Expression"] = "Ausdruck der Regel"; $a->strings['Cancel'] = 'Abbrechen';
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Ein Beispiel:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"; $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["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["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["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["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 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 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 updated"] = "Regel wurde erfolgreich aktualisiert."; $a->strings['Rule successfully deleted'] = 'Regel erfolgreich gelöscht.';
$a->strings["Rule successfully deleted"] = "Regel erfolgreich gelöscht."; $a->strings['Missing argument: guid.'] = 'Fehlendes Argument: guid.';
$a->strings["Missing argument: guid."] = "Fehlendes Argument: guid."; $a->strings['Unknown post with guid: %s'] = 'Unbekannter Beitrag mit der guid: %s';
$a->strings["Unknown post with guid: %s"] = "Unbekannter Beitrag mit der guid: %s"; $a->strings['Method not found'] = 'Methode nicht gefunden';
$a->strings["Method not found"] = "Methode nicht gefunden";

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_en_gb")) { if(! function_exists("string_plural_select_en_gb")) {
function string_plural_select_en_gb($n){ function string_plural_select_en_gb($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Filtered by rule: %s'] = 'Filtered by rule: %s';
$a->strings["Filtered by rule: %s"] = "Filtered by rule: %s"; $a->strings['Advanced Content Filter'] = 'Advanced Content Filter';
$a->strings["Advanced Content Filter"] = "Advanced Content Filter"; $a->strings['Back to Addon Settings'] = 'Back to addon settings';
$a->strings["Back to Addon Settings"] = "Back to addon settings"; $a->strings['Add a Rule'] = 'Add a rule';
$a->strings["Add a Rule"] = "Add a rule"; $a->strings['Help'] = 'Help';
$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["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["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["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["Disabled"] = "Disabled"; $a->strings['Enabled'] = 'Enabled';
$a->strings["Enabled"] = "Enabled"; $a->strings['Disable this rule'] = 'Disable this rule';
$a->strings["Disable this rule"] = "Disable this rule"; $a->strings['Enable this rule'] = 'Enable this rule';
$a->strings["Enable this rule"] = "Enable this rule"; $a->strings['Edit this rule'] = 'Edit this rule';
$a->strings["Edit this rule"] = "Edit this rule"; $a->strings['Edit the rule'] = 'Edit the rule';
$a->strings["Edit the rule"] = "Edit the rule"; $a->strings['Save this rule'] = 'Save this rule';
$a->strings["Save this rule"] = "Save this rule"; $a->strings['Delete this rule'] = 'Delete this rule';
$a->strings["Delete this rule"] = "Delete this rule"; $a->strings['Rule'] = 'Rule';
$a->strings["Rule"] = "Rule"; $a->strings['Close'] = 'Close';
$a->strings["Close"] = "Close"; $a->strings['Add new rule'] = 'Add new rule';
$a->strings["Add new rule"] = "Add new rule"; $a->strings['Rule Name'] = 'Rule name';
$a->strings["Rule Name"] = "Rule name"; $a->strings['Rule Expression'] = 'Rule expression';
$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["<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["Cancel"] = "Cancel"; $a->strings['You must be logged in to use this method'] = 'You must be logged in to use this method';
$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["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["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 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 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 updated"] = "Rule successfully updated"; $a->strings['Rule successfully deleted'] = 'Rule successfully deleted';
$a->strings["Rule successfully deleted"] = "Rule successfully deleted"; $a->strings['Missing argument: guid.'] = 'Missing argument: Global Unique Identifier (GUID).';
$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["Unknown post with guid: %s"] = "Unknown post with Global Unique Identifier (GUID): %s"; $a->strings['Method not found'] = 'Method not found';
$a->strings["Method not found"] = "Method not found";

View file

@ -0,0 +1,173 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# Albert, 2018
# Yasmine A <yasmine.elachkar@gmail.com>, 2018
# Julio Cova, 2019
# Boris Daniel Martinez Millàn <borisdanielmartinezmillan@gmail.com>, 2021
# Senex Petrovic <javierruizo@hotmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Senex Petrovic <javierruizo@hotmail.com>, 2021\n"
"Language-Team: Spanish (https://www.transifex.com/Friendica/teams/12172/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Método no encontrado"
#: advancedcontentfilter.php:136
#, php-format
msgid "Filtered by rule: %s"
msgstr "Filtrado por la regla: %s"
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
msgid "Advanced Content Filter"
msgstr "Filtro de contenido avanzado"
#: advancedcontentfilter.php:206
msgid "Back to Addon Settings"
msgstr "Volver a Ajustes de Complemento"
#: advancedcontentfilter.php:208
msgid "Add a Rule"
msgstr "Añadir una regla"
#: advancedcontentfilter.php:209
msgid "Help"
msgstr "Ayuda"
#: advancedcontentfilter.php:210
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 ""
"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."
#: advancedcontentfilter.php:211
msgid "Your rules"
msgstr "Tus reglas"
#: advancedcontentfilter.php:212
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
msgstr ""
"¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de "
"arriba al lado del título. "
#: advancedcontentfilter.php:213
msgid "Disabled"
msgstr "Desactivado"
#: advancedcontentfilter.php:214
msgid "Enabled"
msgstr "Activado"
#: advancedcontentfilter.php:215
msgid "Disable this rule"
msgstr "Desactivar esta regla"
#: advancedcontentfilter.php:216
msgid "Enable this rule"
msgstr "Activar esta regla"
#: advancedcontentfilter.php:217
msgid "Edit this rule"
msgstr "Editar esta regla"
#: advancedcontentfilter.php:218
msgid "Edit the rule"
msgstr "Editar regla"
#: advancedcontentfilter.php:219
msgid "Save this rule"
msgstr "Guardar esta regla"
#: advancedcontentfilter.php:220
msgid "Delete this rule"
msgstr "Borrar esta regla"
#: advancedcontentfilter.php:221
msgid "Rule"
msgstr "Regla"
#: advancedcontentfilter.php:222
msgid "Close"
msgstr "Cerrar"
#: advancedcontentfilter.php:223
msgid "Add new rule"
msgstr "Agregar nueva regla"
#: advancedcontentfilter.php:224
msgid "Rule Name"
msgstr "Nombre de la regla"
#: advancedcontentfilter.php:225
msgid "Rule Expression"
msgstr "Expresión de la regla"
#: advancedcontentfilter.php:226
msgid "Cancel"
msgstr "Cancelar"
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
msgid "You must be logged in to use this method"
msgstr "Debe estar registrado para usar este método"
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
#: advancedcontentfilter.php:382
msgid "Invalid form security token, please refresh the page."
msgstr ""
"Token de seguridad de formulario inválido, por favor actualice la página."
#: advancedcontentfilter.php:331
msgid "The rule name and expression are required."
msgstr "El nombre y la expresión de la regla son obligatorios."
#: advancedcontentfilter.php:343
msgid "Rule successfully added"
msgstr "Regla añadida exitosamente"
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "La regla no existe o no te pertenece."
#: advancedcontentfilter.php:372
msgid "Rule successfully updated"
msgstr "Regla actualizada exitosamente"
#: advancedcontentfilter.php:393
msgid "Rule successfully deleted"
msgstr "Regla eliminada exitosamente"
#: advancedcontentfilter.php:403
msgid "Missing argument: guid."
msgstr "Algumento faltante: guía"
#: advancedcontentfilter.php:411
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Publicacion desconocida con la guía: %s"

View file

@ -0,0 +1,39 @@
<?php
if(! function_exists("string_plural_select_es")) {
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['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

@ -3,39 +3,20 @@
if(! function_exists("string_plural_select_fi")) { if(! function_exists("string_plural_select_fi")) {
function string_plural_select_fi($n){ function string_plural_select_fi($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Add a Rule'] = 'Lisää sääntö';
$a->strings["Filtered by rule: %s"] = ""; $a->strings['Your rules'] = 'Sääntösi';
$a->strings["Advanced Content Filter"] = ""; $a->strings['Disabled'] = 'Ei käytössä';
$a->strings["Back to Addon Settings"] = ""; $a->strings['Enabled'] = 'Käytössä';
$a->strings["Add a Rule"] = "Lisää sääntö"; $a->strings['Enable this rule'] = 'Ota tämä sääntö käyttöön';
$a->strings["Help"] = ""; $a->strings['Edit this rule'] = 'Muokkaa tätä sääntöä';
$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->strings['Edit the rule'] = 'Muokkaa sääntöä';
$a->strings["Your rules"] = "Sääntösi"; $a->strings['Save this rule'] = 'Tallenna tämä sääntö';
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = ""; $a->strings['Delete this rule'] = 'Poista tämä sääntö';
$a->strings["Disabled"] = "Ei käytössä"; $a->strings['Rule'] = 'Sääntö';
$a->strings["Enabled"] = "Käytössä"; $a->strings['Close'] = 'Sulje';
$a->strings["Disable this rule"] = ""; $a->strings['Add new rule'] = 'Lisää uusi sääntö';
$a->strings["Enable this rule"] = "Ota tämä sääntö käyttöön"; $a->strings['Rule successfully added'] = 'Sääntö lisätty';
$a->strings["Edit this rule"] = "Muokkaa tätä sääntöä"; $a->strings['Rule successfully updated'] = 'Sääntö päivitetty';
$a->strings["Edit the rule"] = "Muokkaa sääntöä"; $a->strings['Rule successfully deleted'] = 'Sääntö poistettu';
$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 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>"] = "";
$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"] = "Sääntö lisätty";
$a->strings["Rule doesn't exist or doesn't belong to you."] = "";
$a->strings["Rule successfully updated"] = "Sääntö päivitetty";
$a->strings["Rule successfully deleted"] = "Sääntö poistettu";
$a->strings["Missing argument: guid."] = "";
$a->strings["Unknown post with guid: %s"] = "";
$a->strings["Method not found"] = "";

View file

@ -7,60 +7,62 @@
# Marie Olive <lacellule101@gmail.com>, 2018 # Marie Olive <lacellule101@gmail.com>, 2018
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018 # Vladimir Núñez <lapoubelle111@gmail.com>, 2018
# Phigger Phigger <automates@lepouete.fr>, 2019 # Phigger Phigger <automates@lepouete.fr>, 2019
# Wil Tur <wiltur@yargl.com>, 2021
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Phigger Phigger <automates@lepouete.fr>, 2019\n" "Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
"Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n" "Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fr\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"
#: advancedcontentfilter.php:134 #: advancedcontentfilter.php:154
#, php-format #, php-format
msgid "Filtered by rule: %s" msgid "Filtered by rule: %s"
msgstr "Filtré par règle:%s" msgstr "Filtré par règle:%s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204 #: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter" msgid "Advanced Content Filter"
msgstr "Filtre avancé de contenu" msgstr "Filtre avancé de contenu"
#: advancedcontentfilter.php:203 #: advancedcontentfilter.php:224
msgid "Back to Addon Settings" msgid "Back to Addon Settings"
msgstr "Retour aux paramètres de l'extension" msgstr "Retour aux paramètres de l'extension"
#: advancedcontentfilter.php:205 #: advancedcontentfilter.php:226
msgid "Add a Rule" msgid "Add a Rule"
msgstr "Ajouter une règle" msgstr "Ajouter une règle"
#: advancedcontentfilter.php:206 #: advancedcontentfilter.php:227
msgid "Help" msgid "Help"
msgstr "Aide" msgstr "Aide"
#: advancedcontentfilter.php:207 #: advancedcontentfilter.php:228
msgid "" msgid ""
"Add and manage your personal content filter rules in this screen. Rules have" "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. " " a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check " "For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>." "the help page."
msgstr "" msgstr ""
"Dans cet écran, ajoutez et gérez votre règle personnelle de filtre de " "Cet écran permet d'ajouter et de gérer vos règles de filtrage de contenu "
"contenu. Les règles portent un nom et contiennent une expression arbitraire " "personnelles. Les règles ont un nom et une expression arbitraire qui sera "
"qui sera appliquée aux données du post. Pour une liste complète des " "comparée aux données des messages. Pour une référence complète des "
"opérations disponibles, voyez la page d'aide" "opérations et variables disponibles, consultez la page d'aide."
#: advancedcontentfilter.php:208 #: advancedcontentfilter.php:229
msgid "Your rules" msgid "Your rules"
msgstr "Vos règles" msgstr "Vos règles"
#: advancedcontentfilter.php:209 #: advancedcontentfilter.php:230
msgid "" msgid ""
"You have no rules yet! Start adding one by clicking on the button above next" "You have no rules yet! Start adding one by clicking on the button above next"
" to the title." " to the title."
@ -68,110 +70,108 @@ msgstr ""
"Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-" "Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-"
"dessus près du titre" "dessus près du titre"
#: advancedcontentfilter.php:210 #: advancedcontentfilter.php:231
msgid "Disabled" msgid "Disabled"
msgstr "Désactivé" msgstr "Désactivé"
#: advancedcontentfilter.php:211 #: advancedcontentfilter.php:232
msgid "Enabled" msgid "Enabled"
msgstr "Activé" msgstr "Activé"
#: advancedcontentfilter.php:212 #: advancedcontentfilter.php:233
msgid "Disable this rule" msgid "Disable this rule"
msgstr "Désactiver cette règle" msgstr "Désactiver cette règle"
#: advancedcontentfilter.php:213 #: advancedcontentfilter.php:234
msgid "Enable this rule" msgid "Enable this rule"
msgstr "Activer cette règle" msgstr "Activer cette règle"
#: advancedcontentfilter.php:214 #: advancedcontentfilter.php:235
msgid "Edit this rule" msgid "Edit this rule"
msgstr "Modifier cette règle" msgstr "Modifier cette règle"
#: advancedcontentfilter.php:215 #: advancedcontentfilter.php:236
msgid "Edit the rule" msgid "Edit the rule"
msgstr "Modifier la règle" msgstr "Modifier la règle"
#: advancedcontentfilter.php:216 #: advancedcontentfilter.php:237
msgid "Save this rule" msgid "Save this rule"
msgstr "Enregistrer cette règle" msgstr "Enregistrer cette règle"
#: advancedcontentfilter.php:217 #: advancedcontentfilter.php:238
msgid "Delete this rule" msgid "Delete this rule"
msgstr "Supprimer cette règle" msgstr "Supprimer cette règle"
#: advancedcontentfilter.php:218 #: advancedcontentfilter.php:239
msgid "Rule" msgid "Rule"
msgstr "Règle" msgstr "Règle"
#: advancedcontentfilter.php:219 #: advancedcontentfilter.php:240
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr "Fermer"
#: advancedcontentfilter.php:220 #: advancedcontentfilter.php:241
msgid "Add new rule" msgid "Add new rule"
msgstr "Ajouter nouvelle règle" msgstr "Ajouter nouvelle règle"
#: advancedcontentfilter.php:221 #: advancedcontentfilter.php:242
msgid "Rule Name" msgid "Rule Name"
msgstr "Nommer règle" msgstr "Nommer règle"
#: advancedcontentfilter.php:222 #: advancedcontentfilter.php:243
msgid "Rule Expression" msgid "Rule Expression"
msgstr "Expression de règle" msgstr "Expression de règle"
#: advancedcontentfilter.php:223 #: advancedcontentfilter.php:244
msgid ""
"<p>Examples:</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
msgstr ""
"<p>Exemples :</p><ul><li><pre>author_link == "
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
#: advancedcontentfilter.php:224
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301 #: advancedcontentfilter.php:295
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346 msgid "This addon requires this node having at least one post"
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396 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" msgid "You must be logged in to use this method"
msgstr "Vous devez être connecté pour utiliser cette méthode" msgstr "Vous devez être connecté pour utiliser cette méthode"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350 #: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:379 #: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page." msgid "Invalid form security token, please refresh the page."
msgstr "Formulaire token de sécurité invalide, rafraîchissez la page" msgstr "Formulaire token de sécurité invalide, rafraîchissez la page"
#: advancedcontentfilter.php:328 #: advancedcontentfilter.php:363
msgid "The rule name and expression are required." msgid "The rule name and expression are required."
msgstr "Le nom et l'expression de cette règle sont requis" msgstr "Le nom et l'expression de cette règle sont requis"
#: advancedcontentfilter.php:340 #: advancedcontentfilter.php:377
msgid "Rule successfully added" msgid "Rule successfully added"
msgstr "Règle bien ajoutée" msgstr "Règle bien ajoutée"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383 #: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you." msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Cette règle n'existe pas ou ne vous appartient pas" msgstr "Cette règle n'existe pas ou ne vous appartient pas"
#: advancedcontentfilter.php:369 #: advancedcontentfilter.php:408
msgid "Rule successfully updated" msgid "Rule successfully updated"
msgstr "Règle bien mise à jour" msgstr "Règle bien mise à jour"
#: advancedcontentfilter.php:390 #: advancedcontentfilter.php:431
msgid "Rule successfully deleted" msgid "Rule successfully deleted"
msgstr "Règle bien supprimée" msgstr "Règle bien supprimée"
#: advancedcontentfilter.php:400 #: advancedcontentfilter.php:441
msgid "Missing argument: guid." msgid "Missing argument: guid."
msgstr "Argument manquant: " msgstr "Argument manquant: "
#: advancedcontentfilter.php:406 #: advancedcontentfilter.php:449
#, php-format #, php-format
msgid "Unknown post with guid: %s" msgid "Unknown post with guid: %s"
msgstr "Post inconnu avec guid : %s" msgstr "Post inconnu avec guid : %s"
#: src/middlewares.php:28 #: src/middlewares.php:49
msgid "Method not found" msgid "Method not found"
msgstr "Méthode non trouvée" msgstr "Méthode non trouvée"

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_fr")) { if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){ function string_plural_select_fr($n){
$n = intval($n); $n = intval($n);
return ($n > 1);; if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}} }}
; $a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
$a->strings["Filtered by rule: %s"] = "Filtré par règle:%s"; $a->strings['Advanced Content Filter'] = 'Filtre avancé de contenu';
$a->strings["Advanced Content Filter"] = "Filtre avancé de contenu"; $a->strings['Back to Addon Settings'] = 'Retour aux paramètres de l\'extension';
$a->strings["Back to Addon Settings"] = "Retour aux paramètres de l'extension"; $a->strings['Add a Rule'] = 'Ajouter une règle';
$a->strings["Add a Rule"] = "Ajouter une règle"; $a->strings['Help'] = 'Aide';
$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["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>."] = "Dans cet écran, ajoutez et gérez votre règle personnelle de filtre de contenu. Les règles portent un nom et contiennent une expression arbitraire qui sera appliquée aux données du post. Pour une liste complète des opérations disponibles, voyez la page d'aide"; $a->strings['Your rules'] = 'Vos règles';
$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["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["Disabled"] = "Désactivé"; $a->strings['Enabled'] = 'Activé';
$a->strings["Enabled"] = "Activé"; $a->strings['Disable this rule'] = 'Désactiver cette règle';
$a->strings["Disable this rule"] = "Désactiver cette règle"; $a->strings['Enable this rule'] = 'Activer cette règle';
$a->strings["Enable this rule"] = "Activer cette règle"; $a->strings['Edit this rule'] = 'Modifier cette règle';
$a->strings["Edit this rule"] = "Modifier cette règle"; $a->strings['Edit the rule'] = 'Modifier la règle';
$a->strings["Edit the rule"] = "Modifier la règle"; $a->strings['Save this rule'] = 'Enregistrer cette règle';
$a->strings["Save this rule"] = "Enregistrer cette règle"; $a->strings['Delete this rule'] = 'Supprimer cette règle';
$a->strings["Delete this rule"] = "Supprimer cette règle"; $a->strings['Rule'] = 'Règle';
$a->strings["Rule"] = "Règle"; $a->strings['Close'] = 'Fermer';
$a->strings["Close"] = "Fermer"; $a->strings['Add new rule'] = 'Ajouter nouvelle règle';
$a->strings["Add new rule"] = "Ajouter nouvelle règle"; $a->strings['Rule Name'] = 'Nommer règle';
$a->strings["Rule Name"] = "Nommer règle"; $a->strings['Rule Expression'] = 'Expression de règle';
$a->strings["Rule Expression"] = "Expression de règle"; $a->strings['Cancel'] = 'Annuler';
$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['This addon requires this node having at least one post'] = 'Cette extension requiert au moins une publication sur ce serveur pour fonctionner';
$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["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["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["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 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 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 updated"] = "Règle bien mise à jour"; $a->strings['Rule successfully deleted'] = 'Règle bien supprimée';
$a->strings["Rule successfully deleted"] = "Règle bien supprimée"; $a->strings['Missing argument: guid.'] = 'Argument manquant: ';
$a->strings["Missing argument: guid."] = "Argument manquant: "; $a->strings['Unknown post with guid: %s'] = 'Post inconnu avec guid : %s';
$a->strings["Unknown post with guid: %s"] = "Post inconnu avec guid : %s"; $a->strings['Method not found'] = 'Méthode non trouvée';
$a->strings["Method not found"] = "Méthode non trouvée";

View file

@ -0,0 +1,173 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# Balázs Úr, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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, 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"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: advancedcontentfilter.php:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Szűrve a szabály alapján: %s"
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter"
msgstr "Speciális tartalomszűrő"
#: advancedcontentfilter.php:224
msgid "Back to Addon Settings"
msgstr "Vissza a bővítménybeállításokhoz"
#: advancedcontentfilter.php:226
msgid "Add a Rule"
msgstr "Szabály hozzáadása"
#: advancedcontentfilter.php:227
msgid "Help"
msgstr "Súgó"
#: 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 ""
"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."
#: advancedcontentfilter.php:229
msgid "Your rules"
msgstr "Az Ön szabályai"
#: advancedcontentfilter.php:230
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
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:231
msgid "Disabled"
msgstr "Letiltva"
#: advancedcontentfilter.php:232
msgid "Enabled"
msgstr "Engedélyezve"
#: advancedcontentfilter.php:233
msgid "Disable this rule"
msgstr "A szabály letiltása"
#: advancedcontentfilter.php:234
msgid "Enable this rule"
msgstr "A szabály engedélyezése"
#: advancedcontentfilter.php:235
msgid "Edit this rule"
msgstr "A szabály szerkesztése"
#: advancedcontentfilter.php:236
msgid "Edit the rule"
msgstr "A szabály szerkesztése"
#: advancedcontentfilter.php:237
msgid "Save this rule"
msgstr "A szabály mentése"
#: advancedcontentfilter.php:238
msgid "Delete this rule"
msgstr "A szabály törlése"
#: advancedcontentfilter.php:239
msgid "Rule"
msgstr "Szabály"
#: advancedcontentfilter.php:240
msgid "Close"
msgstr "Bezárás"
#: advancedcontentfilter.php:241
msgid "Add new rule"
msgstr "Új szabály hozzáadása"
#: advancedcontentfilter.php:242
msgid "Rule Name"
msgstr "Szabály neve"
#: advancedcontentfilter.php:243
msgid "Rule Expression"
msgstr "Szabály kifejezése"
#: advancedcontentfilter.php:244
msgid "Cancel"
msgstr "Mégse"
#: 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: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:363
msgid "The rule name and expression are required."
msgstr "A szabály neve és kifejezése kötelező."
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "A szabály sikeresen hozzáadva"
#: 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:408
msgid "Rule successfully updated"
msgstr "A szabály sikeresen frissítve"
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "A szabály sikeresen törölve"
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Hiányzó argumentum: guid."
#: 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

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

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_it")) { if(! function_exists("string_plural_select_it")) {
function string_plural_select_it($n){ function string_plural_select_it($n){
$n = intval($n); $n = intval($n);
return ($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["Filtered by rule: %s"] = "Filtrato dalla regola: %s"; $a->strings['Advanced Content Filter'] = 'Filtro Avanzato Contenuti';
$a->strings["Advanced Content Filter"] = "Filtro Avanzato Contenuti"; $a->strings['Back to Addon Settings'] = 'Torna alle impostazioni del componente aggiuntivo';
$a->strings["Back to Addon Settings"] = "Torna alle impostazioni del componente aggiuntivo"; $a->strings['Add a Rule'] = 'Aggiungi una regola';
$a->strings["Add a Rule"] = "Aggiungi una regola"; $a->strings['Help'] = 'Aiuto';
$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["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>."] = "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>."; $a->strings['Your rules'] = 'Le tue regole';
$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["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["Disabled"] = "Disabilitato"; $a->strings['Enabled'] = 'Abilitato';
$a->strings["Enabled"] = "Abilitato"; $a->strings['Disable this rule'] = 'Diabilita questa regola';
$a->strings["Disable this rule"] = "Diabilita questa regola"; $a->strings['Enable this rule'] = 'Abilita questa regola';
$a->strings["Enable this rule"] = "Abilita questa regola"; $a->strings['Edit this rule'] = 'Modifica questa regola';
$a->strings["Edit this rule"] = "Modifica questa regola"; $a->strings['Edit the rule'] = 'Modifica la regola';
$a->strings["Edit the rule"] = "Modifica la regola"; $a->strings['Save this rule'] = 'Salva questa regola';
$a->strings["Save this rule"] = "Salva questa regola"; $a->strings['Delete this rule'] = 'Elimina questa regola';
$a->strings["Delete this rule"] = "Elimina questa regola"; $a->strings['Rule'] = 'Regola';
$a->strings["Rule"] = "Regola"; $a->strings['Close'] = 'Chiudi';
$a->strings["Close"] = "Chiudi"; $a->strings['Add new rule'] = 'Aggiungi nuova regola';
$a->strings["Add new rule"] = "Aggiungi nuova regola"; $a->strings['Rule Name'] = 'Nome Regola';
$a->strings["Rule Name"] = "Nome Regola"; $a->strings['Rule Expression'] = 'Espressione Regola';
$a->strings["Rule Expression"] = "Espressione Regola"; $a->strings['Cancel'] = 'Annulla';
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Esempi:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"; $a->strings['This addon requires this node having at least one post'] = 'Questo addon richiede che questo nodo abbia almeno un messaggio';
$a->strings["Cancel"] = "Annulla"; $a->strings['You must be logged in to use this method'] = 'Devi essere autenticato per usare questo metodo';
$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["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["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 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 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 updated"] = "Regola aggiornata con successo"; $a->strings['Rule successfully deleted'] = 'Regola eliminata con successo';
$a->strings["Rule successfully deleted"] = "Regola eliminata con successo"; $a->strings['Missing argument: guid.'] = 'Argomento mancante: guid.';
$a->strings["Missing argument: guid."] = "Argomento mancante: guid."; $a->strings['Unknown post with guid: %s'] = 'Messaggio con guid %s sconosciuto';
$a->strings["Unknown post with guid: %s"] = "Messaggio con guid %s sconosciuto"; $a->strings['Method not found'] = 'Metodo non trovato';
$a->strings["Method not found"] = "Metodo non trovato";

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_nl")) { if(! function_exists("string_plural_select_nl")) {
function string_plural_select_nl($n){ function string_plural_select_nl($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Filtered by rule: %s'] = 'Gefilterd volgens regel: %s';
$a->strings["Filtered by rule: %s"] = "Gefilterd volgens regel: %s"; $a->strings['Advanced Content Filter'] = 'Geavanceerd filter voor berichtsinhoud';
$a->strings["Advanced Content Filter"] = "Geavanceerd filter voor berichtsinhoud"; $a->strings['Back to Addon Settings'] = 'Terug naar Addon instellingen';
$a->strings["Back to Addon Settings"] = "Terug naar Addon instellingen"; $a->strings['Add a Rule'] = 'Filterregel toevoegen';
$a->strings["Add a Rule"] = "Filterregel toevoegen"; $a->strings['Help'] = 'Help';
$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["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["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["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["Disabled"] = "Uitgeschakeld"; $a->strings['Enabled'] = 'Geactiveerd';
$a->strings["Enabled"] = "Geactiveerd"; $a->strings['Disable this rule'] = 'Deze regel uitschakelen';
$a->strings["Disable this rule"] = "Deze regel uitschakelen"; $a->strings['Enable this rule'] = 'Deze regel inschakelen';
$a->strings["Enable this rule"] = "Deze regel inschakelen"; $a->strings['Edit this rule'] = 'Regel bewerken';
$a->strings["Edit this rule"] = "Regel bewerken"; $a->strings['Edit the rule'] = 'Regel bewerken';
$a->strings["Edit the rule"] = "Regel bewerken"; $a->strings['Save this rule'] = 'Deze regel opslaan';
$a->strings["Save this rule"] = "Deze regel opslaan"; $a->strings['Delete this rule'] = 'Deze regel verwijderen';
$a->strings["Delete this rule"] = "Deze regel verwijderen"; $a->strings['Rule'] = 'Regel';
$a->strings["Rule"] = "Regel"; $a->strings['Close'] = 'Sluiten';
$a->strings["Close"] = "Sluiten"; $a->strings['Add new rule'] = 'Voeg nieuwe regel toe';
$a->strings["Add new rule"] = "Voeg nieuwe regel toe"; $a->strings['Rule Name'] = 'Regel naam';
$a->strings["Rule Name"] = "Regel naam"; $a->strings['Rule Expression'] = 'Regel bewoording';
$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["<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["Cancel"] = "Annuleren"; $a->strings['You must be logged in to use this method'] = 'Je moet ingelogd zijn om deze methode te gebruiken';
$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["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["The rule name and expression are required."] = "De regelnaam en bewoording zijn vereist."; $a->strings['Rule successfully added'] = 'Regel succesvol toegevoegd';
$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 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 updated"] = "Regel succesvol opgeslagen"; $a->strings['Rule successfully deleted'] = 'Regel succesvol verwijderd';
$a->strings["Rule successfully deleted"] = "Regel succesvol verwijderd"; $a->strings['Missing argument: guid.'] = 'Parameter guid niet aanwezig';
$a->strings["Missing argument: guid."] = "Parameter guid niet aanwezig"; $a->strings['Unknown post with guid: %s'] = 'Onbekend bericht met guid: %s';
$a->strings["Unknown post with guid: %s"] = "Onbekend bericht met guid: %s"; $a->strings['Method not found'] = 'Methode niet gevonden';
$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. # 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 #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Waldemar Stoczkowski <waldemar.stoczkowski@gmail.com>, 2018\n" "Last-Translator: Piotr Strębski <strebski@gmail.com>, 2022\n"
"Language-Team: Polish (https://www.transifex.com/Friendica/teams/12172/pl/)\n" "Language-Team: Polish (https://www.transifex.com/Friendica/teams/12172/pl/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -18,44 +23,44 @@ msgstr ""
"Language: pl\n" "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" "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 #, php-format
msgid "Filtered by rule: %s" msgid "Filtered by rule: %s"
msgstr " Filtruj według reguły: %s" msgstr " Filtruj według reguły: %s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204 #: advancedcontentfilter.php:170 advancedcontentfilter.php:225
msgid "Advanced Content Filter" msgid "Advanced Content Filter"
msgstr "Zaawansowany filtr zawartości" msgstr "Zaawansowany filtr zawartości"
#: advancedcontentfilter.php:203 #: advancedcontentfilter.php:224
msgid "Back to Addon Settings" msgid "Back to Addon Settings"
msgstr "Powrót do ustawień dodatków" msgstr "Powrót do ustawień dodatków"
#: advancedcontentfilter.php:205 #: advancedcontentfilter.php:226
msgid "Add a Rule" msgid "Add a Rule"
msgstr "Dodaj regułę" msgstr "Dodaj regułę"
#: advancedcontentfilter.php:206 #: advancedcontentfilter.php:227
msgid "Help" msgid "Help"
msgstr "Pomoc" msgstr "Pomoc"
#: advancedcontentfilter.php:207 #: advancedcontentfilter.php:228
msgid "" msgid ""
"Add and manage your personal content filter rules in this screen. Rules have" "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. " " a name and an arbitrary expression that will be matched against post data. "
"For a complete reference of the available operations and variables, check " "For a complete reference of the available operations and variables, check "
"the <a href=\"advancedcontentfilter/help\">help page</a>." "the help page."
msgstr "" msgstr ""
"Dodaj i zarządzaj regułami filtrowania treści osobistych na tym ekranie. " "Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania "
"Reguły mają nazwę i dowolne wyrażenie, które zostanie dopasowane do danych " "treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego "
"postów. Aby uzyskać pełne informacje o dostępnych operacjach i zmiennych, " "przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych "
"sprawdź <a href=\"advancedcontentfilter/help\">stronę pomocy</a>." "opracji oraz zmiennych, zapoznaj się ze stronę pomocy."
#: advancedcontentfilter.php:208 #: advancedcontentfilter.php:229
msgid "Your rules" msgid "Your rules"
msgstr "Twoje zasady" msgstr "Twoje zasady"
#: advancedcontentfilter.php:209 #: advancedcontentfilter.php:230
msgid "" msgid ""
"You have no rules yet! Start adding one by clicking on the button above next" "You have no rules yet! Start adding one by clicking on the button above next"
" to the title." " to the title."
@ -63,110 +68,106 @@ msgstr ""
"Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk " "Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk "
"znajdujący się nad tytułem." "znajdujący się nad tytułem."
#: advancedcontentfilter.php:210 #: advancedcontentfilter.php:231
msgid "Disabled" msgid "Disabled"
msgstr "Wyłącz" msgstr "Wyłącz"
#: advancedcontentfilter.php:211 #: advancedcontentfilter.php:232
msgid "Enabled" msgid "Enabled"
msgstr "Włącz" msgstr "Włącz"
#: advancedcontentfilter.php:212 #: advancedcontentfilter.php:233
msgid "Disable this rule" msgid "Disable this rule"
msgstr "Wyłącz tę regułę" msgstr "Wyłącz tę regułę"
#: advancedcontentfilter.php:213 #: advancedcontentfilter.php:234
msgid "Enable this rule" msgid "Enable this rule"
msgstr "Włącz tę regułę" msgstr "Włącz tę regułę"
#: advancedcontentfilter.php:214 #: advancedcontentfilter.php:235
msgid "Edit this rule" msgid "Edit this rule"
msgstr "Edytuj tę regułę" msgstr "Edytuj tę regułę"
#: advancedcontentfilter.php:215 #: advancedcontentfilter.php:236
msgid "Edit the rule" msgid "Edit the rule"
msgstr "Edytuj regułę" msgstr "Edytuj regułę"
#: advancedcontentfilter.php:216 #: advancedcontentfilter.php:237
msgid "Save this rule" msgid "Save this rule"
msgstr "Zapisz tę regułę" msgstr "Zapisz tę regułę"
#: advancedcontentfilter.php:217 #: advancedcontentfilter.php:238
msgid "Delete this rule" msgid "Delete this rule"
msgstr "Usuń tę regułę" msgstr "Usuń tę regułę"
#: advancedcontentfilter.php:218 #: advancedcontentfilter.php:239
msgid "Rule" msgid "Rule"
msgstr "Reguła" msgstr "Reguła"
#: advancedcontentfilter.php:219 #: advancedcontentfilter.php:240
msgid "Close" msgid "Close"
msgstr "Zamknij" msgstr "Zamknij"
#: advancedcontentfilter.php:220 #: advancedcontentfilter.php:241
msgid "Add new rule" msgid "Add new rule"
msgstr "Dodaj nową regułę" msgstr "Dodaj nową regułę"
#: advancedcontentfilter.php:221 #: advancedcontentfilter.php:242
msgid "Rule Name" msgid "Rule Name"
msgstr "Nazwa reguły" msgstr "Nazwa reguły"
#: advancedcontentfilter.php:222 #: advancedcontentfilter.php:243
msgid "Rule Expression" msgid "Rule Expression"
msgstr "Wyrażanie reguły" msgstr "Wyrażanie reguły"
#: advancedcontentfilter.php:223 #: advancedcontentfilter.php:244
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
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301 #: advancedcontentfilter.php:295
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346 msgid "This addon requires this node having at least one post"
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396 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" msgid "You must be logged in to use this method"
msgstr "Musisz być zalogowany, aby skorzystać z tej metody" msgstr "Musisz być zalogowany, aby skorzystać z tej metody"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350 #: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:379 #: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page." msgid "Invalid form security token, please refresh the page."
msgstr "Nieprawidłowy token zabezpieczający formularz, odśwież stronę." msgstr "Nieprawidłowy token zabezpieczający formularz, odśwież stronę."
#: advancedcontentfilter.php:328 #: advancedcontentfilter.php:363
msgid "The rule name and expression are required." msgid "The rule name and expression are required."
msgstr "Nazwa reguły i wyrażenie są wymagane." msgstr "Nazwa reguły i wyrażenie są wymagane."
#: advancedcontentfilter.php:340 #: advancedcontentfilter.php:377
msgid "Rule successfully added" msgid "Rule successfully added"
msgstr "Reguła została pomyślnie dodana" 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." msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Reguła nie istnieje lub nie należy do ciebie." msgstr "Reguła nie istnieje lub nie należy do ciebie."
#: advancedcontentfilter.php:369 #: advancedcontentfilter.php:408
msgid "Rule successfully updated" msgid "Rule successfully updated"
msgstr "Reguła została pomyślnie zaktualizowana" msgstr "Reguła została pomyślnie zaktualizowana"
#: advancedcontentfilter.php:390 #: advancedcontentfilter.php:431
msgid "Rule successfully deleted" msgid "Rule successfully deleted"
msgstr "Reguła została pomyślnie usunięta" msgstr "Reguła została pomyślnie usunięta"
#: advancedcontentfilter.php:400 #: advancedcontentfilter.php:441
msgid "Missing argument: guid." msgid "Missing argument: guid."
msgstr "Brakujący argument: guid." msgstr "Brakujący argument: guid."
#: advancedcontentfilter.php:406 #: advancedcontentfilter.php:449
#, php-format #, php-format
msgid "Unknown post with guid: %s" msgid "Unknown post with guid: %s"
msgstr "Nieznany post z guid:%s" msgstr "Nieznany post z guid:%s"
#: src/middlewares.php:28 #: src/middlewares.php:49
msgid "Method not found" msgid "Method not found"
msgstr "Nie znaleziono metody" msgstr "Nie znaleziono metody"

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_pl")) { if(! function_exists("string_plural_select_pl")) {
function string_plural_select_pl($n){ function string_plural_select_pl($n){
$n = intval($n); $n = intval($n);
return ($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);; 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["Filtered by rule: %s"] = " Filtruj według reguły: %s"; $a->strings['Advanced Content Filter'] = 'Zaawansowany filtr zawartości';
$a->strings["Advanced Content Filter"] = "Zaawansowany filtr zawartości"; $a->strings['Back to Addon Settings'] = 'Powrót do ustawień dodatków';
$a->strings["Back to Addon Settings"] = "Powrót do ustawień dodatków"; $a->strings['Add a Rule'] = 'Dodaj regułę';
$a->strings["Add a Rule"] = "Dodaj regułę"; $a->strings['Help'] = 'Pomoc';
$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["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>."] = "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>."; $a->strings['Your rules'] = 'Twoje zasady';
$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["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["Disabled"] = "Wyłącz"; $a->strings['Enabled'] = 'Włącz';
$a->strings["Enabled"] = "Włącz"; $a->strings['Disable this rule'] = 'Wyłącz tę regułę';
$a->strings["Disable this rule"] = "Wyłącz tę regułę"; $a->strings['Enable this rule'] = 'Włącz tę regułę';
$a->strings["Enable this rule"] = "Włącz tę regułę"; $a->strings['Edit this rule'] = 'Edytuj tę regułę';
$a->strings["Edit this rule"] = "Edytuj tę regułę"; $a->strings['Edit the rule'] = 'Edytuj regułę';
$a->strings["Edit the rule"] = "Edytuj regułę"; $a->strings['Save this rule'] = 'Zapisz tę regułę';
$a->strings["Save this rule"] = "Zapisz tę regułę"; $a->strings['Delete this rule'] = 'Usuń tę regułę';
$a->strings["Delete this rule"] = "Usuń tę regułę"; $a->strings['Rule'] = 'Reguła';
$a->strings["Rule"] = "Reguła"; $a->strings['Close'] = 'Zamknij';
$a->strings["Close"] = "Zamknij"; $a->strings['Add new rule'] = 'Dodaj nową regułę';
$a->strings["Add new rule"] = "Dodaj nową regułę"; $a->strings['Rule Name'] = 'Nazwa reguły';
$a->strings["Rule Name"] = "Nazwa reguły"; $a->strings['Rule Expression'] = 'Wyrażanie reguły';
$a->strings["Rule Expression"] = "Wyrażanie reguły"; $a->strings['Cancel'] = 'Anuluj';
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>przykład</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tagi</li></ul>"; $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["Cancel"] = "Anuluj"; $a->strings['You must be logged in to use this method'] = 'Musisz być zalogowany, aby skorzystać z tej metody';
$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["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["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 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 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 updated"] = "Reguła została pomyślnie zaktualizowana"; $a->strings['Rule successfully deleted'] = 'Reguła została pomyślnie usunięta';
$a->strings["Rule successfully deleted"] = "Reguła została pomyślnie usunięta"; $a->strings['Missing argument: guid.'] = 'Brakujący argument: guid.';
$a->strings["Missing argument: guid."] = "Brakujący argument: guid."; $a->strings['Unknown post with guid: %s'] = 'Nieznany post z guid:%s';
$a->strings["Unknown post with guid: %s"] = "Nieznany post z guid:%s"; $a->strings['Method not found'] = 'Nie znaleziono metody';
$a->strings["Method not found"] = "Nie znaleziono metody";

View file

@ -0,0 +1,173 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# 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: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\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"
"Content-Transfer-Encoding: 8bit\n"
"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:154
#, php-format
msgid "Filtered by rule: %s"
msgstr "Отфильтровано по правилу: %s"
#: 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: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:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr "Неверный ключ, пожалуйста, перезагрузите страницу"
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Требуется ввести название и значение правила."
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Правило успешно добавлено"
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "Правило не найдено или доступ к нему закрыт"
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Правило успешно обновлено"
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Правило успешно удалено"
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Отсутствующий аргумент: guid."
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Неизвестный пост в ID: %s"
#: src/middlewares.php:49
msgid "Method not found"
msgstr "Метод не найден"

View file

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

View file

@ -3,39 +3,38 @@
if(! function_exists("string_plural_select_sv")) { if(! function_exists("string_plural_select_sv")) {
function string_plural_select_sv($n){ function string_plural_select_sv($n){
$n = intval($n); $n = intval($n);
return ($n != 1);; return intval($n != 1);
}} }}
; $a->strings['Filtered by rule: %s'] = 'Filtrerat efter regel: %s';
$a->strings["Filtered by rule: %s"] = "Filtrerat efter regel: %s"; $a->strings['Advanced Content Filter'] = 'Avancerat innehållsfiter';
$a->strings["Advanced Content Filter"] = "Avancerat innehållsfiter"; $a->strings['Back to Addon Settings'] = 'TIllbaka till Tilläggsinställningar';
$a->strings["Back to Addon Settings"] = "TIllbaka till Tilläggsinställningar"; $a->strings['Add a Rule'] = 'Lägg till en regel';
$a->strings["Add a Rule"] = "Lägg till en regel"; $a->strings['Help'] = 'Hjälp';
$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["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>."] = "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>."; $a->strings['Your rules'] = 'Dina regler';
$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["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["Disabled"] = "Inaktiverad"; $a->strings['Enabled'] = 'Aktiverad';
$a->strings["Enabled"] = "Aktiverad"; $a->strings['Disable this rule'] = 'Inaktivera den här regeln';
$a->strings["Disable this rule"] = "Inaktivera den här regeln"; $a->strings['Enable this rule'] = 'Aktivera 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 this rule"] = "Redigera den här regeln"; $a->strings['Edit the 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["Save this rule"] = "Spara den här regeln"; $a->strings['Delete this rule'] = 'Ta bort den här regeln';
$a->strings["Delete this rule"] = "Ta bort den här regeln"; $a->strings['Rule'] = 'Regel';
$a->strings["Rule"] = "Regel"; $a->strings['Close'] = 'Stäng';
$a->strings["Close"] = "Stäng"; $a->strings['Add new rule'] = 'Lägg till ny regel';
$a->strings["Add new rule"] = "Lägg till ny regel"; $a->strings['Rule Name'] = 'Regelnamn';
$a->strings["Rule Name"] = "Regelnamn"; $a->strings['Rule Expression'] = 'Regeluttryck';
$a->strings["Rule Expression"] = "Regeluttryck"; $a->strings['Cancel'] = 'Avbryt';
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Exempel:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>taggar</li></ul>"; $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["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["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["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["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 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 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 updated"] = "Uppdatering av regel lyckades"; $a->strings['Rule successfully deleted'] = 'Borttagning av regel lyckades';
$a->strings["Rule successfully deleted"] = "Borttagning av regel lyckades"; $a->strings['Missing argument: guid.'] = 'Argument saknas: guid.';
$a->strings["Missing argument: guid."] = "Argument saknas: guid."; $a->strings['Unknown post with guid: %s'] = 'Okänt inlägg med guid: %s';
$a->strings["Unknown post with guid: %s"] = "Okänt inlägg med guid: %s"; $a->strings['Method not found'] = 'Metod hittades inte';
$a->strings["Method not found"] = "Metod hittades inte";

View file

@ -0,0 +1,171 @@
# ADDON advancedcontentfilter
# Copyright (C)
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
#
#
# Translators:
# Tom <hxxtom@gmail.com>, 2020
#
#, 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: 2018-05-24 06:41+0000\n"
"Last-Translator: Tom <hxxtom@gmail.com>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/Friendica/teams/12172/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: advancedcontentfilter.php:134
#, php-format
msgid "Filtered by rule: %s"
msgstr "通过规则过滤:%s"
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
msgid "Advanced Content Filter"
msgstr "高级内容过滤"
#: advancedcontentfilter.php:203
msgid "Back to Addon Settings"
msgstr "返回扩展设置"
#: advancedcontentfilter.php:205
msgid "Add a Rule"
msgstr "添加规则"
#: advancedcontentfilter.php:206
msgid "Help"
msgstr "帮助"
#: advancedcontentfilter.php:207
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>."
msgstr ""
"在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a "
"href=\"advancedcontentfilter/help\">帮助页面</a>。"
#: advancedcontentfilter.php:208
msgid "Your rules"
msgstr "你的规则"
#: advancedcontentfilter.php:209
msgid ""
"You have no rules yet! Start adding one by clicking on the button above next"
" to the title."
msgstr "你还没有规则!点击标题上方的按钮开始新增规则。"
#: advancedcontentfilter.php:210
msgid "Disabled"
msgstr "禁用"
#: advancedcontentfilter.php:211
msgid "Enabled"
msgstr "启用"
#: advancedcontentfilter.php:212
msgid "Disable this rule"
msgstr "禁用此规则"
#: advancedcontentfilter.php:213
msgid "Enable this rule"
msgstr "启用此规则"
#: advancedcontentfilter.php:214
msgid "Edit this rule"
msgstr "编辑此规则"
#: advancedcontentfilter.php:215
msgid "Edit the rule"
msgstr "编辑规则"
#: advancedcontentfilter.php:216
msgid "Save this rule"
msgstr "保存规则"
#: advancedcontentfilter.php:217
msgid "Delete this rule"
msgstr "删除此规则"
#: advancedcontentfilter.php:218
msgid "Rule"
msgstr "规则"
#: advancedcontentfilter.php:219
msgid "Close"
msgstr "关闭"
#: advancedcontentfilter.php:220
msgid "Add new rule"
msgstr "新增规则"
#: advancedcontentfilter.php:221
msgid "Rule Name"
msgstr "规则名"
#: advancedcontentfilter.php:222
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
msgid "Cancel"
msgstr "取消"
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
msgid "You must be logged in to use this method"
msgstr "使用此模式您必须先登录。"
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
#: advancedcontentfilter.php:379
msgid "Invalid form security token, please refresh the page."
msgstr "无效的安全令牌,请刷新页面。"
#: advancedcontentfilter.php:328
msgid "The rule name and expression are required."
msgstr "规则名和表达式必填。"
#: advancedcontentfilter.php:340
msgid "Rule successfully added"
msgstr "规则添加成功。"
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
msgid "Rule doesn't exist or doesn't belong to you."
msgstr "规则不存在或不属于你。"
#: advancedcontentfilter.php:369
msgid "Rule successfully updated"
msgstr "规则更新成功"
#: advancedcontentfilter.php:390
msgid "Rule successfully deleted"
msgstr "规则删除成功"
#: advancedcontentfilter.php:400
msgid "Missing argument: guid."
msgstr "缺少参数guid。"
#: advancedcontentfilter.php:406
#, php-format
msgid "Unknown post with guid: %s"
msgstr "未知帖子 guid%s"
#: src/middlewares.php:28
msgid "Method not found"
msgstr "未找到模式"

View file

@ -0,0 +1,40 @@
<?php
if(! function_exists("string_plural_select_zh_cn")) {
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['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

@ -1,31 +1,32 @@
<?php <?php
use Friendica\Core\L10n; /**
* @copyright Copyright (C) 2020, Friendica
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
$container = $slim->getContainer(); use Friendica\DI;
// Error handler based off https://stackoverflow.com/a/48135009/757392 /** @var $slim \Slim\App */
$container['errorHandler'] = function () {
return function(Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response, Exception $exception)
{
$responseCode = 500;
if (is_a($exception, 'Friendica\Network\HTTPException')) { /**
$responseCode = $exception->httpcode; * The routing middleware should be added before the ErrorMiddleware
} * Otherwise exceptions thrown from it will not be handled
*/
$slim->addRoutingMiddleware();
$errors['message'] = $exception->getMessage(); $errorMiddleware = $slim->addErrorMiddleware(true, true, true, DI::logger());
$errors['responseCode'] = $responseCode;
return $response
->withStatus($responseCode)
->withJson($errors);
};
};
$container['notFoundHandler'] = function () {
return function ()
{
throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('Method not found'));
};
};

View file

@ -1,22 +1,36 @@
<?php <?php
/**
// Routes * @copyright Copyright (C) 2020, Friendica
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
/* @var $slim Slim\App */ /* @var $slim Slim\App */
$slim->group('/advancedcontentfilter/api', function () { $slim->group('/advancedcontentfilter/api', function (\Slim\Routing\RouteCollectorProxy $app) {
/* @var $this Slim\App */ $app->group('/rules', function (\Slim\Routing\RouteCollectorProxy $app) {
$this->group('/rules', function () { $app->get('', 'advancedcontentfilter_get_rules');
/* @var $this Slim\App */ $app->post('', 'advancedcontentfilter_post_rules');
$this->get('', 'advancedcontentfilter_get_rules');
$this->post('', 'advancedcontentfilter_post_rules');
$this->get('/{id}', 'advancedcontentfilter_get_rules_id'); $app->get('/{id}', 'advancedcontentfilter_get_rules_id');
$this->put('/{id}', 'advancedcontentfilter_put_rules_id'); $app->put('/{id}', 'advancedcontentfilter_put_rules_id');
$this->delete('/{id}', 'advancedcontentfilter_delete_rules_id'); $app->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
}); });
$this->group('/variables', function () { $app->group('/variables', function (\Slim\Routing\RouteCollectorProxy $app) {
/* @var $this Slim\App */ $app->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
$this->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 3. Replace the render and staticRenderFns members in advancedcontentfilter.js by the contents of the anonymous() functions
--> -->
<div id="rules"> <div id="rules">
<p><a href="settings/addon">🔙 {{ messages.backtosettings }}</a></p> <p><a href="settings/addons">🔙 {{ messages.backtosettings }}</a></p>
<h1> <h1>
{{ messages.title }} {{ messages.title }}
&nbsp; &nbsp;

View file

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

View file

@ -2,6 +2,24 @@
// autoload.php @generated by Composer // autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
} elseif (!headers_sent()) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitAdvancedContentFilterAddon::getLoader(); return ComposerAutoloaderInitAdvancedContentFilterAddon::getLoader();

View file

@ -37,57 +37,126 @@ namespace Composer\Autoload;
* *
* @author Fabien Potencier <fabien@symfony.com> * @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be> * @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/ * @see https://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/ * @see https://www.php-fig.org/psr/psr-4/
*/ */
class ClassLoader class ClassLoader
{ {
/** @var \Closure(string):void */
private static $includeFile;
/** @var string|null */
private $vendorDir;
// PSR-4 // PSR-4
/**
* @var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array(); private $prefixLengthsPsr4 = array();
/**
* @var array<string, list<string>>
*/
private $prefixDirsPsr4 = array(); private $prefixDirsPsr4 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr4 = array(); private $fallbackDirsPsr4 = array();
// PSR-0 // PSR-0
/**
* List of PSR-0 prefixes
*
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
*
* @var array<string, array<string, list<string>>>
*/
private $prefixesPsr0 = array(); private $prefixesPsr0 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr0 = array(); private $fallbackDirsPsr0 = array();
/** @var bool */
private $useIncludePath = false; private $useIncludePath = false;
/**
* @var array<string, string>
*/
private $classMap = array(); private $classMap = array();
/** @var bool */
private $classMapAuthoritative = false; private $classMapAuthoritative = false;
/**
* @var array<string, bool>
*/
private $missingClasses = array(); private $missingClasses = array();
/** @var string|null */
private $apcuPrefix; private $apcuPrefix;
/**
* @var array<string, self>
*/
private static $registeredLoaders = array();
/**
* @param string|null $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
self::initializeIncludeClosure();
}
/**
* @return array<string, list<string>>
*/
public function getPrefixes() public function getPrefixes()
{ {
if (!empty($this->prefixesPsr0)) { 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(); return array();
} }
/**
* @return array<string, list<string>>
*/
public function getPrefixesPsr4() public function getPrefixesPsr4()
{ {
return $this->prefixDirsPsr4; return $this->prefixDirsPsr4;
} }
/**
* @return list<string>
*/
public function getFallbackDirs() public function getFallbackDirs()
{ {
return $this->fallbackDirsPsr0; return $this->fallbackDirsPsr0;
} }
/**
* @return list<string>
*/
public function getFallbackDirsPsr4() public function getFallbackDirsPsr4()
{ {
return $this->fallbackDirsPsr4; return $this->fallbackDirsPsr4;
} }
/**
* @return array<string, string> Array of classname => path
*/
public function getClassMap() public function getClassMap()
{ {
return $this->classMap; return $this->classMap;
} }
/** /**
* @param array $classMap Class to filename map * @param array<string, string> $classMap Class to filename map
*
* @return void
*/ */
public function addClassMap(array $classMap) public function addClassMap(array $classMap)
{ {
@ -102,22 +171,25 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix, either * Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix. * appending or prepending to the ones previously set for this prefix.
* *
* @param string $prefix The prefix * @param string $prefix The prefix
* @param array|string $paths The PSR-0 root directories * @param list<string>|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories * @param bool $prepend Whether to prepend the directories
*
* @return void
*/ */
public function add($prefix, $paths, $prepend = false) public function add($prefix, $paths, $prepend = false)
{ {
$paths = (array) $paths;
if (!$prefix) { if (!$prefix) {
if ($prepend) { if ($prepend) {
$this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0 = array_merge(
(array) $paths, $paths,
$this->fallbackDirsPsr0 $this->fallbackDirsPsr0
); );
} else { } else {
$this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0, $this->fallbackDirsPsr0,
(array) $paths $paths
); );
} }
@ -126,19 +198,19 @@ class ClassLoader
$first = $prefix[0]; $first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) { if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = (array) $paths; $this->prefixesPsr0[$first][$prefix] = $paths;
return; return;
} }
if ($prepend) { if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix] = array_merge(
(array) $paths, $paths,
$this->prefixesPsr0[$first][$prefix] $this->prefixesPsr0[$first][$prefix]
); );
} else { } else {
$this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix], $this->prefixesPsr0[$first][$prefix],
(array) $paths $paths
); );
} }
} }
@ -147,25 +219,28 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace, either * Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace. * appending or prepending to the ones previously set for this namespace.
* *
* @param string $prefix The prefix/namespace, with trailing '\\' * @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories * @param list<string>|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories * @param bool $prepend Whether to prepend the directories
* *
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
*
* @return void
*/ */
public function addPsr4($prefix, $paths, $prepend = false) public function addPsr4($prefix, $paths, $prepend = false)
{ {
$paths = (array) $paths;
if (!$prefix) { if (!$prefix) {
// Register directories for the root namespace. // Register directories for the root namespace.
if ($prepend) { if ($prepend) {
$this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4 = array_merge(
(array) $paths, $paths,
$this->fallbackDirsPsr4 $this->fallbackDirsPsr4
); );
} else { } else {
$this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4, $this->fallbackDirsPsr4,
(array) $paths $paths
); );
} }
} elseif (!isset($this->prefixDirsPsr4[$prefix])) { } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
@ -175,18 +250,18 @@ class ClassLoader
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
} }
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths; $this->prefixDirsPsr4[$prefix] = $paths;
} elseif ($prepend) { } elseif ($prepend) {
// Prepend directories for an already registered namespace. // Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths, $paths,
$this->prefixDirsPsr4[$prefix] $this->prefixDirsPsr4[$prefix]
); );
} else { } else {
// Append directories for an already registered namespace. // Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix], $this->prefixDirsPsr4[$prefix],
(array) $paths $paths
); );
} }
} }
@ -195,8 +270,10 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix, * Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix. * replacing any others previously set for this prefix.
* *
* @param string $prefix The prefix * @param string $prefix The prefix
* @param array|string $paths The PSR-0 base directories * @param list<string>|string $paths The PSR-0 base directories
*
* @return void
*/ */
public function set($prefix, $paths) public function set($prefix, $paths)
{ {
@ -211,10 +288,12 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace, * Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace. * replacing any others previously set for this namespace.
* *
* @param string $prefix The prefix/namespace, with trailing '\\' * @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories * @param list<string>|string $paths The PSR-4 base directories
* *
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
*
* @return void
*/ */
public function setPsr4($prefix, $paths) public function setPsr4($prefix, $paths)
{ {
@ -234,6 +313,8 @@ class ClassLoader
* Turns on searching the include path for class files. * Turns on searching the include path for class files.
* *
* @param bool $useIncludePath * @param bool $useIncludePath
*
* @return void
*/ */
public function setUseIncludePath($useIncludePath) public function setUseIncludePath($useIncludePath)
{ {
@ -256,6 +337,8 @@ class ClassLoader
* that have not been registered with the class map. * that have not been registered with the class map.
* *
* @param bool $classMapAuthoritative * @param bool $classMapAuthoritative
*
* @return void
*/ */
public function setClassMapAuthoritative($classMapAuthoritative) public function setClassMapAuthoritative($classMapAuthoritative)
{ {
@ -276,10 +359,12 @@ class ClassLoader
* APCu prefix to use to cache found/not-found classes, if the extension is enabled. * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
* *
* @param string|null $apcuPrefix * @param string|null $apcuPrefix
*
* @return void
*/ */
public function setApcuPrefix($apcuPrefix) 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;
} }
/** /**
@ -296,33 +381,55 @@ class ClassLoader
* Registers this instance as an autoloader. * Registers this instance as an autoloader.
* *
* @param bool $prepend Whether to prepend the autoloader or not * @param bool $prepend Whether to prepend the autoloader or not
*
* @return void
*/ */
public function register($prepend = false) public function register($prepend = false)
{ {
spl_autoload_register(array($this, 'loadClass'), true, $prepend); spl_autoload_register(array($this, 'loadClass'), true, $prepend);
if (null === $this->vendorDir) {
return;
}
if ($prepend) {
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
} else {
unset(self::$registeredLoaders[$this->vendorDir]);
self::$registeredLoaders[$this->vendorDir] = $this;
}
} }
/** /**
* Unregisters this instance as an autoloader. * Unregisters this instance as an autoloader.
*
* @return void
*/ */
public function unregister() public function unregister()
{ {
spl_autoload_unregister(array($this, 'loadClass')); spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
} }
/** /**
* Loads the given class or interface. * Loads the given class or interface.
* *
* @param string $class The name of the class * @param string $class The name of the class
* @return bool|null True if loaded, null otherwise * @return true|null True if loaded, null otherwise
*/ */
public function loadClass($class) public function loadClass($class)
{ {
if ($file = $this->findFile($class)) { if ($file = $this->findFile($class)) {
includeFile($file); $includeFile = self::$includeFile;
$includeFile($file);
return true; return true;
} }
return null;
} }
/** /**
@ -367,6 +474,21 @@ class ClassLoader
return $file; return $file;
} }
/**
* Returns the currently registered loaders keyed by their corresponding vendor directories.
*
* @return array<string, self>
*/
public static function getRegisteredLoaders()
{
return self::$registeredLoaders;
}
/**
* @param string $class
* @param string $ext
* @return string|false
*/
private function findFileWithExtension($class, $ext) private function findFileWithExtension($class, $ext)
{ {
// PSR-4 lookup // PSR-4 lookup
@ -377,7 +499,7 @@ class ClassLoader
$subPath = $class; $subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) { while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos); $subPath = substr($subPath, 0, $lastPos);
$search = $subPath.'\\'; $search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) { if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) { foreach ($this->prefixDirsPsr4[$search] as $dir) {
@ -432,14 +554,26 @@ class ClassLoader
return false; return false;
} }
}
/** /**
* Scope isolated include. * @return void
* */
* Prevents access to $this/self from included files. private static function initializeIncludeClosure()
*/ {
function includeFile($file) if (self::$includeFile !== null) {
{ return;
include $file; }
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
} }

View file

@ -0,0 +1,359 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer;
use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
/**
* This class is copied in every Composer installed project and available to all
*
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require its presence, you can require `composer-runtime-api ^2.0`
*
* @final
*/
class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
/**
* Returns a list of all package names which are present, either by being installed, replaced or provided
*
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackages()
{
$packages = array();
foreach (self::getInstalled() as $installed) {
$packages[] = array_keys($installed['versions']);
}
if (1 === \count($packages)) {
return $packages[0];
}
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
/**
* Returns a list of all package names with a specific type e.g. 'library'
*
* @param string $type
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackagesByType($type)
{
$packagesByType = array();
foreach (self::getInstalled() as $installed) {
foreach ($installed['versions'] as $name => $package) {
if (isset($package['type']) && $package['type'] === $type) {
$packagesByType[] = $name;
}
}
}
return $packagesByType;
}
/**
* Checks whether the given package is installed
*
* This also returns true if the package name is provided or replaced by another package
*
* @param string $packageName
* @param bool $includeDevRequirements
* @return bool
*/
public static function isInstalled($packageName, $includeDevRequirements = true)
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
}
}
return false;
}
/**
* Checks whether the given package satisfies a version constraint
*
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
*
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
*
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
* @param string $packageName
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
* @return bool
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints((string) $constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
}
/**
* Returns a version constraint representing all the range(s) which are installed for a given package
*
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
* whether a given version of a package is installed, and not just whether it exists
*
* @param string $packageName
* @return string Version constraint usable with composer/semver
*/
public static function getVersionRanges($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
$ranges = array();
if (isset($installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
}
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
}
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
}
if (array_key_exists('provided', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
return $installed['versions'][$packageName]['version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getPrettyVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
return $installed['versions'][$packageName]['pretty_version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
*/
public static function getReference($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
return $installed['versions'][$packageName]['reference'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
*/
public static function getInstallPath($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @return array
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
$installed = self::getInstalled();
return $installed[0]['root'];
}
/**
* Returns the raw installed.php data for custom implementations
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
self::$installed = include __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
return self::$installed;
}
/**
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
return self::getInstalled();
}
/**
* Lets you reload the static array from another file
*
* This is only useful for complex integrations in which a project needs to use
* this class but then also needs to execute another project's autoloader in process,
* and wants to ensure both projects have access to their version of installed.php.
*
* A typical case would be PHPUnit, where it would need to make sure it reads all
* the data it needs from this class, then call reload() with
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
* the project in which it runs can then also use this class safely, without
* interference between PHPUnit's dependencies and the project's dependencies.
*
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
self::$installed = $data;
self::$installedByVendor = array();
}
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
if (null === self::$canGetVendors) {
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
}
$installed = array();
if (self::$canGetVendors) {
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
}
}
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require __DIR__ . '/installed.php';
self::$installed = $required;
} else {
self::$installed = array();
}
}
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
return $installed;
}
}

View file

@ -2,10 +2,12 @@
// autoload_classmap.php @generated by Composer // autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__)); $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php', 'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php',
'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php', 'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php',
'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php', 'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
@ -23,27 +25,8 @@ return array(
'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php', 'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php',
'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php', 'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php',
'FastRoute\\RouteParser\\Std' => $vendorDir . '/nikic/fast-route/src/RouteParser/Std.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', 'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
'Interop\\Container\\Exception\\ContainerException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php', 'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.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',
'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php', 'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php',
'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php', 'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php',
'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php', 'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php',
@ -52,12 +35,20 @@ return array(
'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.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\\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\\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\\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\\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\\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\\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\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
@ -66,83 +57,122 @@ return array(
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.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\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php', 'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
'Slim\\App' => $vendorDir . '/slim/slim/Slim/App.php', 'Slim\\App' => $vendorDir . '/slim/slim/Slim/App.php',
'Slim\\CallableResolver' => $vendorDir . '/slim/slim/Slim/CallableResolver.php', 'Slim\\CallableResolver' => $vendorDir . '/slim/slim/Slim/CallableResolver.php',
'Slim\\CallableResolverAwareTrait' => $vendorDir . '/slim/slim/Slim/CallableResolverAwareTrait.php', 'Slim\\Error\\AbstractErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
'Slim\\Collection' => $vendorDir . '/slim/slim/Slim/Collection.php', 'Slim\\Error\\Renderers\\HtmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
'Slim\\Container' => $vendorDir . '/slim/slim/Slim/Container.php', 'Slim\\Error\\Renderers\\JsonErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
'Slim\\DefaultServicesProvider' => $vendorDir . '/slim/slim/Slim/DefaultServicesProvider.php', 'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
'Slim\\DeferredCallable' => $vendorDir . '/slim/slim/Slim/DeferredCallable.php', 'Slim\\Error\\Renderers\\XmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
'Slim\\Exception\\ContainerException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerException.php', 'Slim\\Exception\\HttpBadRequestException' => $vendorDir . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
'Slim\\Exception\\ContainerValueNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php', 'Slim\\Exception\\HttpException' => $vendorDir . '/slim/slim/Slim/Exception/HttpException.php',
'Slim\\Exception\\InvalidMethodException' => $vendorDir . '/slim/slim/Slim/Exception/InvalidMethodException.php', 'Slim\\Exception\\HttpForbiddenException' => $vendorDir . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
'Slim\\Exception\\MethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/MethodNotAllowedException.php', 'Slim\\Exception\\HttpGoneException' => $vendorDir . '/slim/slim/Slim/Exception/HttpGoneException.php',
'Slim\\Exception\\NotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/NotFoundException.php', 'Slim\\Exception\\HttpInternalServerErrorException' => $vendorDir . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
'Slim\\Exception\\SlimException' => $vendorDir . '/slim/slim/Slim/Exception/SlimException.php', 'Slim\\Exception\\HttpMethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
'Slim\\Handlers\\AbstractError' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractError.php', 'Slim\\Exception\\HttpNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
'Slim\\Handlers\\AbstractHandler' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractHandler.php', 'Slim\\Exception\\HttpNotImplementedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
'Slim\\Handlers\\Error' => $vendorDir . '/slim/slim/Slim/Handlers/Error.php', 'Slim\\Exception\\HttpSpecializedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
'Slim\\Handlers\\NotAllowed' => $vendorDir . '/slim/slim/Slim/Handlers/NotAllowed.php', 'Slim\\Exception\\HttpTooManyRequestsException' => $vendorDir . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
'Slim\\Handlers\\NotFound' => $vendorDir . '/slim/slim/Slim/Handlers/NotFound.php', 'Slim\\Exception\\HttpUnauthorizedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
'Slim\\Handlers\\PhpError' => $vendorDir . '/slim/slim/Slim/Handlers/PhpError.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\\RequestResponse' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php', 'Slim\\Handlers\\Strategies\\RequestResponseArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
'Slim\\Http\\Body' => $vendorDir . '/slim/slim/Slim/Http/Body.php', 'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
'Slim\\Http\\Cookies' => $vendorDir . '/slim/slim/Slim/Http/Cookies.php', 'Slim\\Interfaces\\AdvancedCallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.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\\Interfaces\\CallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php', 'Slim\\Interfaces\\CallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
'Slim\\Interfaces\\CollectionInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CollectionInterface.php', 'Slim\\Interfaces\\DispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
'Slim\\Interfaces\\Http\\CookiesInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php', 'Slim\\Interfaces\\ErrorHandlerInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
'Slim\\Interfaces\\Http\\EnvironmentInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php', 'Slim\\Interfaces\\ErrorRendererInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
'Slim\\Interfaces\\Http\\HeadersInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
'Slim\\Interfaces\\InvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.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\\RouteGroupInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
'Slim\\Interfaces\\RouteInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteInterface.php', 'Slim\\Interfaces\\RouteInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteInterface.php',
'Slim\\Interfaces\\RouterInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouterInterface.php', 'Slim\\Interfaces\\RouteParserInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
'Slim\\MiddlewareAwareTrait' => $vendorDir . '/slim/slim/Slim/MiddlewareAwareTrait.php', 'Slim\\Interfaces\\RouteResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
'Slim\\Routable' => $vendorDir . '/slim/slim/Slim/Routable.php', 'Slim\\Interfaces\\ServerRequestCreatorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
'Slim\\Route' => $vendorDir . '/slim/slim/Slim/Route.php', 'Slim\\Logger' => $vendorDir . '/slim/slim/Slim/Logger.php',
'Slim\\RouteGroup' => $vendorDir . '/slim/slim/Slim/RouteGroup.php', 'Slim\\MiddlewareDispatcher' => $vendorDir . '/slim/slim/Slim/MiddlewareDispatcher.php',
'Slim\\Router' => $vendorDir . '/slim/slim/Slim/Router.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\\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\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.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\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.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\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.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\\MemcachedAdapter' => $vendorDir . '/symfony/cache/Adapter/MemcachedAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => $vendorDir . '/symfony/cache/Adapter/NullAdapter.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\\PdoAdapter' => $vendorDir . '/symfony/cache/Adapter/PdoAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpArrayAdapter.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\\PhpFilesAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpFilesAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.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\\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\\SimpleCacheAdapter' => $vendorDir . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php', 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php', 'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php',
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => $vendorDir . '/symfony/cache/DataCollector/CacheDataCollector.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\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php',
'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.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\\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\\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\\ResettableInterface' => $vendorDir . '/symfony/cache/ResettableInterface.php',
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => $vendorDir . '/symfony/cache/Simple/AbstractCache.php', 'Symfony\\Component\\Cache\\Simple\\AbstractCache' => $vendorDir . '/symfony/cache/Simple/AbstractCache.php',
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => $vendorDir . '/symfony/cache/Simple/ApcuCache.php', 'Symfony\\Component\\Cache\\Simple\\ApcuCache' => $vendorDir . '/symfony/cache/Simple/ApcuCache.php',
@ -158,10 +188,11 @@ return array(
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => $vendorDir . '/symfony/cache/Simple/Psr6Cache.php', 'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => $vendorDir . '/symfony/cache/Simple/Psr6Cache.php',
'Symfony\\Component\\Cache\\Simple\\RedisCache' => $vendorDir . '/symfony/cache/Simple/RedisCache.php', '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\\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\\AbstractTrait' => $vendorDir . '/symfony/cache/Traits/AbstractTrait.php',
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => $vendorDir . '/symfony/cache/Traits/ApcuTrait.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\\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\\DoctrineTrait' => $vendorDir . '/symfony/cache/Traits/DoctrineTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemCommonTrait.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\\FilesystemTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemTrait.php',
@ -170,6 +201,8 @@ return array(
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => $vendorDir . '/symfony/cache/Traits/PhpArrayTrait.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\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.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\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php', 'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php', 'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php',
@ -197,5 +230,32 @@ return array(
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php', 'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php',
'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php', 'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php',
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => $vendorDir . '/symfony/expression-language/TokenStream.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

@ -2,10 +2,12 @@
// autoload_files.php @generated by Composer // autoload_files.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__)); $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( 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', '253c157292f75eb38082b5acb06f3f01' => $vendorDir . '/nikic/fast-route/src/functions.php',
); );

View file

@ -2,9 +2,8 @@
// autoload_namespaces.php @generated by Composer // autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__)); $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
); );

View file

@ -2,19 +2,22 @@
// autoload_psr4.php @generated by Composer // autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__)); $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( 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\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'),
'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'), 'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
'Slim\\' => array($vendorDir . '/slim/slim/Slim'), 'Slim\\' => array($vendorDir . '/slim/slim/Slim'),
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), '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-message/src', $vendorDir . '/psr/http-factory/src'),
'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/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'), 'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'),
); );

View file

@ -13,58 +13,38 @@ class ComposerAutoloaderInitAdvancedContentFilterAddon
} }
} }
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader() public static function getLoader()
{ {
if (null !== self::$loader) { if (null !== self::$loader) {
return self::$loader; return self::$loader;
} }
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); require __DIR__ . '/autoload_static.php';
if ($useStaticLoader) { call_user_func(\Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::getInitializer($loader));
require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
}
$loader->register(true); $loader->register(true);
if ($useStaticLoader) { $filesToLoad = \Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::$files;
$includeFiles = Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
} else { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$includeFiles = require __DIR__ . '/autoload_files.php'; $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
foreach ($includeFiles as $fileIdentifier => $file) { require $file;
composerRequireAdvancedContentFilterAddon($fileIdentifier, $file); }
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
} }
return $loader; return $loader;
} }
} }
function composerRequireAdvancedContentFilterAddon($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
}

View file

@ -7,30 +7,32 @@ namespace Composer\Autoload;
class ComposerStaticInitAdvancedContentFilterAddon class ComposerStaticInitAdvancedContentFilterAddon
{ {
public static $files = array ( 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', '253c157292f75eb38082b5acb06f3f01' => __DIR__ . '/..' . '/nikic/fast-route/src/functions.php',
); );
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
'S' => 'S' =>
array ( 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\\ExpressionLanguage\\' => 37,
'Symfony\\Component\\Cache\\' => 24, 'Symfony\\Component\\Cache\\' => 24,
'Slim\\' => 5, 'Slim\\' => 5,
), ),
'P' => 'P' =>
array ( array (
'Psr\\SimpleCache\\' => 16,
'Psr\\Log\\' => 8, 'Psr\\Log\\' => 8,
'Psr\\Http\\Server\\' => 16,
'Psr\\Http\\Message\\' => 17, 'Psr\\Http\\Message\\' => 17,
'Psr\\Container\\' => 14, 'Psr\\Container\\' => 14,
'Psr\\Cache\\' => 10, 'Psr\\Cache\\' => 10,
), ),
'I' =>
array (
'Interop\\Container\\' => 18,
),
'F' => 'F' =>
array ( array (
'FastRoute\\' => 10, 'FastRoute\\' => 10,
@ -38,9 +40,25 @@ class ComposerStaticInitAdvancedContentFilterAddon
); );
public static $prefixDirsPsr4 = array ( public static $prefixDirsPsr4 = array (
'Symfony\\Polyfill\\Apcu\\' => 'Symfony\\Polyfill\\Php80\\' =>
array ( 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\\' => 'Symfony\\Component\\ExpressionLanguage\\' =>
array ( array (
@ -54,17 +72,19 @@ class ComposerStaticInitAdvancedContentFilterAddon
array ( array (
0 => __DIR__ . '/..' . '/slim/slim/Slim', 0 => __DIR__ . '/..' . '/slim/slim/Slim',
), ),
'Psr\\SimpleCache\\' =>
array (
0 => __DIR__ . '/..' . '/psr/simple-cache/src',
),
'Psr\\Log\\' => 'Psr\\Log\\' =>
array ( array (
0 => __DIR__ . '/..' . '/psr/log/Psr/Log', 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\\' => 'Psr\\Http\\Message\\' =>
array ( array (
0 => __DIR__ . '/..' . '/psr/http-message/src', 0 => __DIR__ . '/..' . '/psr/http-message/src',
1 => __DIR__ . '/..' . '/psr/http-factory/src',
), ),
'Psr\\Container\\' => 'Psr\\Container\\' =>
array ( array (
@ -74,27 +94,15 @@ class ComposerStaticInitAdvancedContentFilterAddon
array ( array (
0 => __DIR__ . '/..' . '/psr/cache/src', 0 => __DIR__ . '/..' . '/psr/cache/src',
), ),
'Interop\\Container\\' =>
array (
0 => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container',
),
'FastRoute\\' => 'FastRoute\\' =>
array ( array (
0 => __DIR__ . '/..' . '/nikic/fast-route/src', 0 => __DIR__ . '/..' . '/nikic/fast-route/src',
), ),
); );
public static $prefixesPsr0 = array (
'P' =>
array (
'Pimple' =>
array (
0 => __DIR__ . '/..' . '/pimple/pimple/src',
),
),
);
public static $classMap = array ( public static $classMap = array (
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php', 'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php',
'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php', 'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php',
'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php', 'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
@ -112,27 +120,8 @@ class ComposerStaticInitAdvancedContentFilterAddon
'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php', 'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php',
'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php', 'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php',
'FastRoute\\RouteParser\\Std' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser/Std.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', 'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
'Interop\\Container\\Exception\\ContainerException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php', 'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.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',
'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php', 'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php',
'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php', 'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php',
'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php', 'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php',
@ -141,12 +130,20 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.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\\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\\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\\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\\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\\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\\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\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php', 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php', 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
@ -155,83 +152,122 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.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\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php', 'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
'Slim\\App' => __DIR__ . '/..' . '/slim/slim/Slim/App.php', 'Slim\\App' => __DIR__ . '/..' . '/slim/slim/Slim/App.php',
'Slim\\CallableResolver' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolver.php', 'Slim\\CallableResolver' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolver.php',
'Slim\\CallableResolverAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolverAwareTrait.php', 'Slim\\Error\\AbstractErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
'Slim\\Collection' => __DIR__ . '/..' . '/slim/slim/Slim/Collection.php', 'Slim\\Error\\Renderers\\HtmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
'Slim\\Container' => __DIR__ . '/..' . '/slim/slim/Slim/Container.php', 'Slim\\Error\\Renderers\\JsonErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
'Slim\\DefaultServicesProvider' => __DIR__ . '/..' . '/slim/slim/Slim/DefaultServicesProvider.php', 'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
'Slim\\DeferredCallable' => __DIR__ . '/..' . '/slim/slim/Slim/DeferredCallable.php', 'Slim\\Error\\Renderers\\XmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
'Slim\\Exception\\ContainerException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerException.php', 'Slim\\Exception\\HttpBadRequestException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
'Slim\\Exception\\ContainerValueNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php', 'Slim\\Exception\\HttpException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpException.php',
'Slim\\Exception\\InvalidMethodException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/InvalidMethodException.php', 'Slim\\Exception\\HttpForbiddenException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
'Slim\\Exception\\MethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/MethodNotAllowedException.php', 'Slim\\Exception\\HttpGoneException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpGoneException.php',
'Slim\\Exception\\NotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/NotFoundException.php', 'Slim\\Exception\\HttpInternalServerErrorException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
'Slim\\Exception\\SlimException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/SlimException.php', 'Slim\\Exception\\HttpMethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
'Slim\\Handlers\\AbstractError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractError.php', 'Slim\\Exception\\HttpNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
'Slim\\Handlers\\AbstractHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractHandler.php', 'Slim\\Exception\\HttpNotImplementedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
'Slim\\Handlers\\Error' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Error.php', 'Slim\\Exception\\HttpSpecializedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
'Slim\\Handlers\\NotAllowed' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotAllowed.php', 'Slim\\Exception\\HttpTooManyRequestsException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
'Slim\\Handlers\\NotFound' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotFound.php', 'Slim\\Exception\\HttpUnauthorizedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
'Slim\\Handlers\\PhpError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/PhpError.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\\RequestResponse' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php', 'Slim\\Handlers\\Strategies\\RequestResponseArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
'Slim\\Http\\Body' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Body.php', 'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
'Slim\\Http\\Cookies' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Cookies.php', 'Slim\\Interfaces\\AdvancedCallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.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\\Interfaces\\CallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php', 'Slim\\Interfaces\\CallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
'Slim\\Interfaces\\CollectionInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CollectionInterface.php', 'Slim\\Interfaces\\DispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
'Slim\\Interfaces\\Http\\CookiesInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php', 'Slim\\Interfaces\\ErrorHandlerInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
'Slim\\Interfaces\\Http\\EnvironmentInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php', 'Slim\\Interfaces\\ErrorRendererInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
'Slim\\Interfaces\\Http\\HeadersInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
'Slim\\Interfaces\\InvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.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\\RouteGroupInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
'Slim\\Interfaces\\RouteInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteInterface.php', 'Slim\\Interfaces\\RouteInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteInterface.php',
'Slim\\Interfaces\\RouterInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouterInterface.php', 'Slim\\Interfaces\\RouteParserInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
'Slim\\MiddlewareAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareAwareTrait.php', 'Slim\\Interfaces\\RouteResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
'Slim\\Routable' => __DIR__ . '/..' . '/slim/slim/Slim/Routable.php', 'Slim\\Interfaces\\ServerRequestCreatorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
'Slim\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Route.php', 'Slim\\Logger' => __DIR__ . '/..' . '/slim/slim/Slim/Logger.php',
'Slim\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/RouteGroup.php', 'Slim\\MiddlewareDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareDispatcher.php',
'Slim\\Router' => __DIR__ . '/..' . '/slim/slim/Slim/Router.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\\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\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ApcuAdapter.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\\ArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ArrayAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ChainAdapter.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\\DoctrineAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemAdapter.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\\MemcachedAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/MemcachedAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/NullAdapter.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\\PdoAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PdoAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpArrayAdapter.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\\PhpFilesAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpFilesAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ProxyAdapter.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\\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\\SimpleCacheAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php', 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php', 'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php', 'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php',
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => __DIR__ . '/..' . '/symfony/cache/DataCollector/CacheDataCollector.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\\DoctrineProvider' => __DIR__ . '/..' . '/symfony/cache/DoctrineProvider.php',
'Symfony\\Component\\Cache\\Exception\\CacheException' => __DIR__ . '/..' . '/symfony/cache/Exception/CacheException.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\\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\\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\\ResettableInterface' => __DIR__ . '/..' . '/symfony/cache/ResettableInterface.php',
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => __DIR__ . '/..' . '/symfony/cache/Simple/AbstractCache.php', 'Symfony\\Component\\Cache\\Simple\\AbstractCache' => __DIR__ . '/..' . '/symfony/cache/Simple/AbstractCache.php',
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ApcuCache.php', 'Symfony\\Component\\Cache\\Simple\\ApcuCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ApcuCache.php',
@ -247,10 +283,11 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => __DIR__ . '/..' . '/symfony/cache/Simple/Psr6Cache.php', 'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => __DIR__ . '/..' . '/symfony/cache/Simple/Psr6Cache.php',
'Symfony\\Component\\Cache\\Simple\\RedisCache' => __DIR__ . '/..' . '/symfony/cache/Simple/RedisCache.php', '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\\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\\AbstractTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractTrait.php',
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ApcuTrait.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\\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\\DoctrineTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/DoctrineTrait.php',
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemCommonTrait.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\\FilesystemTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemTrait.php',
@ -259,6 +296,8 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpArrayTrait.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\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.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\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php',
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php', 'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php',
'Symfony\\Component\\ExpressionLanguage\\Compiler' => __DIR__ . '/..' . '/symfony/expression-language/Compiler.php', 'Symfony\\Component\\ExpressionLanguage\\Compiler' => __DIR__ . '/..' . '/symfony/expression-language/Compiler.php',
@ -286,7 +325,34 @@ class ComposerStaticInitAdvancedContentFilterAddon
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => __DIR__ . '/..' . '/symfony/expression-language/SyntaxError.php', 'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => __DIR__ . '/..' . '/symfony/expression-language/SyntaxError.php',
'Symfony\\Component\\ExpressionLanguage\\Token' => __DIR__ . '/..' . '/symfony/expression-language/Token.php', 'Symfony\\Component\\ExpressionLanguage\\Token' => __DIR__ . '/..' . '/symfony/expression-language/Token.php',
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => __DIR__ . '/..' . '/symfony/expression-language/TokenStream.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) public static function getInitializer(ClassLoader $loader)
@ -294,7 +360,6 @@ class ComposerStaticInitAdvancedContentFilterAddon
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInitAdvancedContentFilterAddon::$prefixesPsr0;
$loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap; $loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,203 @@
<?php return array(
'root' => array(
'name' => 'friendica-addons/advancedcontentfilter',
'pretty_version' => 'dev-develop',
'version' => 'dev-develop',
'reference' => 'feb7722f723b21e76fdf20a7ce4b42fa5ffcdcb9',
'type' => 'friendica-addon',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev' => false,
),
'versions' => array(
'friendica-addons/advancedcontentfilter' => array(
'pretty_version' => 'dev-develop',
'version' => 'dev-develop',
'reference' => 'feb7722f723b21e76fdf20a7ce4b42fa5ffcdcb9',
'type' => 'friendica-addon',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev_requirement' => false,
),
'nikic/fast-route' => array(
'pretty_version' => 'v1.3.0',
'version' => '1.3.0.0',
'reference' => '181d480e08d9476e61381e04a71b34dc0432e812',
'type' => 'library',
'install_path' => __DIR__ . '/../nikic/fast-route',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/cache' => array(
'pretty_version' => '1.0.1',
'version' => '1.0.1.0',
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/cache',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/cache-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '1.0|2.0',
),
),
'psr/container' => array(
'pretty_version' => '1.1.2',
'version' => '1.1.2.0',
'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/container',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/http-factory' => array(
'pretty_version' => '1.0.2',
'version' => '1.0.2.0',
'reference' => 'e616d01114759c4c489f93b099585439f795fe35',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-factory',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/http-message' => array(
'pretty_version' => '2.0',
'version' => '2.0.0.0',
'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-message',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/http-server-handler' => array(
'pretty_version' => '1.0.2',
'version' => '1.0.2.0',
'reference' => '84c4fb66179be4caaf8e97bd239203245302e7d4',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-server-handler',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/http-server-middleware' => array(
'pretty_version' => '1.0.2',
'version' => '1.0.2.0',
'reference' => 'c1481f747daaa6a0782775cd6a8c26a1bf4a3829',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-server-middleware',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/log' => array(
'pretty_version' => '1.1.4',
'version' => '1.1.4.0',
'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/log',
'aliases' => array(),
'dev_requirement' => false,
),
'psr/simple-cache-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '1.0|2.0',
),
),
'slim/slim' => array(
'pretty_version' => '4.13.0',
'version' => '4.13.0.0',
'reference' => '038fd5713d5a41636fdff0e8dcceedecdd17fc17',
'type' => 'library',
'install_path' => __DIR__ . '/../slim/slim',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/cache' => array(
'pretty_version' => 'v4.4.48',
'version' => '4.4.48.0',
'reference' => '3b98ed664887ad197b8ede3da2432787212eb915',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/cache',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/cache-contracts' => array(
'pretty_version' => 'v2.5.2',
'version' => '2.5.2.0',
'reference' => '64be4a7acb83b6f2bf6de9a02cee6dad41277ebc',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/cache-contracts',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/cache-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '1.0|2.0',
),
),
'symfony/deprecation-contracts' => array(
'pretty_version' => 'v2.5.2',
'version' => '2.5.2.0',
'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/expression-language' => array(
'pretty_version' => 'v3.4.47',
'version' => '3.4.47.0',
'reference' => 'de38e66398fca1fcb9c48e80279910e6889cb28f',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/expression-language',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php70' => array(
'pretty_version' => 'v1.20.0',
'version' => '1.20.0.0',
'reference' => '5f03a781d984aae42cebd18e7912fa80f02ee644',
'type' => 'metapackage',
'install_path' => null,
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php73' => array(
'pretty_version' => 'v1.29.0',
'version' => '1.29.0.0',
'reference' => '21bd091060673a1177ae842c0ef8fe30893114d2',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php73',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php80' => array(
'pretty_version' => 'v1.29.0',
'version' => '1.29.0.0',
'reference' => '87b68208d5c1188808dd7839ee1e6c8ec3b02f1b',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/service-contracts' => array(
'pretty_version' => 'v2.5.2',
'version' => '2.5.2.0',
'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/service-contracts',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/var-exporter' => array(
'pretty_version' => 'v5.4.35',
'version' => '5.4.35.0',
'reference' => 'abb0a151b62d6b07e816487e20040464af96cae7',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/var-exporter',
'aliases' => array(),
'dev_requirement' => false,
),
),
);

View file

@ -0,0 +1,26 @@
<?php
// platform_check.php @generated by Composer
$issues = array();
if (!(PHP_VERSION_ID >= 70400)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
}
if ($issues) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
} elseif (!headers_sent()) {
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
}
}
trigger_error(
'Composer detected issues in your platform: ' . implode(' ', $issues),
E_USER_ERROR
);
}

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"

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