Compare commits
1042 Commits
Author | SHA1 | Date |
---|---|---|
Tobias Diekershoff | feb7722f72 | |
Michael | f8f63532f4 | |
Tobias Diekershoff | ef37aa60e3 | |
Michael | 6f3ba10466 | |
Tobias Diekershoff | 778b9e3f61 | |
loma-one | 10521115c4 | |
Tobias Diekershoff | 956233ff1d | |
Michael | 14e1c96775 | |
Tobias Diekershoff | 7a7dbb579d | |
loma-one | 712edf4236 | |
Tobias Diekershoff | 5c0cddfc1d | |
loma-one | 3dc77b2102 | |
Tobias Diekershoff | 6c43a14198 | |
Michael | 0dfb345f85 | |
Tobias Diekershoff | ab837dfec5 | |
Michael | 2f9076bffd | |
Tobias Diekershoff | 454e9834bf | |
Michael | 50930c301d | |
Philipp Holzer | 3457ab2f3f | |
Philipp | 276c27678f | |
Tobias Diekershoff | cd95ca1a0a | |
Tobias Diekershoff | 5c04e7136f | |
heluecht | 179382d8a9 | |
Tobias Diekershoff | a55f80cb39 | |
Tobias Diekershoff | 4ad7d61893 | |
Michael | 4bfdb45e81 | |
Tobias Diekershoff | 4414471100 | |
Matthew Exon | 46a55f13f7 | |
Tobias Diekershoff | a97cccb6b2 | |
Michael | c0535db742 | |
Tobias Diekershoff | 0c04b086cb | |
Matthew Exon | 589cf712cc | |
heluecht | ce53e48cb2 | |
Matthew Exon | f3db763c59 | |
heluecht | 4e5998c73d | |
Matthew Exon | 5f27f72b0d | |
Tobias Diekershoff | b0a95ca2d2 | |
Hannes Heute | b2108c7a4c | |
Hypolite Petovan | abca07b29d | |
hankg | 14e7413eb2 | |
Hypolite Petovan | d3dcd5428c | |
Matthew Exon | 18e512cc8b | |
Matthew Exon | 7d5446a778 | |
Hypolite Petovan | 38ea90104d | |
Matthew Exon | 08b46e5536 | |
Hypolite Petovan | 39567cf701 | |
Tobias Diekershoff | 2789e880dc | |
Tobias Diekershoff | 1556ebfb33 | |
Matthew Exon | 3e1b98d5d9 | |
Tobias Diekershoff | ed07c987a6 | |
Michael | af868f45ab | |
Tobias Diekershoff | 7f0cf2527c | |
Michael | 9525259fc8 | |
Tobias Diekershoff | f7ca152754 | |
Michael | 6f56932f12 | |
Tobias Diekershoff | b6f2e7dd50 | |
Michael | fa16adccaf | |
Tobias Diekershoff | 252f3e222a | |
Michael | 231d830db0 | |
Tobias Diekershoff | 27e362213f | |
Michael | 734d35d22b | |
Hypolite Petovan | 722fdc07fb | |
Michael | 77c471ab4d | |
heluecht | bac665864e | |
Tobias Diekershoff | c7f4d183b1 | |
Hypolite Petovan | 7f073ec520 | |
Michael | 39247ca28f | |
Michael | 084a2a7057 | |
Tobias Diekershoff | c8fab935ee | |
Michael | 9ae8925069 | |
Hypolite Petovan | 0eff72fa03 | |
Michael | 2306261ab2 | |
Hypolite Petovan | 26eea26f95 | |
Michael | e7dd7111ac | |
Hypolite Petovan | 60f5d14b8e | |
Michael | c7a6ecb346 | |
Hypolite Petovan | 38b75b6529 | |
Michael | 67b464cc47 | |
Hypolite Petovan | 20f2f12871 | |
Michael | 85d254f2f8 | |
Hypolite Petovan | a4598a2427 | |
Michael | 6c76139ce1 | |
Hypolite Petovan | 8e81330f21 | |
Michael | b9d0cece0a | |
Tobias Diekershoff | d4abc9bac8 | |
Michael | dc7a8adf29 | |
Tobias Diekershoff | 739041b74f | |
Michael | 9c6a86ffaa | |
Hypolite Petovan | 38466415b3 | |
loma-one | 3bf547ee6e | |
loma-one | 9627e95b19 | |
Hypolite Petovan | aea944c8b5 | |
Michael | 340f5e627c | |
Hypolite Petovan | 9153ca05fd | |
Philipp | 3bdbcd3b02 | |
Hypolite Petovan | 010261c1dc | |
Philipp | 3f26f9785e | |
Hypolite Petovan | b4eee553d1 | |
Michael | 04ce1fd2b4 | |
heluecht | 569931986d | |
Hypolite Petovan | 0a69c66d09 | |
Hypolite Petovan | 7bff983d21 | |
Hypolite Petovan | d910502a17 | |
Hypolite Petovan | c6b2ed96d7 | |
Hypolite Petovan | a020ac4309 | |
Hypolite Petovan | d838fc6421 | |
Hypolite Petovan | b0ee9fdf2a | |
Hypolite Petovan | 46c65b79be | |
Hypolite Petovan | 11cc359434 | |
MrPetovan | 872a438dcf | |
MrPetovan | da8681c8c4 | |
MrPetovan | 67c44792fd | |
Dr. Tobias Quathamer | cfbbeaac62 | |
Dr. Tobias Quathamer | 32f698ce10 | |
Dr. Tobias Quathamer | a110b2f6c1 | |
Dr. Tobias Quathamer | fc33555cd6 | |
Dr. Tobias Quathamer | e24e3f758a | |
Dr. Tobias Quathamer | 127ab370fc | |
Dr. Tobias Quathamer | 890bc3712f | |
Dr. Tobias Quathamer | 2cff751b12 | |
Dr. Tobias Quathamer | 89134542b4 | |
Dr. Tobias Quathamer | 453772e393 | |
Dr. Tobias Quathamer | 0bcf2d7c89 | |
Dr. Tobias Quathamer | c6daf2381c | |
Dr. Tobias Quathamer | 51797d975b | |
Dr. Tobias Quathamer | a40bd7009b | |
Dr. Tobias Quathamer | 1bcd23f684 | |
Hypolite Petovan | f3bddaf7d6 | |
Michael | 4a14bc47ee | |
Hypolite Petovan | 09b3f01558 | |
Philipp | e1f27d88b7 | |
Philipp | 57c4735ad6 | |
Philipp | 372a850103 | |
Philipp | 7e890124a8 | |
Philipp | 904bf11e54 | |
Tobias Diekershoff | 1af97e5c9e | |
Michael | 02a6fdd9a2 | |
Tobias Diekershoff | d11efc108c | |
Michael | d5dfa8028c | |
Tobias Diekershoff | 3da448b01f | |
Michael | 0fc8285f87 | |
Tobias Diekershoff | 167b7f9466 | |
Michael | ef7548f5bc | |
Tobias Diekershoff | c9923e47de | |
Hypolite Petovan | 6a9287dc6f | |
Hypolite Petovan | eeb783d71d | |
Tobias Diekershoff | 0812886b61 | |
Michael | 09ae5cfaff | |
Michael | 0751b2ac16 | |
Tobias Diekershoff | ed641e6ccb | |
Michael | a05e429470 | |
Tobias Diekershoff | 6e355979e8 | |
Hypolite Petovan | 3c0f4e3926 | |
Hypolite Petovan | affa8829d5 | |
Michael | b6d706822a | |
Hypolite Petovan | c49b61be8b | |
Michael | 90ec1bc838 | |
Michael | dcafad573e | |
heluecht | dc709c699a | |
Matthew Exon | 58cb933779 | |
Tobias Diekershoff | 53be7d9423 | |
Michael | 2ee78d2f0b | |
Tobias Diekershoff | d19b9ba9e3 | |
Michael | 5f7233fd20 | |
Tobias Diekershoff | 9168f3d167 | |
Michael | 7580054394 | |
Hypolite Petovan | bdc27184fc | |
Michael | 346e22c5f5 | |
Hypolite Petovan | de784bdc95 | |
Michael | 6d578d1495 | |
Michael | bcef83e148 | |
Michael | 2b5f8e9c82 | |
Michael | e4bb463b5b | |
Tobias Diekershoff | 52f7910f4c | |
Morgan McMillian | 9208fd46a4 | |
Tobias Diekershoff | 810dc02dd4 | |
Michael | f678468d42 | |
Hypolite Petovan | 52ea77eabb | |
Michael | 84fc5ba922 | |
Hypolite Petovan | d5c7a49db2 | |
Hannes Heute | c9f985d842 | |
Hypolite Petovan | 2452b05cc5 | |
Michael | 8b35c9fddb | |
heluecht | 446fd9b17b | |
Hypolite Petovan | a30e9b788c | |
Hypolite Petovan | b05a95cc45 | |
Michael | c28af61873 | |
Hypolite Petovan | 2b391eb368 | |
Michael | 07a7a87c37 | |
Michael | 4dd903b473 | |
heluecht | a179bab747 | |
Hypolite Petovan | 13fd713b66 | |
Hypolite Petovan | 4dedd24320 | |
Dr. Tobias Quathamer | bddb7f4d49 | |
Tobias Diekershoff | 82073db292 | |
Dr. Tobias Quathamer | a26e90b202 | |
Hypolite Petovan | b87588e371 | |
Michael | 96c70489f5 | |
Hypolite Petovan | 77ad52d1f4 | |
Michael | 96a354bc65 | |
heluecht | f32c90dc9f | |
Hypolite Petovan | 3e74af9775 | |
Hypolite Petovan | 9daa11eb10 | |
Hypolite Petovan | 011edb711c | |
Michael | cabdd924d0 | |
Michael | 8ba44cf5c6 | |
heluecht | dad3d477d3 | |
Tobias Diekershoff | 3a063f999d | |
Hypolite Petovan | fa01357445 | |
Michael | a41a676bfb | |
Hypolite Petovan | 3b518462ab | |
loma-one | d53ad98af2 | |
loma-one | 372e75a91c | |
loma-one | f45f6ba992 | |
loma-one | 26983977c4 | |
loma-one | 90d897f4fa | |
loma-one | 668ea972cc | |
loma-one | dc2d00b6c6 | |
loma-one | 0f65c23490 | |
loma-one | c98caaf417 | |
loma-one | f46980c736 | |
loma-one | ebf5ff1276 | |
loma-one | 9d932e6fa0 | |
loma-one | 46fdcc1c0e | |
loma-one | eadbcc069f | |
loma-one | 2c2a813324 | |
loma-one | 9315b185e8 | |
loma-one | d685663ac0 | |
loma-one | 727eca1ce7 | |
Hypolite Petovan | 3b5e8901dc | |
Michael | 50d8d44489 | |
Hypolite Petovan | b6d575c37f | |
Michael | 397282cbb3 | |
Hypolite Petovan | 2c6add7aa1 | |
Michael | 22bf23b833 | |
Hypolite Petovan | ed8c5945da | |
Michael | 14fd900628 | |
Michael | 48cde643f6 | |
Michael | e62f6a9586 | |
Hypolite Petovan | c2dfda5d72 | |
Michael | 9595760800 | |
Hypolite Petovan | 1c91ee200e | |
Michael | 00e30b5c2b | |
heluecht | 5f5c53ab49 | |
Benjamin Lorteau | 6a46d05bca | |
Hypolite Petovan | 8d3d0f267b | |
Michael | 66fdd31915 | |
Hypolite Petovan | 607cc9238c | |
Michael | 2a782b512e | |
Hypolite Petovan | a75c9ba373 | |
Michael | 77765ff6ed | |
heluecht | 9c53c0c8d1 | |
Hypolite Petovan | 43c46ae6d9 | |
Hypolite Petovan | c7e06bfa53 | |
Michael | 6948a15f1c | |
Hypolite Petovan | 74c56c32b0 | |
Philipp | 9bdaa8092e | |
Hypolite Petovan | b11538d195 | |
Michael | 73c6a0ff0c | |
Hypolite Petovan | fbafa80815 | |
Michael | 92251f4a6c | |
Michael | 18266ea6ef | |
Michael | 80ce855189 | |
Michael | 0eda161e04 | |
Michael | 981e6821d0 | |
Philipp Holzer | a5ed02ed23 | |
Philipp | 7a8f8fcbd2 | |
Philipp | 30b9f73f5e | |
Hypolite Petovan | be8d8b9c10 | |
Michael | 16d99dbdfc | |
Hypolite Petovan | 410613d7a0 | |
Michael | af31a988aa | |
heluecht | 187ba8383d | |
Hypolite Petovan | c89abdb74c | |
Hypolite Petovan | b76f143e60 | |
loma-one | 94a4c93368 | |
loma-one | dfbf8d4acf | |
loma-one | 983d334ef5 | |
loma-one | 2fa030aa65 | |
loma-one | 7ef59da623 | |
loma-one | 476fdd1bb7 | |
loma-one | 9786b605b6 | |
loma-one | a26c2c9758 | |
loma-one | 8ef6fafdaa | |
loma-one | c93e6840fa | |
loma-one | 65d8e467fe | |
loma-one | 38460a4cff | |
loma-one | db218ac4f6 | |
loma-one | e391a65695 | |
loma-one | a3dc032a51 | |
loma-one | 9035144e5b | |
loma-one | 4e17f3c9db | |
loma-one | 630f4ab991 | |
loma-one | effa19c467 | |
Hypolite Petovan | 6d200dd419 | |
Michael | 340f3f41d7 | |
Hypolite Petovan | 886638f8a5 | |
Michael | 339c88353b | |
Michael | a3e24a55ec | |
Michael | 3d6748eaf7 | |
Hypolite Petovan | fb9e6e5df6 | |
Michael | 8b66b3a194 | |
Hypolite Petovan | f39b25b437 | |
Michael | 15ea39d830 | |
Michael | 21006aec74 | |
Michael | 603c8defb1 | |
Michael | e004e20352 | |
Michael | c0eac366fe | |
Michael | 34f0fa7dc8 | |
Michael | a97b3f690c | |
Hypolite Petovan | 5d13889f2c | |
Philipp | dc55b89e02 | |
Philipp | d76b6b50c3 | |
Philipp Holzer | 546841e3a2 | |
Philipp | bd405ec98a | |
Hypolite Petovan | 923437e8b6 | |
Philipp | d9c5419351 | |
Philipp | e315abc788 | |
Philipp | 745f9c1e5f | |
Tobias Diekershoff | f328dc2b83 | |
Michael | 3377ef3ba3 | |
Hypolite Petovan | 5d666fbd1e | |
Michael | f4110880a1 | |
Hypolite Petovan | a52fa4dfb0 | |
Michael | cf435277a7 | |
Hypolite Petovan | 61a5973937 | |
Michael | d80d376762 | |
Hypolite Petovan | 463f5eb7e0 | |
csolisr | e91fa307d0 | |
Hypolite Petovan | aa0d829de6 | |
Michael | 7795a53cb3 | |
Michael | c85b559f69 | |
Michael | 9f0857af1d | |
Hypolite Petovan | ba1af2b73e | |
Michael | e67097e0e8 | |
Hypolite Petovan | 2183bace8a | |
Tobias Diekershoff | c740573b99 | |
Tobias Diekershoff | db4546c190 | |
Michael | 2a4bfae9b3 | |
Hypolite Petovan | aa9f0c2281 | |
Michael | 5d614bc6d3 | |
heluecht | 9557b5e000 | |
Hypolite Petovan | 49d308c44b | |
Hypolite Petovan | aa0f74832a | |
Tobias Diekershoff | 941b8c5a14 | |
Hypolite Petovan | 9bfb5e879d | |
Hypolite Petovan | 54f4a054c7 | |
Matthew Exon | 9832fa6c45 | |
Hypolite Petovan | 2ce14fb2ff | |
andy | 82c2f8e37f | |
Hypolite Petovan | 5c45c05cdb | |
Michael | c45c163471 | |
Hypolite Petovan | cd7cec1de2 | |
Michael | d8fe3bd119 | |
Michael | e19fafa918 | |
Tobias Diekershoff | 421964b406 | |
Michael | 6ade40efae | |
Michael | 435a993502 | |
Michael | 16a5a895bb | |
Hypolite Petovan | f2cc0312ca | |
heluecht | e3ca7c73ce | |
Michael | 654a9da297 | |
Michael | 1fe81df15d | |
Tobias Diekershoff | 7a1af5fb5b | |
Hypolite Petovan | a4b91826ba | |
Michael | a7ea815642 | |
Michael | ea6e79448d | |
Michael | 77813a2acd | |
Michael | dff48c3295 | |
heluecht | e91962b0b6 | |
Hypolite Petovan | e0778d2bdd | |
Matthew Exon | 631bfd83e9 | |
Hypolite Petovan | 4b31588484 | |
Matthew Exon | 8886c90d1e | |
Hypolite Petovan | f5d8604e59 | |
Hypolite Petovan | a0574ab045 | |
Hypolite Petovan | e1de842ffb | |
Tobias Diekershoff | ca134e9ed3 | |
Tobias Diekershoff | 1a2554fe95 | |
Tobias Diekershoff | 13da605435 | |
Hypolite Petovan | df2e9863ed | |
Entropy Engineer | 199205a07c | |
Hypolite Petovan | 94eb2ec197 | |
Michael | 58fce248c1 | |
Michael | dcd097b5b0 | |
Hypolite Petovan | 040c735243 | |
Matthew Exon | 4eedc9423a | |
Hypolite Petovan | c4876d46b4 | |
Michael | 8400258f07 | |
Tobias Diekershoff | 8f29a51277 | |
Tobias Diekershoff | b34c9131ca | |
Tobias Diekershoff | a733e82c21 | |
Michael | 5d8a53b8ec | |
Hypolite Petovan | dac297b942 | |
Michael | dc02e16575 | |
Hypolite Petovan | d8af084933 | |
Michael | 477e646fba | |
Michael | 5307ef3a58 | |
Michael | 4c3b4dea96 | |
Michael | c811f54958 | |
Hypolite Petovan | becf10cee6 | |
Michael | bb72210fc1 | |
Michael | da65314df5 | |
Tobias Diekershoff | fbf3653831 | |
Michael | 9e7f06ed44 | |
Tobias Diekershoff | c137fc5e79 | |
Michael | 9c8e7a23a6 | |
Michael | 71eb147c13 | |
Hypolite Petovan | 5cae2bffb2 | |
Michael | 972c2da98e | |
Hypolite Petovan | 8a83cc2886 | |
Michael | c94778dbc1 | |
Tobias Diekershoff | 9f0b5829c0 | |
Hypolite Petovan | 7bc98f0dd9 | |
Tobias Diekershoff | 1c677722b3 | |
Michael | 99639632dd | |
Hypolite Petovan | 91bb323a16 | |
Michael | 852ddb8acc | |
Hypolite Petovan | 9732ad543b | |
Michael | 37cdd74d73 | |
Hypolite Petovan | c1830d8fd1 | |
Michael | 7dc1b44d1e | |
Hypolite Petovan | 3f2cc73936 | |
Hypolite Petovan | 94129d3aa5 | |
Tobias Diekershoff | 5ea5930d82 | |
Hypolite Petovan | efdc4fa3c0 | |
Michael | 888dec1593 | |
Michael | 82376e4f17 | |
Hypolite Petovan | 2805395f77 | |
Michael | f5d1316212 | |
Hypolite Petovan | b46e8ec4b2 | |
Michael | 878538c151 | |
Michael | a959a90582 | |
Michael | c8b6e7661b | |
Michael | 9183371062 | |
Michael | 8641c30530 | |
Michael | 388f6e94f0 | |
Friendica Project | 2dd57a2f40 | |
Philipp | 92c3d0cf6c | |
Philipp | c5d402ad62 | |
Philipp | ecdd62eb3c | |
Philipp | 4a57f968f8 | |
Philipp Holzer | 30af3b93ed | |
Hypolite Petovan | 6a5103964f | |
Hypolite Petovan | 6b3dc35f35 | |
Philipp | 648fadedd3 | |
Hypolite Petovan | 75df306424 | |
Tobias Diekershoff | ace982f5e6 | |
Hypolite Petovan | b7614c9164 | |
Michael Vogel | 85275d4473 | |
Michael | 17df97fccd | |
Michael Vogel | 49e5234872 | |
Hypolite Petovan | 39c654da00 | |
Michael Vogel | b53914ee11 | |
Hypolite Petovan | ad04f1b631 | |
Hypolite Petovan | 2724d6f5d9 | |
Michael | d116d79182 | |
Michael Vogel | 9763635e5b | |
Hypolite Petovan | 5a9b63ff3b | |
Hypolite Petovan | 2cc326ccf5 | |
Hypolite Petovan | a41ebccba8 | |
Michael | d06ced7272 | |
Hypolite Petovan | cf29d2d495 | |
Matthew Exon | 4352a358a7 | |
Hypolite Petovan | 7827be89c8 | |
Philipp | 818d21ba57 | |
Philipp | ab5aea8328 | |
Hypolite Petovan | 5e2ebd13b9 | |
Hypolite Petovan | 76233e7646 | |
Philipp | be80e77e93 | |
Philipp | 005f9af69b | |
Philipp | 14dfd24d11 | |
Hypolite Petovan | c7c8934e2c | |
Hypolite Petovan | 5af972bb22 | |
Philipp | 73189581b0 | |
Hypolite Petovan | 84fd663a56 | |
Michael | 35e431c5a4 | |
Michael | 4988d9c49a | |
Michael | d0c44aeaaf | |
Hypolite Petovan | f922d69310 | |
Grischa Brockhaus | f8295635c1 | |
Hypolite Petovan | 4cdd24c871 | |
Tobias Diekershoff | 0f273b89ff | |
Tobias Diekershoff | 71d9a42688 | |
Tobias Diekershoff | b64639dc4c | |
Tobias Diekershoff | 361e5407cf | |
Tobias Diekershoff | 0b0d555c69 | |
Tobias Diekershoff | 239003fa6c | |
Hypolite Petovan | b52c4fc04f | |
Hypolite Petovan | cd620d2134 | |
Grischa Brockhaus | 98dd4b537c | |
Hypolite Petovan | 784bdf82e2 | |
Andy H3 | 348f9d5601 | |
Gitea | b6a384ce0b | |
Hypolite Petovan | 5953c2835f | |
Gitea | 802c5ca87f | |
Hypolite Petovan | 12bd211516 | |
Gitea | 8878d7c9d4 | |
Andy H3 | 139e4384b1 | |
Andy H3 | f9661af3f7 | |
Andy H3 | 6d3602f9c6 | |
Michael Vogel | a2dde9cd24 | |
Hypolite Petovan | cab20de6d1 | |
Michael Vogel | e553b6cc9b | |
Hypolite Petovan | b1442ebfd1 | |
Michael | 9524632cdc | |
Michael | 5da3cf67ce | |
Hypolite Petovan | 31cecfead3 | |
Tobias Diekershoff | a38b07fa34 | |
Hypolite Petovan | d1d3c73d25 | |
Grischa Brockhaus | c6d09e5270 | |
Grischa Brockhaus | 4e7da2799c | |
Michael Vogel | 07a11f6920 | |
Hypolite Petovan | e4487c4876 | |
Hypolite Petovan | d45004f44d | |
Marek Bachmann | efb98c8457 | |
Marek Bachmann | 119a5ca8d8 | |
Michael Vogel | 1c5787946f | |
Hypolite Petovan | 2e4e7befe5 | |
Hypolite Petovan | 666d559e72 | |
Philipp | 3b7d4ce600 | |
Philipp | 25bcbabb58 | |
Tobias Diekershoff | 8f59b8b951 | |
Hypolite Petovan | 6a2aa4c4a4 | |
Philipp | 18783e11c7 | |
Philipp | 2f0671ee6e | |
Philipp | 6fb41f9429 | |
Philipp | 7b58c02b1a | |
Hypolite Petovan | 7d252afddb | |
Grischa Brockhaus | b0d13ab09c | |
Grischa Brockhaus | d584196215 | |
Grischa Brockhaus | 537ee2e656 | |
Grischa Brockhaus | 1a5b19ff69 | |
Grischa Brockhaus | ae28f6ef01 | |
Hypolite Petovan | f0baf18339 | |
Hypolite Petovan | c18e0dc66a | |
Hypolite Petovan | 30329df0dd | |
Michael | 008eeeea4e | |
Michael | 7338b5de59 | |
Philipp | e213bb2216 | |
Hypolite Petovan | 2fc7356cf4 | |
Hypolite Petovan | 46d4d0b51e | |
Hypolite Petovan | 5b25b03ea3 | |
Ryan Voots | a09dd57391 | |
Ryan Voots | 5e51a3f0ad | |
Philipp | 6b32686443 | |
Hypolite Petovan | f4130a9724 | |
Tobias Diekershoff | e8daa6b97d | |
Tobias Diekershoff | 174fae82ac | |
Hypolite Petovan | fada358607 | |
Hypolite Petovan | ba6f6f11c5 | |
Hypolite Petovan | 91accba3b9 | |
Hypolite Petovan | a5768ce402 | |
Tobias Diekershoff | 53b1c9208a | |
Hypolite Petovan | f840431d41 | |
Michael | fc3222cd2d | |
Hypolite Petovan | e800cf20cb | |
Michael | f71b2bda38 | |
Hypolite Petovan | 18e7d5bfea | |
Michael | 50eef93272 | |
Hypolite Petovan | e0ad3e0fc7 | |
Philipp | 38ec8b3e3b | |
Philipp | 9cee85c4d6 | |
Hypolite Petovan | 72679891af | |
Paul Saunders | b9207f7e48 | |
Hypolite Petovan | db3a36bd02 | |
Michael | 623b6ceecc | |
Michael Vogel | f2ff1053b0 | |
Hypolite Petovan | 2643259a93 | |
Hypolite Petovan | ecb9871f92 | |
Hypolite Petovan | ddf87440b2 | |
Hypolite Petovan | 38977588b4 | |
Hypolite Petovan | b84d05b602 | |
Michael | 2de97487f3 | |
Philipp | 9f3cbad14f | |
Hypolite Petovan | 7522a8eb9a | |
Hypolite Petovan | cf37ad5914 | |
Philipp | 9a6a092518 | |
Hypolite Petovan | ec060745e9 | |
Hypolite Petovan | 99e33145db | |
Philipp | 97fcee53c0 | |
Philipp | 6d2b7459b5 | |
Hypolite Petovan | 05fed0bd6f | |
Philipp | 94b4ad6279 | |
Philipp | b0eb28143a | |
Hypolite Petovan | 8eca74cfab | |
Hypolite Petovan | 0f6ea75bb7 | |
Michael | 5d8129600d | |
Hypolite Petovan | 5f1028a535 | |
Philipp | 1eb1b10348 | |
Hypolite Petovan | 7c3f602d12 | |
Roland Häder | 346ad9a3e2 | |
Hypolite Petovan | d267e7f0b7 | |
Michael Vogel | 47d54e82df | |
Michael | b3195504f1 | |
Hypolite Petovan | 285079c12b | |
Philipp | e93260593a | |
Hypolite Petovan | 432d9097d2 | |
Michael | 592374b795 | |
Philipp | 2e854ee108 | |
Philipp | 101a22c0cd | |
Hypolite Petovan | bca0943e19 | |
Michael | 897dbb30cf | |
Philipp | 6c8a9bd461 | |
Tobias Diekershoff | 57e9404729 | |
Michael | e5842e83c7 | |
Michael Vogel | de345228b5 | |
Tobias Diekershoff | 26c6d501e0 | |
Hypolite Petovan | 8d2ddd8985 | |
Tobias Diekershoff | ce1a787bfb | |
Matthew Exon | d75f4b30f3 | |
Tobias Diekershoff | 5648924852 | |
Hypolite Petovan | 408a62a9a1 | |
Michael | 476de2a95d | |
Hypolite Petovan | 046b1418f2 | |
Michael | 6f971a0f63 | |
Philipp | 94a774a7d2 | |
Michael | 86e24c747e | |
Philipp | 9e0bc31d42 | |
Tobias Diekershoff | 4487b2a923 | |
Tobias Diekershoff | 0ff332bd11 | |
Tobias Diekershoff | 0ecb576ff9 | |
Philipp | 88d40bc34a | |
Hypolite Petovan | e70b3abaa9 | |
Hypolite Petovan | 1e8098bbab | |
Hypolite Petovan | a8b8c4cde4 | |
Philipp | 795eb1bb36 | |
Hypolite Petovan | f43ae1c480 | |
Roland Häder | 6bf18b47a8 | |
Tobias Diekershoff | 024ccb117f | |
Philipp | 5f6f432a80 | |
Hypolite Petovan | a6db7dfa8b | |
Roland Häder | a3e1a43f79 | |
Tobias Diekershoff | 5d5c367d7d | |
Philipp | 3b01cb035e | |
Hypolite Petovan | f813183fcf | |
Hypolite Petovan | 347792bf74 | |
Hypolite Petovan | 6822079a03 | |
Tobias Diekershoff | ed1de0cd18 | |
Hypolite Petovan | aa16591b9f | |
Tobias Diekershoff | 4c58a99e4f | |
Hypolite Petovan | ff0c7ac104 | |
Hypolite Petovan | fe4982d51b | |
Roland Häder | 2fc719f720 | |
Roland Häder | 06b15a6ed0 | |
Tobias Diekershoff | c0c15644a3 | |
Hypolite Petovan | 90dec95b6e | |
Tobias Diekershoff | de4c972501 | |
Philipp | ed3184fd0b | |
Philipp | df8cc5d6c3 | |
Hypolite Petovan | 88739fcb70 | |
Hypolite Petovan | 3c5d0dc0cd | |
Roland Häder | 02d4a560a1 | |
Roland Häder | 3ab46781b1 | |
Roland Häder | e895b55f6d | |
Roland Häder | 6c84c9dfc9 | |
Roland Häder | 52d971ceab | |
Roland Häder | def2389b57 | |
Roland Häder | 93267b5b83 | |
Roland Häder | 43c0e689f9 | |
Roland Häder | 4239112dec | |
Roland Häder | 37f3f0e621 | |
Roland Häder | af994b4818 | |
Roland Häder | a2760cb1d1 | |
Roland Häder | 04df7f6e05 | |
Roland Häder | a1e17968d1 | |
Roland Häder | 0ecd772958 | |
Roland Häder | 3bda8dfa32 | |
Roland Häder | 28cdecea93 | |
Roland Häder | be9d786ef9 | |
Roland Häder | b9f330fa18 | |
Hypolite Petovan | 4603ca00e6 | |
Roland Häder | f7ba4848bc | |
Roland Häder | 7d171c9787 | |
Roland Häder | 07307823ca | |
Roland Häder | 04466968dc | |
Roland Häder | d39717a2d5 | |
Roland Häder | b1b26062fc | |
Hypolite Petovan | 4e825fe621 | |
loma-one | bb913f81a3 | |
loma-one | b4aae7fab3 | |
loma-one | 631ad78efc | |
Hypolite Petovan | 62a49c3c63 | |
loma-one | dc5e218526 | |
loma-one | ab71c7b80b | |
loma-one | 6b17e94b86 | |
loma-one | 6ba6f78c3e | |
Hypolite Petovan | 5d7dbe354a | |
Tobias Diekershoff | 716efd23fe | |
Tobias Diekershoff | b6342eca0a | |
Tobias Diekershoff | 85220c4bf6 | |
Tobias Diekershoff | b00459d077 | |
Tobias Diekershoff | 990312fafb | |
Tobias Diekershoff | 07df35bad4 | |
ImgBotApp | 1f0372c4b5 | |
Hypolite Petovan | 612272ef80 | |
Tobias Diekershoff | bea8d103bf | |
Hypolite Petovan | 7bb3595d46 | |
loma-one | 14baddba32 | |
loma-one | 8d84f2a557 | |
loma-one | 357c7e7597 | |
Michael Vogel | 8089989083 | |
Tobias Diekershoff | 6d3c4e51ac | |
Tobias Diekershoff | ecc841b5f7 | |
Tobias Diekershoff | 682ce12ac2 | |
Tobias Diekershoff | 169081d503 | |
Michael | c71e29a772 | |
Philipp | 07300cb9c9 | |
Tobias Diekershoff | 58d40a1d81 | |
Tobias Diekershoff | c5d19154f2 | |
Tobias Diekershoff | d304873049 | |
Hypolite Petovan | ffe62a2577 | |
Tobias Diekershoff | 19ae3851e8 | |
Tobias Diekershoff | 348ca80292 | |
Tobias Diekershoff | 91f5ba9eab | |
Michael Vogel | 640cc4c717 | |
Tobias Diekershoff | 886c56e4b7 | |
Tobias Diekershoff | 53a806af87 | |
Tobias Diekershoff | d0dfb04585 | |
Tobias Diekershoff | 96637b30a4 | |
Tobias Diekershoff | ab2eaf136e | |
Tobias Diekershoff | 6481b384ee | |
Hypolite Petovan | efd654d08e | |
Tobias Diekershoff | 1a8925b0aa | |
Tobias Diekershoff | bb1ca9ee92 | |
Tobias Diekershoff | 4eec2841f4 | |
Tobias Diekershoff | 3ce438f4d6 | |
Hypolite Petovan | 444330d91f | |
Hypolite Petovan | 3455871f40 | |
Michael Vogel | 99a3ddfefa | |
Tobias Diekershoff | ffb8e897cf | |
Michael Vogel | 5e8fc51b94 | |
Tobias Diekershoff | 931be19eca | |
Michael Vogel | 798f163a9a | |
Tobias Diekershoff | d584f0e729 | |
Hypolite Petovan | 2fd8b75598 | |
atjn | f1933d2f89 | |
Hypolite Petovan | 5101253aa0 | |
Philipp | bfc4542881 | |
Philipp | 46221882c3 | |
Philipp | 707e03635b | |
Philipp | 82f8c14633 | |
Michael Vogel | aed0b53925 | |
Tobias Diekershoff | 08b984029a | |
Hypolite Petovan | ea16a541db | |
Tobias Diekershoff | e3932e4575 | |
Tobias Diekershoff | 13298d507d | |
Hypolite Petovan | 006102bf38 | |
Tobias Diekershoff | 34c7094790 | |
Hypolite Petovan | 14124f49e7 | |
Tobias Diekershoff | 4778cc4be7 | |
Hypolite Petovan | 2387e7d11b | |
Tobias Diekershoff | ed96e0a2f6 | |
Philipp | ba94368482 | |
Philipp | c35a6d5834 | |
Hypolite Petovan | 3317ce2324 | |
Philipp | 3425cd3d47 | |
Philipp | 993685f2a5 | |
Philipp | 3f800389dc | |
Philipp | 52edb1711a | |
Philipp | 9c4b12f868 | |
Hypolite Petovan | 95fcf98759 | |
Philipp | 25e95fa2da | |
Michael Vogel | 7be6eb5d00 | |
Hypolite Petovan | d886aac0e3 | |
Tobias Diekershoff | d07a9185be | |
Philipp | 6914b94454 | |
Philipp | 444bdfe619 | |
Philipp | 7e1d18f8a3 | |
Hypolite Petovan | dd6bf79e19 | |
Michael | fd2fb29568 | |
Michael | a1a3322968 | |
Hypolite Petovan | f9ff50b2cb | |
Michael | d527848dfc | |
Michael | 00ac39e941 | |
Philipp | de91e04678 | |
Tobias Diekershoff | 1e60ac18cf | |
Tobias Diekershoff | 484482a4ce | |
Tobias Diekershoff | 631b456755 | |
Tobias Diekershoff | 5a236d72b6 | |
Hypolite Petovan | b6d03e10b6 | |
Tobias Diekershoff | 2e16db590a | |
Hypolite Petovan | 34437e368f | |
Philipp | 5c2071a72b | |
Hypolite Petovan | e46bff23d5 | |
Hypolite Petovan | 5df88741f2 | |
Hypolite Petovan | 1a721b976d | |
Gidi Kroon | 327bfcb2b5 | |
Philipp | d1bac4f620 | |
Tobias Diekershoff | 1b87105bb8 | |
Philipp | 61c614c4da | |
Philipp | 05f7e4264c | |
Hypolite Petovan | ff763795a3 | |
Philipp | dab21d0ba5 | |
Hypolite Petovan | 59f517fbfe | |
Tobias Diekershoff | 4abb880f57 | |
Hypolite Petovan | e478bdf508 | |
Tobias Diekershoff | 9a3ca26fa9 | |
Philipp | 32a7560595 | |
Michael Vogel | a156cb2714 | |
Michael | 767d76682b | |
Michael | 57db23c641 | |
Tobias Diekershoff | 8b5c8d78a4 | |
Philipp | d672029da0 | |
Michael | 2077941432 | |
Michael Vogel | 2413c74b72 | |
Michael | ce42fc43ce | |
Hypolite Petovan | 8495420eb7 | |
Michael | eb967c5433 | |
Michael | 9f69e05069 | |
Michael Vogel | 4b97fa0e5e | |
Hypolite Petovan | adcdf447ce | |
Tobias Diekershoff | dfdc47879a | |
Hypolite Petovan | fd29c1a074 | |
Michael Vogel | 0de0faa44f | |
Tobias Diekershoff | f039a07ff9 | |
Michael Vogel | d8c393b57a | |
Hypolite Petovan | 3104d176e7 | |
Hypolite Petovan | 9acfdb4090 | |
Hypolite Petovan | 779b38ec09 | |
Hypolite Petovan | f0522a998b | |
Hypolite Petovan | 5c0b20b21f | |
Hypolite Petovan | dad7f75fd7 | |
Philipp | 9e6f5c1339 | |
Tobias Diekershoff | f5ea9f14e2 | |
Tobias Diekershoff | c76eb06020 | |
Philipp | 13ce3aa0a4 | |
Philipp | 82cef20e60 | |
Hypolite Petovan | 4d7c1e795d | |
Hypolite Petovan | 1114692cb0 | |
fabrixxm | f42fd689d9 | |
fabrixxm | c307cc147b | |
fabrixxm | 20bbee0d99 | |
Hypolite Petovan | f90b9c6c86 | |
Hypolite Petovan | 86a204af7d | |
Hypolite Petovan | 93e5d97fdd | |
Hypolite Petovan | 2f2b75ba50 | |
Michael Vogel | a309d2bf1b | |
Hypolite Petovan | 0c7fd9a34d | |
Hypolite Petovan | fd3bc71f82 | |
Tobias Diekershoff | d189c83495 | |
Tobias Diekershoff | 365c09619c | |
Michael Vogel | fb77e3c5ea | |
Hypolite Petovan | 2bae6a41c3 | |
Michael Vogel | ef71f4681e | |
Michael Vogel | 4f93db9d57 | |
Steffen K9 | c57c1de3d4 | |
Steffen K9 | fde6d795cd | |
Hypolite Petovan | 2ac5662ab2 | |
Michael | 25b267c6da | |
Philipp | a6d6edf322 | |
Michael Vogel | 8fea67dade | |
Michael | cff3dd67b0 | |
Hypolite Petovan | 6a7f36ba89 | |
Michael | 6a349e7fd9 | |
Michael Vogel | 95622a0f0d | |
Tobias Diekershoff | d22ac5d137 | |
Tobias Diekershoff | 1bc3e6ac46 | |
Tobias Diekershoff | 6f52ecd025 | |
Tobias Diekershoff | 8bce920963 | |
Tobias Diekershoff | 514f5b80e0 | |
Tobias Diekershoff | 5ab61cd441 | |
Tobias Diekershoff | 4aeb9d94e2 | |
Tobias Diekershoff | 7296d2428d | |
Tobias Diekershoff | b48539d7d6 | |
Tobias Diekershoff | 6a73d3e4b9 | |
Tobias Diekershoff | ff7792952b | |
Tobias Diekershoff | 9eb4ab297d | |
Tobias Diekershoff | f75b61d543 | |
Tobias Diekershoff | 25bcb62f67 | |
Tobias Diekershoff | c67ed6e918 | |
Hypolite Petovan | 0bef8af9e3 | |
Philipp | 6f4e9a14e3 | |
Philipp | fe296e5a73 | |
Philipp | 6bc61d5ef7 | |
Hypolite Petovan | ab32dd53bb | |
Philipp | 5184ca0fc2 | |
Hypolite Petovan | 0d3a35dbe9 | |
Philipp | 6e27f08021 | |
Tobias Diekershoff | 28abb42fec | |
Tobias Diekershoff | 38344b2234 | |
Tobias Diekershoff | 2335face75 | |
Philipp | 63fca0af29 | |
Philipp | ae86b2e806 | |
Philipp | 2d3c2b4ee9 | |
Tobias Diekershoff | abf06edc90 | |
Michael | 0bf6612ea3 | |
Hypolite Petovan | fd078ee0e2 | |
Michael | 6b0172d093 | |
Hypolite Petovan | e63881bf5b | |
Tobias Diekershoff | 685cc96bc6 | |
Tobias Diekershoff | 6352b25e46 | |
Tobias Diekershoff | d7fe20a1c3 | |
Hypolite Petovan | 54ef923499 | |
Tobias Diekershoff | c22cb063d7 | |
Hypolite Petovan | 43b0b5a0e4 | |
Philipp | 31635cf6c3 | |
Tobias Diekershoff | 809103d5f0 | |
Michael Vogel | 31de85dd82 | |
Tobias Diekershoff | 86de95f77b | |
Michael Vogel | 943187d02f | |
Tobias Diekershoff | 25ba6023d0 | |
Philipp | 55986ad17d | |
Hypolite Petovan | 7cc6f3f4a3 | |
Hypolite Petovan | d37f779908 | |
Hypolite Petovan | 52828b2b45 | |
Philipp | c208a4ec14 | |
Hypolite Petovan | 9e5768a8f7 | |
Hypolite Petovan | 24740d0ba0 | |
Hypolite Petovan | 21efea5b50 | |
Hypolite Petovan | 0cac474b20 | |
Michael | 793eca1f7b | |
Michael | e61a3d02ce | |
Michael | 16d7eafd41 | |
Michael | 24ffee74d7 | |
Hypolite Petovan | 1294b7e5bb | |
Tobias Diekershoff | c4c2536052 | |
Philipp | 853c5b528f | |
Philipp | ed1306caea | |
Michael | e19abd6646 | |
Michael Vogel | 4026d06287 | |
Hypolite Petovan | 23a02dbde7 | |
Philipp | 6b3d22d85d | |
Philipp | 45d849ee76 | |
Philipp | 2038eec6d7 | |
Hypolite Petovan | a5e15acee9 | |
Michael | 0533f9bfdb | |
Michael | cb1b5d3964 | |
Michael Vogel | 4340ebb2a5 | |
Michael Vogel | f9e758e2a8 | |
Michael Vogel | 366fbbd3e1 | |
Michael Vogel | 674249ccfc | |
Michael | deb4f8d9ef | |
Michael | 428c6876f0 | |
Tobias Diekershoff | 107811903c | |
Hypolite Petovan | d9e7bab46f | |
Philipp | 52407530db | |
Philipp | 749ba4315e | |
Philipp | 15d77952ac | |
Michael Vogel | 020a1245fd | |
Hypolite Petovan | 8de6454c8c | |
Hypolite Petovan | dc04c0cfc4 | |
Hypolite Petovan | aec6e2f97e | |
Tobias Diekershoff | 8579bde2b6 | |
Hypolite Petovan | 678878289f | |
Hypolite Petovan | 7a1d3302d0 | |
Michael Vogel | 40946a4c08 | |
Hypolite Petovan | 31dd9f8e22 | |
Hypolite Petovan | eb810831a5 | |
Tobias Diekershoff | 58a1cd4395 | |
Tobias Diekershoff | 9e219efd46 | |
Hypolite Petovan | 7d72aeb2c4 | |
Tobias Diekershoff | 8c5125c3f1 | |
Tobias Diekershoff | 1ec669ce9a | |
Tobias Diekershoff | d893ea016d | |
Tobias Diekershoff | 5199a88708 | |
Hypolite Petovan | 9682cc7dda | |
Michael Vogel | eed987f9e1 | |
Michael | 8ed6469fb9 | |
Philipp | 569e3f4831 | |
Hypolite Petovan | 250dafd2b6 | |
Hypolite Petovan | b732cf8968 | |
Hypolite Petovan | 5769d99478 | |
Michael Vogel | 30445b3c85 | |
Philipp | b6eccfb8a4 | |
Michael Vogel | a1c91dbd27 | |
Philipp | f9455b42c7 | |
Michael Vogel | c7771ac8c3 | |
Philipp | be56834e3e | |
Hypolite Petovan | dead293465 | |
Tobias Diekershoff | ce91f967de | |
Tobias Diekershoff | b97d856379 | |
Hypolite Petovan | 28e70485c5 | |
Philipp | f0eba1a305 | |
Hypolite Petovan | b30f7d3055 | |
Philipp | 97afccad32 | |
Hypolite Petovan | 0d8b3cea83 | |
Philipp | 322186d82d | |
Philipp | d65d42cff2 | |
Philipp | 3b9fc39241 | |
Philipp | 07b3dd20ab | |
Philipp | 0ef95fdb75 | |
Philipp | 6164c8416c | |
Philipp | f51828c996 | |
Philipp | 5bba4bee00 | |
Philipp | 826fa88843 | |
Philipp | 3bb47c5845 | |
Philipp | c2cd12bc65 | |
Hypolite Petovan | 3d7a4c9326 | |
Philipp | c06fff6921 | |
Philipp | b3014ebf06 | |
Hypolite Petovan | 9b5745b75b | |
Philipp | adada10eb6 | |
Philipp | 9c266e59cf | |
Philipp | e3980a6d87 | |
Hypolite Petovan | db998b0bf1 | |
Philipp | 7662d1ef1c | |
Michael Vogel | 63d6c3f40f | |
Hypolite Petovan | 083c13b031 | |
Tobias Diekershoff | a843e96c1f | |
Tobias Diekershoff | 81fce72efe | |
Tobias Diekershoff | b78c8a30f6 | |
Tobias Diekershoff | da159e9d2c | |
Hypolite Petovan | 3ddab77d55 | |
Hypolite Petovan | 217643f67d | |
Hypolite Petovan | b141416b51 | |
Hypolite Petovan | d26a1db790 | |
Tobias Diekershoff | ab4f909443 | |
Tobias Diekershoff | 152f780b50 | |
Michael Vogel | 1544fed2b9 | |
Tobias Diekershoff | 641b23e8d9 | |
Tobias Diekershoff | 2420919c63 | |
Hypolite Petovan | fe0d81e863 | |
Michael | 9a107801a8 | |
Hypolite Petovan | b74288fa96 | |
Michael | 752602f5f5 | |
Michael | 08c64387d7 | |
Hypolite Petovan | f1e7aa16b8 | |
Tobias Diekershoff | 4bd8071988 | |
Tobias Diekershoff | 4eccb9b2a9 | |
Michael | 9cf43bb85b | |
Hypolite Petovan | 17f9a76ac5 | |
Michael | 9ad7500146 | |
Michael | e823a1bd05 | |
Michael | 20bf1c4f24 | |
Michael Vogel | 2d4ecd5ccf | |
Tobias Diekershoff | e6b880d206 | |
Hypolite Petovan | e7aa68aba6 | |
Michael | df257362c4 | |
Hypolite Petovan | 2cc453ca52 | |
Michael | d902f6808d | |
Michael | cc8aeb11de | |
Michael | f878d2e463 | |
Tobias Diekershoff | 42454b3cf7 | |
Michael | dfd710b59d | |
Tobias Diekershoff | 4ff458ecf2 | |
Michael Vogel | dc81a5cf5f | |
Hypolite Petovan | 74ea687c2e | |
Michael | ee2a97fa5c | |
Hypolite Petovan | 57be32257b | |
Michael | 9eaa6a2c08 | |
hoergen | c1f07c54f2 |
71
.drone.yml
71
.drone.yml
|
@ -1,71 +0,0 @@
|
|||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: Check messages.po
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- pull_request
|
||||
|
||||
steps:
|
||||
- name: clone friendica base
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $DRONE_COMMIT_BRANCH
|
||||
- name: clone friendica addon
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone $DRONE_REPO_LINK addon
|
||||
- cd addon/
|
||||
- git checkout $DRONE_COMMIT_BRANCH
|
||||
- git fetch origin $DRONE_COMMIT_REF
|
||||
- git merge $DRONE_COMMIT_SHA
|
||||
- name: Run Xgettext for addons
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /xgettext-addon.sh
|
||||
- name: Check update necessary
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /check-addons.sh
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: php-cs check
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- pull_request
|
||||
|
||||
steps:
|
||||
- name: Clone friendica base
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $DRONE_COMMIT_BRANCH
|
||||
- name: Clone friendica addon
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone $DRONE_REPO_LINK addon
|
||||
- cd addon/
|
||||
- git checkout $DRONE_COMMIT_BRANCH
|
||||
- git fetch origin $DRONE_COMMIT_REF
|
||||
- git merge $DRONE_COMMIT_SHA
|
||||
- name: Install dependencies
|
||||
image: composer
|
||||
commands:
|
||||
- ./bin/composer.phar run cs:install
|
||||
- name: Run coding standards check
|
||||
image: friendicaci/php-cs
|
||||
commands:
|
||||
- cd addon/
|
||||
- export CHANGED_FILES="$(git diff --name-status ${DRONE_COMMIT_BEFORE}..${DRONE_COMMIT_AFTER} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")"
|
||||
- cd ../
|
||||
- /check-php-cs.sh
|
|
@ -6,5 +6,27 @@ root = true
|
|||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespaces = true
|
||||
indent_style = tab
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
quote_type = single
|
||||
max_line_length = off
|
||||
|
||||
[*.js]
|
||||
quote_type = double
|
||||
ij_javascript_use_double_quotes = true
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.xml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[composer.json]
|
||||
indent_size = 4
|
||||
|
|
134
.tx/config
134
.tx/config
|
@ -1,397 +1,397 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
host = https://api.transifex.com
|
||||
|
||||
[friendica.addon_advancedcontentfilter_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_advancedcontentfilter_messagespo]
|
||||
file_filter = advancedcontentfilter/lang/<lang>/messages.po
|
||||
source_file = advancedcontentfilter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_blackout_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_blackout_messagespo]
|
||||
file_filter = blackout/lang/<lang>/messages.po
|
||||
source_file = blackout/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_blockem_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_blockem_messagespo]
|
||||
file_filter = blockem/lang/<lang>/messages.po
|
||||
source_file = blockem/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_blogger_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_blogger_messagespo]
|
||||
file_filter = blogger/lang/<lang>/messages.po
|
||||
source_file = blogger/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_buffer_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_buffer_messagespo]
|
||||
file_filter = buffer/lang/<lang>/messages.po
|
||||
source_file = buffer/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_buglink_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_buglink_messagespo]
|
||||
file_filter = buglink/lang/<lang>/messages.po
|
||||
source_file = buglink/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_catavatar_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_catavatar_messagespo]
|
||||
file_filter = catavatar/lang/<lang>/messages.po
|
||||
source_file = catavatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_cookienotice_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_cookienotice_messagespo]
|
||||
file_filter = cookienotice/lang/<lang>/messages.po
|
||||
source_file = cookienotice/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_curweather_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_curweather_messagespo]
|
||||
file_filter = curweather/lang/<lang>/messages.po
|
||||
source_file = curweather/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_diaspora_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_diaspora_messagespo]
|
||||
file_filter = diaspora/lang/<lang>/messages.po
|
||||
source_file = diaspora/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_dwpost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_dwpost_messagespo]
|
||||
file_filter = dwpost/lang/<lang>/messages.po
|
||||
source_file = dwpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_forumdirectory_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_forumdirectory_messagespo]
|
||||
file_filter = forumdirectory/lang/<lang>/messages.po
|
||||
source_file = forumdirectory/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_fromapp_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_fromapp_messagespo]
|
||||
file_filter = fromapp/lang/<lang>/messages.po
|
||||
source_file = fromapp/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_fromgplus_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_fromgplus_messagespo]
|
||||
file_filter = fromgplus/lang/<lang>/messages.po
|
||||
source_file = fromgplus/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_geonames_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_geonames_messagespo]
|
||||
file_filter = geonames/lang/<lang>/messages.po
|
||||
source_file = geonames/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_gnot_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_gnot_messagespo]
|
||||
file_filter = gnot/lang/<lang>/messages.po
|
||||
source_file = gnot/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_gravatar_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_gravatar_messagespo]
|
||||
file_filter = gravatar/lang/<lang>/messages.po
|
||||
source_file = gravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_group_text_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_group_text_messagespo]
|
||||
file_filter = group_text/lang/<lang>/messages.po
|
||||
source_file = group_text/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_ifttt_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_ifttt_messagespo]
|
||||
file_filter = ifttt/lang/<lang>/messages.po
|
||||
source_file = ifttt/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_ijpost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_ijpost_messagespo]
|
||||
file_filter = ijpost/lang/<lang>/messages.po
|
||||
source_file = ijpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_impressum_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_impressum_messagespo]
|
||||
file_filter = impressum/lang/<lang>/messages.po
|
||||
source_file = impressum/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_infiniteimprobabilitydrive_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_infiniteimprobabilitydrive_messagespo]
|
||||
file_filter = infiniteimprobabilitydrive/lang/<lang>/messages.po
|
||||
source_file = infiniteimprobabilitydrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_irc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_irc_messagespo]
|
||||
file_filter = irc/lang/<lang>/messages.po
|
||||
source_file = irc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_jappixmini_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_jappixmini_messagespo]
|
||||
file_filter = jappixmini/lang/<lang>/messages.po
|
||||
source_file = jappixmini/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_js_upload_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_js_upload_messagespo]
|
||||
file_filter = js_upload/lang/<lang>/messages.po
|
||||
source_file = js_upload/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_krynn_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_krynn_messagespo]
|
||||
file_filter = krynn/lang/<lang>/messages.po
|
||||
source_file = krynn/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_langfilter_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_langfilter_messagespo]
|
||||
file_filter = langfilter/lang/<lang>/messages.po
|
||||
source_file = langfilter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_libertree_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_libertree_messagespo]
|
||||
file_filter = libertree/lang/<lang>/messages.po
|
||||
source_file = libertree/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_libravatar_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_libravatar_messagespo]
|
||||
file_filter = libravatar/lang/<lang>/messages.po
|
||||
source_file = libravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_ljpost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_ljpost_messagespo]
|
||||
file_filter = ljpost/lang/<lang>/messages.po
|
||||
source_file = ljpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_mailstream_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_mailstream_messagespo]
|
||||
file_filter = mailstream/lang/<lang>/messages.po
|
||||
source_file = mailstream/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_mathjax_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_mathjax_messagespo]
|
||||
file_filter = mathjax/lang/<lang>/messages.po
|
||||
source_file = mathjax/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_membersince_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_membersince_messagespo]
|
||||
file_filter = membersince/lang/<lang>/messages.po
|
||||
source_file = membersince/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_morechoice_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_morechoice_messagespo]
|
||||
file_filter = morechoice/lang/<lang>/messages.po
|
||||
source_file = morechoice/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_morepokes_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_morepokes_messagespo]
|
||||
file_filter = morepokes/lang/<lang>/messages.po
|
||||
source_file = morepokes/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_newmemberwidget_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_newmemberwidget_messagespo]
|
||||
file_filter = newmemberwidget/lang/<lang>/messages.po
|
||||
source_file = newmemberwidget/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_notifyall_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_notifyall_messagespo]
|
||||
file_filter = notifyall/lang/<lang>/messages.po
|
||||
source_file = notifyall/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_notimeline_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_notimeline_messagespo]
|
||||
file_filter = notimeline/lang/<lang>/messages.po
|
||||
source_file = notimeline/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_nsfw_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_nsfw_messagespo]
|
||||
file_filter = nsfw/lang/<lang>/messages.po
|
||||
source_file = nsfw/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_numfriends_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_numfriends_messagespo]
|
||||
file_filter = numfriends/lang/<lang>/messages.po
|
||||
source_file = numfriends/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_openstreetmap_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_openstreetmap_messagespo]
|
||||
file_filter = openstreetmap/lang/<lang>/messages.po
|
||||
source_file = openstreetmap/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_pageheader_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_pageheader_messagespo]
|
||||
file_filter = pageheader/lang/<lang>/messages.po
|
||||
source_file = pageheader/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_piwik_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_piwik_messagespo]
|
||||
file_filter = piwik/lang/<lang>/messages.po
|
||||
source_file = piwik/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_planets_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_planets_messagespo]
|
||||
file_filter = planets/lang/<lang>/messages.po
|
||||
source_file = planets/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_public_server_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_public_server_messagespo]
|
||||
file_filter = public_server/lang/<lang>/messages.po
|
||||
source_file = public_server/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_pumpio_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_pumpio_messagespo]
|
||||
file_filter = pumpio/lang/<lang>/messages.po
|
||||
source_file = pumpio/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_qcomment_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_qcomment_messagespo]
|
||||
file_filter = qcomment/lang/<lang>/messages.po
|
||||
source_file = qcomment/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_randplace_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_randplace_messagespo]
|
||||
file_filter = randplace/lang/<lang>/messages.po
|
||||
source_file = randplace/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_remote_permissions_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_remote_permissions_messagespo]
|
||||
file_filter = remote_permissions/lang/<lang>/messages.po
|
||||
source_file = remote_permissions/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_rendertime_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_rendertime_messagespo]
|
||||
file_filter = rendertime/lang/<lang>/messages.po
|
||||
source_file = rendertime/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_securemail_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_securemail_messagespo]
|
||||
file_filter = securemail/lang/<lang>/messages.po
|
||||
source_file = securemail/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_showmore_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_showmore_messagespo]
|
||||
file_filter = showmore/lang/<lang>/messages.po
|
||||
source_file = showmore/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_smileybutton_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_smileybutton_messagespo]
|
||||
file_filter = smileybutton/lang/<lang>/messages.po
|
||||
source_file = smileybutton/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_startpage_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_startpage_messagespo]
|
||||
file_filter = startpage/lang/<lang>/messages.po
|
||||
source_file = startpage/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_statusnet_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_statusnet_messagespo]
|
||||
file_filter = statusnet/lang/<lang>/messages.po
|
||||
source_file = statusnet/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_superblock_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_superblock_messagespo]
|
||||
file_filter = superblock/lang/<lang>/messages.po
|
||||
source_file = superblock/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_testdrive_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_testdrive_messagespo]
|
||||
file_filter = testdrive/lang/<lang>/messages.po
|
||||
source_file = testdrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_tictac_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_tictac_messagespo]
|
||||
file_filter = tictac/lang/<lang>/messages.po
|
||||
source_file = tictac/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_tumblr_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_tumblr_messagespo]
|
||||
file_filter = tumblr/lang/<lang>/messages.po
|
||||
source_file = tumblr/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_twitter_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_twitter_messagespo]
|
||||
file_filter = twitter/lang/<lang>/messages.po
|
||||
source_file = twitter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_viewsrc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_viewsrc_messagespo]
|
||||
file_filter = viewsrc/lang/<lang>/messages.po
|
||||
source_file = viewsrc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_webrtc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_webrtc_messagespo]
|
||||
file_filter = webrtc/lang/<lang>/messages.po
|
||||
source_file = webrtc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_widgets_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_widgets_messagespo]
|
||||
file_filter = widgets/lang/<lang>/messages.po
|
||||
source_file = widgets/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_windowsphonepush_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_windowsphonepush_messagespo]
|
||||
file_filter = windowsphonepush/lang/<lang>/messages.po
|
||||
source_file = windowsphonepush/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_wppost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_wppost_messagespo]
|
||||
file_filter = wppost/lang/<lang>/messages.po
|
||||
source_file = wppost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[friendica.addon_xmpp_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_xmpp_messagespo]
|
||||
file_filter = xmpp/lang/<lang>/messages.po
|
||||
source_file = xmpp/lang/C/messages.po
|
||||
source_lang = en
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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 ]
|
|
@ -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
|
|
@ -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
|
File diff suppressed because one or more lines are too long
|
@ -45,6 +45,7 @@ use Friendica\DI;
|
|||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\Tag;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
@ -54,7 +55,7 @@ use Symfony\Component\ExpressionLanguage;
|
|||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
function advancedcontentfilter_install(App $a)
|
||||
function advancedcontentfilter_install()
|
||||
{
|
||||
Hook::register('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
|
||||
|
@ -63,33 +64,37 @@ function advancedcontentfilter_install(App $a)
|
|||
Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
DBStructure::performUpdate();
|
||||
|
||||
Logger::log("installed advancedcontentfilter");
|
||||
Logger::notice('installed advancedcontentfilter');
|
||||
}
|
||||
|
||||
/*
|
||||
* Hooks
|
||||
*/
|
||||
|
||||
function advancedcontentfilter_dbstructure_definition(App $a, &$database)
|
||||
function advancedcontentfilter_dbstructure_definition(&$database)
|
||||
{
|
||||
$database["advancedcontentfilter_rules"] = [
|
||||
"comment" => "Advancedcontentfilter addon rules",
|
||||
"fields" => [
|
||||
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented rule id"],
|
||||
"uid" => ["type" => "int unsigned", "not null" => "1", "comment" => "Owner user id"],
|
||||
"name" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Rule name"],
|
||||
"expression" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Expression text"],
|
||||
"serialized" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Serialized parsed expression"],
|
||||
"active" => ["type" => "boolean" , "not null" => "1", "default" => "1", "comment" => "Whether the rule is active or not"],
|
||||
"created" => ["type" => "datetime" , "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"],
|
||||
$database['advancedcontentfilter_rules'] = [
|
||||
'comment' => 'Advancedcontentfilter addon rules',
|
||||
'fields' => [
|
||||
'id' => ['type' => 'int unsigned', 'not null' => '1', 'extra' => 'auto_increment', 'primary' => '1', 'comment' => 'Auto incremented rule id'],
|
||||
'uid' => ['type' => 'int unsigned', 'not null' => '1', 'comment' => 'Owner user id'],
|
||||
'name' => ['type' => 'varchar(255)', 'not null' => '1', 'comment' => 'Rule name'],
|
||||
'expression' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Expression text'],
|
||||
'serialized' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Serialized parsed expression'],
|
||||
'active' => ['type' => 'boolean' , 'not null' => '1', 'default' => '1', 'comment' => 'Whether the rule is active or not'],
|
||||
'created' => ['type' => 'datetime' , 'not null' => '1', 'default' => DBA::NULL_DATETIME, 'comment' => 'Creation date'],
|
||||
],
|
||||
"indexes" => [
|
||||
"PRIMARY" => ["id"],
|
||||
"uid_active" => ["uid", "active"],
|
||||
'indexes' => [
|
||||
'PRIMARY' => ['id'],
|
||||
'uid_active' => ['uid', 'active'],
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $item Prepared by either Model\Item::prepareBody or advancedcontentfilter_prepare_item_row
|
||||
* @return array
|
||||
*/
|
||||
function advancedcontentfilter_get_filter_fields(array $item)
|
||||
{
|
||||
$vars = [];
|
||||
|
@ -110,7 +115,7 @@ function advancedcontentfilter_get_filter_fields(array $item)
|
|||
return $vars;
|
||||
}
|
||||
|
||||
function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
|
||||
function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
||||
{
|
||||
static $expressionLanguage;
|
||||
|
||||
|
@ -118,21 +123,21 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
|
|||
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
|
||||
}
|
||||
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$vars = advancedcontentfilter_get_filter_fields($hook_data['item']);
|
||||
|
||||
$rules = DI::cache()->get('rules_' . local_user());
|
||||
$rules = DI::cache()->get('rules_' . DI::userSession()->getLocalUserId());
|
||||
if (!isset($rules)) {
|
||||
$rules = DBA::toArray(DBA::select(
|
||||
'advancedcontentfilter_rules',
|
||||
['name', 'expression', 'serialized'],
|
||||
['uid' => local_user(), 'active' => true]
|
||||
['uid' => DI::userSession()->getLocalUserId(), 'active' => true]
|
||||
));
|
||||
|
||||
DI::cache()->set('rules_' . local_user(), $rules);
|
||||
DI::cache()->set('rules_' . DI::userSession()->getLocalUserId(), $rules);
|
||||
}
|
||||
|
||||
if ($rules) {
|
||||
|
@ -158,31 +163,34 @@ function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
|
|||
}
|
||||
|
||||
|
||||
function advancedcontentfilter_addon_settings(App $a, &$s)
|
||||
function advancedcontentfilter_addon_settings(array &$data)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$advancedcontentfilter = DI::l10n()->t('Advanced Content Filter');
|
||||
|
||||
$s .= <<<HTML
|
||||
<span class="settings-block fakelink" style="display: block;"><h3><a href="advancedcontentfilter">$advancedcontentfilter <i class="glyphicon glyphicon-share"></i></a></h3></span>
|
||||
HTML;
|
||||
|
||||
return;
|
||||
$data = [
|
||||
'addon' => 'advancedcontentfilter',
|
||||
'title' => DI::l10n()->t('Advanced Content Filter'),
|
||||
'href' => 'advancedcontentfilter',
|
||||
];
|
||||
}
|
||||
|
||||
/*
|
||||
* Module
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is a statement rather than an actual function definition. The simple
|
||||
* existence of this method is checked to figure out if the addon offers a
|
||||
* module.
|
||||
*/
|
||||
function advancedcontentfilter_module() {}
|
||||
|
||||
function advancedcontentfilter_init(App $a)
|
||||
function advancedcontentfilter_init()
|
||||
{
|
||||
if ($a->argc > 1 && $a->argv[1] == 'api') {
|
||||
$slim = new \Slim\App();
|
||||
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'api') {
|
||||
$slim = \Slim\Factory\AppFactory::create();
|
||||
|
||||
require __DIR__ . '/src/middlewares.php';
|
||||
|
||||
|
@ -193,14 +201,16 @@ function advancedcontentfilter_init(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
function advancedcontentfilter_content(App $a)
|
||||
function advancedcontentfilter_content()
|
||||
{
|
||||
if (!local_user()) {
|
||||
return Login::form('/' . implode('/', $a->argv));
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return Login::form('/' . implode('/', DI::args()->getArgv()));
|
||||
}
|
||||
|
||||
if ($a->argc > 1 && $a->argv[1] == 'help') {
|
||||
$lang = $a->user['language'];
|
||||
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'help') {
|
||||
$user = User::getById(DI::userSession()->getLocalUserId());
|
||||
|
||||
$lang = $user['language'];
|
||||
|
||||
$default_dir = 'addon/advancedcontentfilter/doc/';
|
||||
$help_file = 'advancedcontentfilter.md';
|
||||
|
@ -242,8 +252,8 @@ function advancedcontentfilter_content(App $a)
|
|||
'rule_expression' => DI::l10n()->t('Rule Expression'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
],
|
||||
'$current_theme' => $a->getCurrentTheme(),
|
||||
'$rules' => advancedcontentfilter_get_rules(),
|
||||
'$current_theme' => DI::app()->getCurrentTheme(),
|
||||
'$rules' => DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()])),
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken()
|
||||
]);
|
||||
}
|
||||
|
@ -261,29 +271,20 @@ function advancedcontentfilter_build_fields($data)
|
|||
}
|
||||
|
||||
if (!empty($data['expression'])) {
|
||||
$allowed_keys = [
|
||||
'author_id', 'author_link', 'author_name', 'author_avatar',
|
||||
'owner_id', 'owner_link', 'owner_name', 'owner_avatar',
|
||||
'contact_id', 'uid', 'id', 'parent', 'uri',
|
||||
'thr_parent', 'parent_uri',
|
||||
'content_warning',
|
||||
'commented', 'created', 'edited', 'received',
|
||||
'verb', 'object_type', 'postopts', 'plink', 'guid', 'wall', 'private', 'starred',
|
||||
'title', 'body',
|
||||
'file', 'event_id', 'location', 'coord', 'app', 'attach',
|
||||
'rendered_hash', 'rendered_html', 'object',
|
||||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
|
||||
'item_id', 'item_network', 'author_thumb', 'owner_thumb',
|
||||
'network', 'url', 'name', 'writable', 'self',
|
||||
'cid', 'alias',
|
||||
'event_created', 'event_edited', 'event_start', 'event_finish', 'event_summary',
|
||||
'event_desc', 'event_location', 'event_type', 'event_nofinish', 'event_adjust', 'event_ignore',
|
||||
'children', 'pagedrop', 'tags', 'hashtags', 'mentions',
|
||||
];
|
||||
// Using a dummy item to validate the field existence
|
||||
$condition = ["(`uid` = ? OR `uid` = 0)", DI::userSession()->getLocalUserId()];
|
||||
$params = ['order' => ['uid' => true]];
|
||||
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
|
||||
|
||||
if (!DBA::isResult($item_row)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('This addon requires this node having at least one post'));
|
||||
}
|
||||
|
||||
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
|
||||
|
||||
$parsedExpression = $expressionLanguage->parse($data['expression'], $allowed_keys);
|
||||
$parsedExpression = $expressionLanguage->parse(
|
||||
$data['expression'],
|
||||
array_keys(advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row)))
|
||||
);
|
||||
|
||||
$serialized = serialize($parsedExpression->getNodes());
|
||||
|
||||
|
@ -304,31 +305,33 @@ function advancedcontentfilter_build_fields($data)
|
|||
* API
|
||||
*/
|
||||
|
||||
function advancedcontentfilter_get_rules()
|
||||
function advancedcontentfilter_get_rules(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => local_user()]));
|
||||
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()]));
|
||||
|
||||
return json_encode($rules);
|
||||
$response->getBody()->write(json_encode($rules));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
function advancedcontentfilter_get_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => local_user()]);
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()]);
|
||||
|
||||
return json_encode($rule);
|
||||
$response->getBody()->write(json_encode($rule));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
function advancedcontentfilter_post_rules(ServerRequestInterface $request)
|
||||
function advancedcontentfilter_post_rules(ServerRequestInterface $request, ResponseInterface $response)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
|
@ -348,7 +351,7 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request)
|
|||
throw new HTTPException\BadRequestException(DI::l10n()->t('The rule name and expression are required.'));
|
||||
}
|
||||
|
||||
$fields['uid'] = local_user();
|
||||
$fields['uid'] = DI::userSession()->getLocalUserId();
|
||||
$fields['created'] = DateTimeFormat::utcNow();
|
||||
|
||||
if (!DBA::insert('advancedcontentfilter_rules', $fields)) {
|
||||
|
@ -357,12 +360,15 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request)
|
|||
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]);
|
||||
|
||||
return json_encode(['message' => DI::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)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
|
@ -370,7 +376,7 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
|
|||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
}
|
||||
|
||||
|
@ -386,12 +392,15 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
|
|||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
return json_encode(['message' => DI::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)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
|
@ -399,7 +408,7 @@ function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request,
|
|||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
}
|
||||
|
||||
|
@ -407,12 +416,15 @@ function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request,
|
|||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
return json_encode(['message' => DI::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)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
|
@ -420,21 +432,36 @@ function advancedcontentfilter_get_variables_guid(ServerRequestInterface $reques
|
|||
throw new HTTPException\BadRequestException(DI::l10n()->t('Missing argument: guid.'));
|
||||
}
|
||||
|
||||
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], local_user()];
|
||||
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], DI::userSession()->getLocalUserId()];
|
||||
$params = ['order' => ['uid' => true]];
|
||||
$item = Post::selectFirstForUser(local_user(), [], $condition, $params);
|
||||
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
|
||||
|
||||
if (!DBA::isResult($item)) {
|
||||
if (!DBA::isResult($item_row)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown post with guid: %s', $args['guid']));
|
||||
}
|
||||
|
||||
$tags = Tag::populateFromItem($item);
|
||||
$return = advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row));
|
||||
|
||||
$item['tags'] = $tags['tags'];
|
||||
$item['hashtags'] = $tags['hashtags'];
|
||||
$item['mentions'] = $tags['mentions'];
|
||||
|
||||
$return = advancedcontentfilter_get_filter_fields($item);
|
||||
|
||||
return json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]);
|
||||
$response->getBody()->write(json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
/**
|
||||
* This mimimcs the processing performed in Model\Item::prepareBody
|
||||
*
|
||||
* @param array $item_row
|
||||
* @return array
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws ImagickException
|
||||
*/
|
||||
function advancedcontentfilter_prepare_item_row(array $item_row): array
|
||||
{
|
||||
$tags = Tag::populateFromItem($item_row);
|
||||
|
||||
$item_row['tags'] = $tags['tags'];
|
||||
$item_row['hashtags'] = $tags['hashtags'];
|
||||
$item_row['mentions'] = $tags['mentions'];
|
||||
$item_row['attachments'] = DI::postMediaRepository()->splitAttachments($item_row['uri-id']);
|
||||
|
||||
return $item_row;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -11,13 +11,15 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.6.0",
|
||||
"slim/slim": "^3.1",
|
||||
"slim/slim": "^4",
|
||||
"symfony/expression-language": "^3.4"
|
||||
},
|
||||
"license": "3-clause BSD license",
|
||||
"minimum-stability": "stable",
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.4"
|
||||
},
|
||||
"optimize-autoloader": true,
|
||||
"autoloader-suffix": "AdvancedContentFilterAddon",
|
||||
"preferred-install": "dist"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -36,10 +36,10 @@ A post will be collapsed if at least one rule matches, but all matching rule nam
|
|||
|
||||
## Examples
|
||||
|
||||
1. To block specific domains `body matches "/\\.example\\.com/"`
|
||||
2. To block everything that contains the words `body matches "/Guten Morgen/"`
|
||||
3. To block every occurence of the word facebook with a space in front and after the word `body matches "//s facebook/s /"`
|
||||
4. To colapse every post that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
|
||||
1. Collapse posts with specific domains `body matches "/\\.example\\.com/"`
|
||||
2. Collapse posts that contains the words `body matches "/Guten Morgen/"`
|
||||
3. Collapse posts with the word facebook that have a space in front and after the word `body matches "//s facebook/s /"`
|
||||
4. Collapse posts that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
|
||||
|
||||
|
||||
## Expression Syntax
|
||||
|
@ -458,11 +458,6 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_adjust</th>
|
||||
<td>boolean</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_ignore</th>
|
||||
<td>boolean</td>
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,32 +17,28 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have "
|
||||
"a name and an arbitrary expression that will be matched against post data. "
|
||||
|
@ -50,108 +46,116 @@ msgid ""
|
|||
"the help page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next "
|
||||
"to the title."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
|
||||
#: 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:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
||||
|
|
|
@ -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 "لم يُعثر على التطبيق"
|
|
@ -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'] = 'لم يُعثر على التطبيق';
|
|
@ -5,33 +5,36 @@ function string_plural_select_ca($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrat per regla: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Contingut avançat Filtre";
|
||||
$a->strings["Back to Addon Settings"] = "Torna Addon Configuració";
|
||||
$a->strings["Add a Rule"] = "Afegiu una regla";
|
||||
$a->strings["Help"] = "Ajuda";
|
||||
$a->strings["Your rules"] = "Les seves normes";
|
||||
$a->strings["Disabled"] = "Desactivat";
|
||||
$a->strings["Enabled"] = "Permetre";
|
||||
$a->strings["Disable this rule"] = "Desactiva aquesta regla";
|
||||
$a->strings["Enable this rule"] = "Activa aquesta regla";
|
||||
$a->strings["Edit this rule"] = "Edita aquesta regla";
|
||||
$a->strings["Edit the rule"] = "Edita la regla";
|
||||
$a->strings["Save this rule"] = "Deseu aquesta regla";
|
||||
$a->strings["Delete this rule"] = "Suprimeix aquesta regla";
|
||||
$a->strings["Rule"] = "Regla";
|
||||
$a->strings["Close"] = "Tancar";
|
||||
$a->strings["Add new rule"] = "Add nova regla";
|
||||
$a->strings["Rule Name"] = "Nom de la regla";
|
||||
$a->strings["Rule Expression"] = "Expressió de regla";
|
||||
$a->strings["Cancel"] = "cancel·lar";
|
||||
$a->strings["You must be logged in to use this method"] = "Per utilitzar aquest mètode, heu d’iniciar sessió";
|
||||
$a->strings["The rule name and expression are required."] = "El nom i l’expressió de la regla són obligatoris";
|
||||
$a->strings["Rule successfully added"] = "La regla s'ha afegit correctament";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regla no existeix o no us pertany.";
|
||||
$a->strings["Rule successfully updated"] = "La regla s'ha actualitzat correctament";
|
||||
$a->strings["Rule successfully deleted"] = "S'ha suprimit la regla correctament";
|
||||
$a->strings["Missing argument: guid."] = "Falta un argument: guia";
|
||||
$a->strings["Unknown post with guid: %s"] = "Publicació desconeguda amb guia: %s";
|
||||
$a->strings["Method not found"] = "Mètode no trobat";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrat per regla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Contingut avançat Filtre';
|
||||
$a->strings['Back to Addon Settings'] = 'Torna Addon Configuració';
|
||||
$a->strings['Add a Rule'] = 'Afegiu una regla';
|
||||
$a->strings['Help'] = 'Ajuda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Afegiu i gestioneu les vostres regles de filtre de contingut personal en aquesta pantalla. Les regles tenen un nom i una expressió arbitrària que es combinen amb les dades de la publicació. Per obtenir una referència completa de les variables i operacions disponibles, comproveu el botó <a href="advancedcontentfilter/help">pàgina d’ajuda</a>.';
|
||||
$a->strings['Your rules'] = 'Les seves normes';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Encara no teniu normes. Comenceu a afegir-ne un fent clic al botó situat al costat del títol.';
|
||||
$a->strings['Disabled'] = 'Desactivat';
|
||||
$a->strings['Enabled'] = 'Permetre';
|
||||
$a->strings['Disable this rule'] = 'Desactiva aquesta regla';
|
||||
$a->strings['Enable this rule'] = 'Activa aquesta regla';
|
||||
$a->strings['Edit this rule'] = 'Edita aquesta regla';
|
||||
$a->strings['Edit the rule'] = 'Edita la regla';
|
||||
$a->strings['Save this rule'] = 'Deseu aquesta regla';
|
||||
$a->strings['Delete this rule'] = 'Suprimeix aquesta regla';
|
||||
$a->strings['Rule'] = 'Regla';
|
||||
$a->strings['Close'] = 'Tancar';
|
||||
$a->strings['Add new rule'] = 'Add nova regla';
|
||||
$a->strings['Rule Name'] = 'Nom de la regla';
|
||||
$a->strings['Rule Expression'] = 'Expressió de regla';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Exemples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'cancel·lar';
|
||||
$a->strings['You must be logged in to use this method'] = 'Per utilitzar aquest mètode, heu d’iniciar sessió';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'El testimoni de seguretat del formulari no és vàlid. Actualitza la pàgina';
|
||||
$a->strings['The rule name and expression are required.'] = 'El nom i l’expressió de la regla són obligatoris';
|
||||
$a->strings['Rule successfully added'] = 'La regla s\'ha afegit correctament';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existeix o no us pertany.';
|
||||
$a->strings['Rule successfully updated'] = 'La regla s\'ha actualitzat correctament';
|
||||
$a->strings['Rule successfully deleted'] = 'S\'ha suprimit la regla correctament';
|
||||
$a->strings['Missing argument: guid.'] = 'Falta un argument: guia';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Publicació desconeguda amb guia: %s';
|
||||
$a->strings['Method not found'] = 'Mètode no trobat';
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_cs($n){
|
|||
$n = intval($n);
|
||||
if (($n == 1 && $n % 1 == 0)) { return 0; } else if (($n >= 2 && $n <= 4 && $n % 1 == 0)) { return 1; } else if (($n % 1 != 0 )) { return 2; } else { return 3; }
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrováno podle pravidla: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Rozšířený filtr obsahu";
|
||||
$a->strings["Back to Addon Settings"] = "Zpět na nastavení doplňku";
|
||||
$a->strings["Add a Rule"] = "Přidat pravidlo";
|
||||
$a->strings["Help"] = "Nápověda";
|
||||
$a->strings["Your rules"] = "Vaše pravidla";
|
||||
$a->strings["Disabled"] = "Zakázáno";
|
||||
$a->strings["Enabled"] = "Povoleno";
|
||||
$a->strings["Disable this rule"] = "Zakázat toto pravidlo";
|
||||
$a->strings["Enable this rule"] = "Povolit toto pravidlo";
|
||||
$a->strings["Edit this rule"] = "Upravit toto pravidlo";
|
||||
$a->strings["Edit the rule"] = "Upravit pravidlo";
|
||||
$a->strings["Save this rule"] = "Uložit toto pravidlo";
|
||||
$a->strings["Delete this rule"] = "Smazat toto pravidlo";
|
||||
$a->strings["Rule"] = "Pravidlo";
|
||||
$a->strings["Close"] = "Zavřít";
|
||||
$a->strings["Add new rule"] = "Přidat nové pravidlo";
|
||||
$a->strings["Rule Name"] = "Název pravidla";
|
||||
$a->strings["Rule Expression"] = "Výraz pravidla";
|
||||
$a->strings["Cancel"] = "Zrušit";
|
||||
$a->strings["You must be logged in to use this method"] = "Pro použití této metody musíte být přihlášen/a";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.";
|
||||
$a->strings["The rule name and expression are required."] = "Je požadován název pravidla a výraz.";
|
||||
$a->strings["Rule successfully added"] = "Pravidlo úspěšně přidáno";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Pravidlo buď neexistuje, nebo Vám nepatří.";
|
||||
$a->strings["Rule successfully updated"] = "Pravidlo úspěšně aktualizováno";
|
||||
$a->strings["Rule successfully deleted"] = "Pravidlo úspěšně smazáno";
|
||||
$a->strings["Missing argument: guid."] = "Chybí argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Neznámý pžíspěvek s číslem guid: %s";
|
||||
$a->strings["Method not found"] = "Metoda nenalezena";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrováno podle pravidla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Rozšířený filtr obsahu';
|
||||
$a->strings['Back to Addon Settings'] = 'Zpět na nastavení doplňku';
|
||||
$a->strings['Add a Rule'] = 'Přidat pravidlo';
|
||||
$a->strings['Help'] = 'Nápověda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Přidávejte a spravujte Vaše osobní pravidla pro filtrování obsahu na této obrazovce. Pravidla mají název a libovolný výraz, který bude porovnán s daty příspěvku. Pro úplnou referenci dostupných operací a proměnných navštivte <a href="advancedcontentfilter/help">stránku nápovědy</a>.';
|
||||
$a->strings['Your rules'] = 'Vaše pravidla';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Ještě nemáte žádná pravidla! Přidejte první kliknutím na tlačítko nahoře vedle nadpisu.';
|
||||
$a->strings['Disabled'] = 'Zakázáno';
|
||||
$a->strings['Enabled'] = 'Povoleno';
|
||||
$a->strings['Disable this rule'] = 'Zakázat toto pravidlo';
|
||||
$a->strings['Enable this rule'] = 'Povolit toto pravidlo';
|
||||
$a->strings['Edit this rule'] = 'Upravit toto pravidlo';
|
||||
$a->strings['Edit the rule'] = 'Upravit pravidlo';
|
||||
$a->strings['Save this rule'] = 'Uložit toto pravidlo';
|
||||
$a->strings['Delete this rule'] = 'Smazat toto pravidlo';
|
||||
$a->strings['Rule'] = 'Pravidlo';
|
||||
$a->strings['Close'] = 'Zavřít';
|
||||
$a->strings['Add new rule'] = 'Přidat nové pravidlo';
|
||||
$a->strings['Rule Name'] = 'Název pravidla';
|
||||
$a->strings['Rule Expression'] = 'Výraz pravidla';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Příklady:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'Zrušit';
|
||||
$a->strings['You must be logged in to use this method'] = 'Pro použití této metody musíte být přihlášen/a';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Je požadován název pravidla a výraz.';
|
||||
$a->strings['Rule successfully added'] = 'Pravidlo úspěšně přidáno';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Pravidlo buď neexistuje, nebo Vám nepatří.';
|
||||
$a->strings['Rule successfully updated'] = 'Pravidlo úspěšně aktualizováno';
|
||||
$a->strings['Rule successfully deleted'] = 'Pravidlo úspěšně smazáno';
|
||||
$a->strings['Missing argument: guid.'] = 'Chybí argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Neznámý pžíspěvek s číslem guid: %s';
|
||||
$a->strings['Method not found'] = 'Metoda nenalezena';
|
||||
|
|
|
@ -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 ""
|
|
@ -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);
|
||||
}}
|
|
@ -5,49 +5,45 @@
|
|||
#
|
||||
# Translators:
|
||||
# Ulf Rompe <transifex.com@rompe.org>, 2019
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2021
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2021\n"
|
||||
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022\n"
|
||||
"Language-Team: German (https://app.transifex.com/Friendica/teams/12172/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Methode nicht gefunden"
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Nach dieser Regel gefiltert: %s"
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Erweiterter Inhaltsfilter"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Zurück zu den Addon Einstellungen"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Eine Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
|
@ -60,11 +56,11 @@ msgstr ""
|
|||
"gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für "
|
||||
"die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons."
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Deine Regeln"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -72,98 +68,108 @@ msgstr ""
|
|||
"Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen,"
|
||||
" verwende bitte den Button neben dem Titel."
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diese Regel deaktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Diese Regel aktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Diese Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Die Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Regel speichern"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Diese Regel löschen"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Neue Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Name der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Ausdruck der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag"
|
||||
" existiert."
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Du musst angemeldet sein, um diese Methode verwenden zu können "
|
||||
|
||||
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Ungültiges Sciherheitstoken, bitte die Seite neu laden."
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Der Name der Regel und der Ausdruck sind erforderlich."
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regel erfolgreich hinzugefügt."
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Entweder existiert die Regel nicht, oder sie gehört dir nicht."
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regel wurde erfolgreich aktualisiert."
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regel erfolgreich gelöscht."
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Fehlendes Argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Unbekannter Beitrag mit der guid: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Methode nicht gefunden"
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_de($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Method not found"] = "Methode nicht gefunden";
|
||||
$a->strings["Filtered by rule: %s"] = "Nach dieser Regel gefiltert: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Erweiterter Inhaltsfilter";
|
||||
$a->strings["Back to Addon Settings"] = "Zurück zu den Addon Einstellungen";
|
||||
$a->strings["Add a Rule"] = "Eine Regel hinzufügen";
|
||||
$a->strings["Help"] = "Hilfe";
|
||||
$a->strings["Your rules"] = "Deine Regeln";
|
||||
$a->strings["Disabled"] = "Deaktiviert";
|
||||
$a->strings["Enabled"] = "Aktiv";
|
||||
$a->strings["Disable this rule"] = "Diese Regel deaktivieren";
|
||||
$a->strings["Enable this rule"] = "Diese Regel aktivieren";
|
||||
$a->strings["Edit this rule"] = "Diese Regel bearbeiten";
|
||||
$a->strings["Edit the rule"] = "Die Regel bearbeiten";
|
||||
$a->strings["Save this rule"] = "Regel speichern";
|
||||
$a->strings["Delete this rule"] = "Diese Regel löschen";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Schließen";
|
||||
$a->strings["Add new rule"] = "Neue Regel hinzufügen";
|
||||
$a->strings["Rule Name"] = "Name der Regel";
|
||||
$a->strings["Rule Expression"] = "Ausdruck der Regel";
|
||||
$a->strings["Cancel"] = "Abbrechen";
|
||||
$a->strings["You must be logged in to use this method"] = "Du musst angemeldet sein, um diese Methode verwenden zu können ";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Ungültiges Sciherheitstoken, bitte die Seite neu laden.";
|
||||
$a->strings["The rule name and expression are required."] = "Der Name der Regel und der Ausdruck sind erforderlich.";
|
||||
$a->strings["Rule successfully added"] = "Regel erfolgreich hinzugefügt.";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Entweder existiert die Regel nicht, oder sie gehört dir nicht.";
|
||||
$a->strings["Rule successfully updated"] = "Regel wurde erfolgreich aktualisiert.";
|
||||
$a->strings["Rule successfully deleted"] = "Regel erfolgreich gelöscht.";
|
||||
$a->strings["Missing argument: guid."] = "Fehlendes Argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Unbekannter Beitrag mit der guid: %s";
|
||||
$a->strings['Filtered by rule: %s'] = 'Nach dieser Regel gefiltert: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Erweiterter Inhaltsfilter';
|
||||
$a->strings['Back to Addon Settings'] = 'Zurück zu den Addon Einstellungen';
|
||||
$a->strings['Add a Rule'] = 'Eine Regel hinzufügen';
|
||||
$a->strings['Help'] = 'Hilfe';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons.';
|
||||
$a->strings['Your rules'] = 'Deine Regeln';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen, verwende bitte den Button neben dem Titel.';
|
||||
$a->strings['Disabled'] = 'Deaktiviert';
|
||||
$a->strings['Enabled'] = 'Aktiv';
|
||||
$a->strings['Disable this rule'] = 'Diese Regel deaktivieren';
|
||||
$a->strings['Enable this rule'] = 'Diese Regel aktivieren';
|
||||
$a->strings['Edit this rule'] = 'Diese Regel bearbeiten';
|
||||
$a->strings['Edit the rule'] = 'Die Regel bearbeiten';
|
||||
$a->strings['Save this rule'] = 'Regel speichern';
|
||||
$a->strings['Delete this rule'] = 'Diese Regel löschen';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Schließen';
|
||||
$a->strings['Add new rule'] = 'Neue Regel hinzufügen';
|
||||
$a->strings['Rule Name'] = 'Name der Regel';
|
||||
$a->strings['Rule Expression'] = 'Ausdruck der Regel';
|
||||
$a->strings['Cancel'] = 'Abbrechen';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag existiert.';
|
||||
$a->strings['You must be logged in to use this method'] = 'Du musst angemeldet sein, um diese Methode verwenden zu können ';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Ungültiges Sciherheitstoken, bitte die Seite neu laden.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Der Name der Regel und der Ausdruck sind erforderlich.';
|
||||
$a->strings['Rule successfully added'] = 'Regel erfolgreich hinzugefügt.';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Entweder existiert die Regel nicht, oder sie gehört dir nicht.';
|
||||
$a->strings['Rule successfully updated'] = 'Regel wurde erfolgreich aktualisiert.';
|
||||
$a->strings['Rule successfully deleted'] = 'Regel erfolgreich gelöscht.';
|
||||
$a->strings['Missing argument: guid.'] = 'Fehlendes Argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Unbekannter Beitrag mit der guid: %s';
|
||||
$a->strings['Method not found'] = 'Methode nicht gefunden';
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_en_gb($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtered by rule: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Advanced Content Filter";
|
||||
$a->strings["Back to Addon Settings"] = "Back to addon settings";
|
||||
$a->strings["Add a Rule"] = "Add a rule";
|
||||
$a->strings["Help"] = "Help";
|
||||
$a->strings["Your rules"] = "Your rules";
|
||||
$a->strings["Disabled"] = "Disabled";
|
||||
$a->strings["Enabled"] = "Enabled";
|
||||
$a->strings["Disable this rule"] = "Disable this rule";
|
||||
$a->strings["Enable this rule"] = "Enable this rule";
|
||||
$a->strings["Edit this rule"] = "Edit this rule";
|
||||
$a->strings["Edit the rule"] = "Edit the rule";
|
||||
$a->strings["Save this rule"] = "Save this rule";
|
||||
$a->strings["Delete this rule"] = "Delete this rule";
|
||||
$a->strings["Rule"] = "Rule";
|
||||
$a->strings["Close"] = "Close";
|
||||
$a->strings["Add new rule"] = "Add new rule";
|
||||
$a->strings["Rule Name"] = "Rule name";
|
||||
$a->strings["Rule Expression"] = "Rule expression";
|
||||
$a->strings["Cancel"] = "Cancel";
|
||||
$a->strings["You must be logged in to use this method"] = "You must be logged in to use this method";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Invalid form security token, please refresh the page.";
|
||||
$a->strings["The rule name and expression are required."] = "The rule name and expression are required.";
|
||||
$a->strings["Rule successfully added"] = "Rule successfully added";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Rule doesn't exist or doesn't belong to you.";
|
||||
$a->strings["Rule successfully updated"] = "Rule successfully updated";
|
||||
$a->strings["Rule successfully deleted"] = "Rule successfully deleted";
|
||||
$a->strings["Missing argument: guid."] = "Missing argument: Global Unique Identifier (GUID).";
|
||||
$a->strings["Unknown post with guid: %s"] = "Unknown post with Global Unique Identifier (GUID): %s";
|
||||
$a->strings["Method not found"] = "Method not found";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtered by rule: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Advanced Content Filter';
|
||||
$a->strings['Back to Addon Settings'] = 'Back to addon settings';
|
||||
$a->strings['Add a Rule'] = 'Add a rule';
|
||||
$a->strings['Help'] = 'Help';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.';
|
||||
$a->strings['Your rules'] = 'Your rules';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'You have no rules yet! Start adding one by clicking on the button above next to the title.';
|
||||
$a->strings['Disabled'] = 'Disabled';
|
||||
$a->strings['Enabled'] = 'Enabled';
|
||||
$a->strings['Disable this rule'] = 'Disable this rule';
|
||||
$a->strings['Enable this rule'] = 'Enable this rule';
|
||||
$a->strings['Edit this rule'] = 'Edit this rule';
|
||||
$a->strings['Edit the rule'] = 'Edit the rule';
|
||||
$a->strings['Save this rule'] = 'Save this rule';
|
||||
$a->strings['Delete this rule'] = 'Delete this rule';
|
||||
$a->strings['Rule'] = 'Rule';
|
||||
$a->strings['Close'] = 'Close';
|
||||
$a->strings['Add new rule'] = 'Add new rule';
|
||||
$a->strings['Rule Name'] = 'Rule name';
|
||||
$a->strings['Rule Expression'] = 'Rule expression';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'Cancel';
|
||||
$a->strings['You must be logged in to use this method'] = 'You must be logged in to use this method';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Invalid form security token, please refresh the page.';
|
||||
$a->strings['The rule name and expression are required.'] = 'The rule name and expression are required.';
|
||||
$a->strings['Rule successfully added'] = 'Rule successfully added';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Rule doesn\'t exist or doesn\'t belong to you.';
|
||||
$a->strings['Rule successfully updated'] = 'Rule successfully updated';
|
||||
$a->strings['Rule successfully deleted'] = 'Rule successfully deleted';
|
||||
$a->strings['Missing argument: guid.'] = 'Missing argument: Global Unique Identifier (GUID).';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Unknown post with Global Unique Identifier (GUID): %s';
|
||||
$a->strings['Method not found'] = 'Method not found';
|
||||
|
|
|
@ -5,33 +5,35 @@ function string_plural_select_es($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Method not found"] = "Método no encontrado";
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrado por la regla: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Filtro de contenido avanzado";
|
||||
$a->strings["Back to Addon Settings"] = "Volver a Ajustes de Complemento";
|
||||
$a->strings["Add a Rule"] = "Añadir una regla";
|
||||
$a->strings["Help"] = "Ayuda";
|
||||
$a->strings["Your rules"] = "Tus reglas";
|
||||
$a->strings["Disabled"] = "Desactivado";
|
||||
$a->strings["Enabled"] = "Activado";
|
||||
$a->strings["Disable this rule"] = "Desactivar esta regla";
|
||||
$a->strings["Enable this rule"] = "Activar esta regla";
|
||||
$a->strings["Edit this rule"] = "Editar esta regla";
|
||||
$a->strings["Edit the rule"] = "Editar regla";
|
||||
$a->strings["Save this rule"] = "Guardar esta regla";
|
||||
$a->strings["Delete this rule"] = "Borrar esta regla";
|
||||
$a->strings["Rule"] = "Regla";
|
||||
$a->strings["Close"] = "Cerrar";
|
||||
$a->strings["Add new rule"] = "Agregar nueva regla";
|
||||
$a->strings["Rule Name"] = "Nombre de la regla";
|
||||
$a->strings["Rule Expression"] = "Expresión de la regla";
|
||||
$a->strings["Cancel"] = "Cancelar";
|
||||
$a->strings["You must be logged in to use this method"] = "Debe estar registrado para usar este método";
|
||||
$a->strings["The rule name and expression are required."] = "El nombre y la expresión de la regla son obligatorios.";
|
||||
$a->strings["Rule successfully added"] = "Regla añadida exitosamente";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regla no existe o no te pertenece.";
|
||||
$a->strings["Rule successfully updated"] = "Regla actualizada exitosamente";
|
||||
$a->strings["Rule successfully deleted"] = "Regla eliminada exitosamente";
|
||||
$a->strings["Missing argument: guid."] = "Algumento faltante: guía";
|
||||
$a->strings["Unknown post with guid: %s"] = "Publicacion desconocida con la guía: %s";
|
||||
$a->strings['Method not found'] = 'Método no encontrado';
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrado por la regla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtro de contenido avanzado';
|
||||
$a->strings['Back to Addon Settings'] = 'Volver a Ajustes de Complemento';
|
||||
$a->strings['Add a Rule'] = 'Añadir una regla';
|
||||
$a->strings['Help'] = 'Ayuda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Agregue y administre sus reglas de filtrado de contenido personal en esta pantalla. Las reglas tienen un nombre y una expresión arbitraria que se comparará con los datos de la publicación. Para obtener una referencia completa de las operaciones y variables disponibles, consulte la página de ayuda.';
|
||||
$a->strings['Your rules'] = 'Tus reglas';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de arriba al lado del título. ';
|
||||
$a->strings['Disabled'] = 'Desactivado';
|
||||
$a->strings['Enabled'] = 'Activado';
|
||||
$a->strings['Disable this rule'] = 'Desactivar esta regla';
|
||||
$a->strings['Enable this rule'] = 'Activar esta regla';
|
||||
$a->strings['Edit this rule'] = 'Editar esta regla';
|
||||
$a->strings['Edit the rule'] = 'Editar regla';
|
||||
$a->strings['Save this rule'] = 'Guardar esta regla';
|
||||
$a->strings['Delete this rule'] = 'Borrar esta regla';
|
||||
$a->strings['Rule'] = 'Regla';
|
||||
$a->strings['Close'] = 'Cerrar';
|
||||
$a->strings['Add new rule'] = 'Agregar nueva regla';
|
||||
$a->strings['Rule Name'] = 'Nombre de la regla';
|
||||
$a->strings['Rule Expression'] = 'Expresión de la regla';
|
||||
$a->strings['Cancel'] = 'Cancelar';
|
||||
$a->strings['You must be logged in to use this method'] = 'Debe estar registrado para usar este método';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token de seguridad de formulario inválido, por favor actualice la página.';
|
||||
$a->strings['The rule name and expression are required.'] = 'El nombre y la expresión de la regla son obligatorios.';
|
||||
$a->strings['Rule successfully added'] = 'Regla añadida exitosamente';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existe o no te pertenece.';
|
||||
$a->strings['Rule successfully updated'] = 'Regla actualizada exitosamente';
|
||||
$a->strings['Rule successfully deleted'] = 'Regla eliminada exitosamente';
|
||||
$a->strings['Missing argument: guid.'] = 'Algumento faltante: guía';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Publicacion desconocida con la guía: %s';
|
||||
|
|
|
@ -5,19 +5,18 @@ function string_plural_select_fi($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Add a Rule"] = "Lisää sääntö";
|
||||
$a->strings["Your rules"] = "Sääntösi";
|
||||
$a->strings["Disabled"] = "Ei käytössä";
|
||||
$a->strings["Enabled"] = "Käytössä";
|
||||
$a->strings["Enable this rule"] = "Ota tämä sääntö käyttöön";
|
||||
$a->strings["Edit this rule"] = "Muokkaa tätä sääntöä";
|
||||
$a->strings["Edit the rule"] = "Muokkaa sääntöä";
|
||||
$a->strings["Save this rule"] = "Tallenna tämä sääntö";
|
||||
$a->strings["Delete this rule"] = "Poista tämä sääntö";
|
||||
$a->strings["Rule"] = "Sääntö";
|
||||
$a->strings["Close"] = "Sulje";
|
||||
$a->strings["Add new rule"] = "Lisää uusi sääntö";
|
||||
$a->strings["Rule successfully added"] = "Sääntö lisätty";
|
||||
$a->strings["Rule successfully updated"] = "Sääntö päivitetty";
|
||||
$a->strings["Rule successfully deleted"] = "Sääntö poistettu";
|
||||
$a->strings['Add a Rule'] = 'Lisää sääntö';
|
||||
$a->strings['Your rules'] = 'Sääntösi';
|
||||
$a->strings['Disabled'] = 'Ei käytössä';
|
||||
$a->strings['Enabled'] = 'Käytössä';
|
||||
$a->strings['Enable this rule'] = 'Ota tämä sääntö käyttöön';
|
||||
$a->strings['Edit this rule'] = 'Muokkaa tätä sääntöä';
|
||||
$a->strings['Edit the rule'] = 'Muokkaa sääntöä';
|
||||
$a->strings['Save this rule'] = 'Tallenna tämä sääntö';
|
||||
$a->strings['Delete this rule'] = 'Poista tämä sääntö';
|
||||
$a->strings['Rule'] = 'Sääntö';
|
||||
$a->strings['Close'] = 'Sulje';
|
||||
$a->strings['Add new rule'] = 'Lisää uusi sääntö';
|
||||
$a->strings['Rule successfully added'] = 'Sääntö lisätty';
|
||||
$a->strings['Rule successfully updated'] = 'Sääntö päivitetty';
|
||||
$a->strings['Rule successfully deleted'] = 'Sääntö poistettu';
|
||||
|
|
|
@ -8,48 +8,45 @@
|
|||
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018
|
||||
# Phigger Phigger <automates@lepouete.fr>, 2019
|
||||
# Wil Tur <wiltur@yargl.com>, 2021
|
||||
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Wil Tur <wiltur@yargl.com>, 2021\n"
|
||||
"Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
|
||||
"Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Méthode non trouvée"
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtré par règle:%s"
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtre avancé de contenu"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Retour aux paramètres de l'extension"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Ajouter une règle"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
|
@ -61,11 +58,11 @@ msgstr ""
|
|||
"comparée aux données des messages. Pour une référence complète des "
|
||||
"opérations et variables disponibles, consultez la page d'aide."
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Vos règles"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -73,98 +70,108 @@ msgstr ""
|
|||
"Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-"
|
||||
"dessus près du titre"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Désactiver cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifier cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifier la règle"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Enregistrer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Supprimer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Règle"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Ajouter nouvelle règle"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nommer règle"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expression de règle"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Cette extension requiert au moins une publication sur ce serveur pour "
|
||||
"fonctionner"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Vous devez être connecté pour utiliser cette méthode"
|
||||
|
||||
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Formulaire token de sécurité invalide, rafraîchissez la page"
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Le nom et l'expression de cette règle sont requis"
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Règle bien ajoutée"
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Cette règle n'existe pas ou ne vous appartient pas"
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Règle bien mise à jour"
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Règle bien supprimée"
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument manquant: "
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Post inconnu avec guid : %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Méthode non trouvée"
|
||||
|
|
|
@ -3,36 +3,38 @@
|
|||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
$n = intval($n);
|
||||
return intval($n > 1);
|
||||
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
}}
|
||||
;
|
||||
$a->strings["Method not found"] = "Méthode non trouvée";
|
||||
$a->strings["Filtered by rule: %s"] = "Filtré par règle:%s";
|
||||
$a->strings["Advanced Content Filter"] = "Filtre avancé de contenu";
|
||||
$a->strings["Back to Addon Settings"] = "Retour aux paramètres de l'extension";
|
||||
$a->strings["Add a Rule"] = "Ajouter une règle";
|
||||
$a->strings["Help"] = "Aide";
|
||||
$a->strings["Your rules"] = "Vos règles";
|
||||
$a->strings["Disabled"] = "Désactivé";
|
||||
$a->strings["Enabled"] = "Activé";
|
||||
$a->strings["Disable this rule"] = "Désactiver cette règle";
|
||||
$a->strings["Enable this rule"] = "Activer cette règle";
|
||||
$a->strings["Edit this rule"] = "Modifier cette règle";
|
||||
$a->strings["Edit the rule"] = "Modifier la règle";
|
||||
$a->strings["Save this rule"] = "Enregistrer cette règle";
|
||||
$a->strings["Delete this rule"] = "Supprimer cette règle";
|
||||
$a->strings["Rule"] = "Règle";
|
||||
$a->strings["Close"] = "Fermer";
|
||||
$a->strings["Add new rule"] = "Ajouter nouvelle règle";
|
||||
$a->strings["Rule Name"] = "Nommer règle";
|
||||
$a->strings["Rule Expression"] = "Expression de règle";
|
||||
$a->strings["Cancel"] = "Annuler";
|
||||
$a->strings["You must be logged in to use this method"] = "Vous devez être connecté pour utiliser cette méthode";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Formulaire token de sécurité invalide, rafraîchissez la page";
|
||||
$a->strings["The rule name and expression are required."] = "Le nom et l'expression de cette règle sont requis";
|
||||
$a->strings["Rule successfully added"] = "Règle bien ajoutée";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Cette règle n'existe pas ou ne vous appartient pas";
|
||||
$a->strings["Rule successfully updated"] = "Règle bien mise à jour";
|
||||
$a->strings["Rule successfully deleted"] = "Règle bien supprimée";
|
||||
$a->strings["Missing argument: guid."] = "Argument manquant: ";
|
||||
$a->strings["Unknown post with guid: %s"] = "Post inconnu avec guid : %s";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtre avancé de contenu';
|
||||
$a->strings['Back to Addon Settings'] = 'Retour aux paramètres de l\'extension';
|
||||
$a->strings['Add a Rule'] = 'Ajouter une règle';
|
||||
$a->strings['Help'] = 'Aide';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Cet écran permet d\'ajouter et de gérer vos règles de filtrage de contenu personnelles. Les règles ont un nom et une expression arbitraire qui sera comparée aux données des messages. Pour une référence complète des opérations et variables disponibles, consultez la page d\'aide.';
|
||||
$a->strings['Your rules'] = 'Vos règles';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Vous n\'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-dessus près du titre';
|
||||
$a->strings['Disabled'] = 'Désactivé';
|
||||
$a->strings['Enabled'] = 'Activé';
|
||||
$a->strings['Disable this rule'] = 'Désactiver cette règle';
|
||||
$a->strings['Enable this rule'] = 'Activer cette règle';
|
||||
$a->strings['Edit this rule'] = 'Modifier cette règle';
|
||||
$a->strings['Edit the rule'] = 'Modifier la règle';
|
||||
$a->strings['Save this rule'] = 'Enregistrer cette règle';
|
||||
$a->strings['Delete this rule'] = 'Supprimer cette règle';
|
||||
$a->strings['Rule'] = 'Règle';
|
||||
$a->strings['Close'] = 'Fermer';
|
||||
$a->strings['Add new rule'] = 'Ajouter nouvelle règle';
|
||||
$a->strings['Rule Name'] = 'Nommer règle';
|
||||
$a->strings['Rule Expression'] = 'Expression de règle';
|
||||
$a->strings['Cancel'] = 'Annuler';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Cette extension requiert au moins une publication sur ce serveur pour fonctionner';
|
||||
$a->strings['You must be logged in to use this method'] = 'Vous devez être connecté pour utiliser cette méthode';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Formulaire token de sécurité invalide, rafraîchissez la page';
|
||||
$a->strings['The rule name and expression are required.'] = 'Le nom et l\'expression de cette règle sont requis';
|
||||
$a->strings['Rule successfully added'] = 'Règle bien ajoutée';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Cette règle n\'existe pas ou ne vous appartient pas';
|
||||
$a->strings['Rule successfully updated'] = 'Règle bien mise à jour';
|
||||
$a->strings['Rule successfully deleted'] = 'Règle bien supprimée';
|
||||
$a->strings['Missing argument: guid.'] = 'Argument manquant: ';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Post inconnu avec guid : %s';
|
||||
$a->strings['Method not found'] = 'Méthode non trouvée';
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2021
|
||||
# Balázs Úr, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2021\n"
|
||||
"Last-Translator: Balázs Úr, 2022\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/Friendica/teams/12172/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -21,32 +21,28 @@ msgstr ""
|
|||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "A módszer nem található"
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Szűrve a szabály alapján: %s"
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Speciális tartalomszűrő"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Vissza a bővítménybeállításokhoz"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Súgó"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
|
@ -58,11 +54,11 @@ msgstr ""
|
|||
"adataira lesz illesztve. Az elérhető műveletek és változók teljes "
|
||||
"hivatkozásáért nézze meg a súgóoldalt."
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Az Ön szabályai"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -70,98 +66,108 @@ msgstr ""
|
|||
"Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett "
|
||||
"lévő fenti gombra kattintva."
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Letiltva"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Engedélyezve"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "A szabály letiltása"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "A szabály engedélyezése"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "A szabály mentése"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "A szabály törlése"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Szabály"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Új szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Szabály neve"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Szabály kifejezése"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy "
|
||||
"bejegyzése legyen"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Bejelentkezve kell lennie a módszer használatához"
|
||||
|
||||
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Érvénytelen űrlap biztonsági token. Frissítse az oldalt."
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "A szabály neve és kifejezése kötelező."
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "A szabály sikeresen hozzáadva"
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "A szabály nem létezik vagy nem Önhöz tatozik."
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "A szabály sikeresen frissítve"
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "A szabály sikeresen törölve"
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Hiányzó argumentum: guid."
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Ismeretlen bejegyzés a következő guid azonosítóval: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "A módszer nem található"
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_hu($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Method not found"] = "A módszer nem található";
|
||||
$a->strings["Filtered by rule: %s"] = "Szűrve a szabály alapján: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Speciális tartalomszűrő";
|
||||
$a->strings["Back to Addon Settings"] = "Vissza a bővítménybeállításokhoz";
|
||||
$a->strings["Add a Rule"] = "Szabály hozzáadása";
|
||||
$a->strings["Help"] = "Súgó";
|
||||
$a->strings["Your rules"] = "Az Ön szabályai";
|
||||
$a->strings["Disabled"] = "Letiltva";
|
||||
$a->strings["Enabled"] = "Engedélyezve";
|
||||
$a->strings["Disable this rule"] = "A szabály letiltása";
|
||||
$a->strings["Enable this rule"] = "A szabály engedélyezése";
|
||||
$a->strings["Edit this rule"] = "A szabály szerkesztése";
|
||||
$a->strings["Edit the rule"] = "A szabály szerkesztése";
|
||||
$a->strings["Save this rule"] = "A szabály mentése";
|
||||
$a->strings["Delete this rule"] = "A szabály törlése";
|
||||
$a->strings["Rule"] = "Szabály";
|
||||
$a->strings["Close"] = "Bezárás";
|
||||
$a->strings["Add new rule"] = "Új szabály hozzáadása";
|
||||
$a->strings["Rule Name"] = "Szabály neve";
|
||||
$a->strings["Rule Expression"] = "Szabály kifejezése";
|
||||
$a->strings["Cancel"] = "Mégse";
|
||||
$a->strings["You must be logged in to use this method"] = "Bejelentkezve kell lennie a módszer használatához";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Érvénytelen űrlap biztonsági token. Frissítse az oldalt.";
|
||||
$a->strings["The rule name and expression are required."] = "A szabály neve és kifejezése kötelező.";
|
||||
$a->strings["Rule successfully added"] = "A szabály sikeresen hozzáadva";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "A szabály nem létezik vagy nem Önhöz tatozik.";
|
||||
$a->strings["Rule successfully updated"] = "A szabály sikeresen frissítve";
|
||||
$a->strings["Rule successfully deleted"] = "A szabály sikeresen törölve";
|
||||
$a->strings["Missing argument: guid."] = "Hiányzó argumentum: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Ismeretlen bejegyzés a következő guid azonosítóval: %s";
|
||||
$a->strings['Filtered by rule: %s'] = 'Szűrve a szabály alapján: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Speciális tartalomszűrő';
|
||||
$a->strings['Back to Addon Settings'] = 'Vissza a bővítménybeállításokhoz';
|
||||
$a->strings['Add a Rule'] = 'Szabály hozzáadása';
|
||||
$a->strings['Help'] = 'Súgó';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés adataira lesz illesztve. Az elérhető műveletek és változók teljes hivatkozásáért nézze meg a súgóoldalt.';
|
||||
$a->strings['Your rules'] = 'Az Ön szabályai';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett lévő fenti gombra kattintva.';
|
||||
$a->strings['Disabled'] = 'Letiltva';
|
||||
$a->strings['Enabled'] = 'Engedélyezve';
|
||||
$a->strings['Disable this rule'] = 'A szabály letiltása';
|
||||
$a->strings['Enable this rule'] = 'A szabály engedélyezése';
|
||||
$a->strings['Edit this rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Edit the rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Save this rule'] = 'A szabály mentése';
|
||||
$a->strings['Delete this rule'] = 'A szabály törlése';
|
||||
$a->strings['Rule'] = 'Szabály';
|
||||
$a->strings['Close'] = 'Bezárás';
|
||||
$a->strings['Add new rule'] = 'Új szabály hozzáadása';
|
||||
$a->strings['Rule Name'] = 'Szabály neve';
|
||||
$a->strings['Rule Expression'] = 'Szabály kifejezése';
|
||||
$a->strings['Cancel'] = 'Mégse';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy bejegyzése legyen';
|
||||
$a->strings['You must be logged in to use this method'] = 'Bejelentkezve kell lennie a módszer használatához';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Érvénytelen űrlap biztonsági token. Frissítse az oldalt.';
|
||||
$a->strings['The rule name and expression are required.'] = 'A szabály neve és kifejezése kötelező.';
|
||||
$a->strings['Rule successfully added'] = 'A szabály sikeresen hozzáadva';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'A szabály nem létezik vagy nem Önhöz tatozik.';
|
||||
$a->strings['Rule successfully updated'] = 'A szabály sikeresen frissítve';
|
||||
$a->strings['Rule successfully deleted'] = 'A szabály sikeresen törölve';
|
||||
$a->strings['Missing argument: guid.'] = 'Hiányzó argumentum: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Ismeretlen bejegyzés a következő guid azonosítóval: %s';
|
||||
$a->strings['Method not found'] = 'A módszer nem található';
|
||||
|
|
|
@ -3,60 +3,63 @@
|
|||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2018
|
||||
# Sylke Vicious <silkevicious@gmail.com>, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>, 2018\n"
|
||||
"Language-Team: Italian (https://www.transifex.com/Friendica/teams/12172/it/)\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Sylke Vicious <silkevicious@gmail.com>, 2023\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/Friendica/teams/12172/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrato dalla regola: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtro Avanzato Contenuti"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Torna alle impostazioni del componente aggiuntivo"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Aggiungi una regola"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Aggiungi e gestisci le tue regole personali di filtro contenuti in questa "
|
||||
"schermata. Le regole hanno un nome e un'espressione arbitraria che sarà "
|
||||
"confrontata con i dati del messaggio. Per un elenco completo delle "
|
||||
"operazioni disponibili, controlla la <a "
|
||||
"href=\"advancedcontentfilter/help\">pagina di aiuto</a>."
|
||||
"operazioni e variabili disponibili, controlla la pagina di aiuto."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Le tue regole"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -64,110 +67,106 @@ msgstr ""
|
|||
"Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui "
|
||||
"sopra a fianco al titolo."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Disabilitato"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Abilitato"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diabilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Abilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifica questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifica la regola"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Salva questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Elimina questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regola"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Aggiungi nuova regola"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nome Regola"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Espressione Regola"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Esempi:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "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"
|
||||
msgstr "Devi essere autenticato per usare questo metodo"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Token di sicurezza invalido, aggiorna la pagina."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Il nome e l'espressione della regola sono richiesti."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regola aggiunta con successo"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "La regola non esiste o non ti appartiene."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regola aggiornata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regola eliminata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argomento mancante: guid."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Messaggio con guid %s sconosciuto"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Metodo non trovato"
|
||||
|
|
|
@ -3,36 +3,38 @@
|
|||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
if ($n == 1) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrato dalla regola: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Filtro Avanzato Contenuti";
|
||||
$a->strings["Back to Addon Settings"] = "Torna alle impostazioni del componente aggiuntivo";
|
||||
$a->strings["Add a Rule"] = "Aggiungi una regola";
|
||||
$a->strings["Help"] = "Aiuto";
|
||||
$a->strings["Your rules"] = "Le tue regole";
|
||||
$a->strings["Disabled"] = "Disabilitato";
|
||||
$a->strings["Enabled"] = "Abilitato";
|
||||
$a->strings["Disable this rule"] = "Diabilita questa regola";
|
||||
$a->strings["Enable this rule"] = "Abilita questa regola";
|
||||
$a->strings["Edit this rule"] = "Modifica questa regola";
|
||||
$a->strings["Edit the rule"] = "Modifica la regola";
|
||||
$a->strings["Save this rule"] = "Salva questa regola";
|
||||
$a->strings["Delete this rule"] = "Elimina questa regola";
|
||||
$a->strings["Rule"] = "Regola";
|
||||
$a->strings["Close"] = "Chiudi";
|
||||
$a->strings["Add new rule"] = "Aggiungi nuova regola";
|
||||
$a->strings["Rule Name"] = "Nome Regola";
|
||||
$a->strings["Rule Expression"] = "Espressione Regola";
|
||||
$a->strings["Cancel"] = "Annulla";
|
||||
$a->strings["You must be logged in to use this method"] = "Devi essere autenticato per usare questo metodo";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Token di sicurezza invalido, aggiorna la pagina.";
|
||||
$a->strings["The rule name and expression are required."] = "Il nome e l'espressione della regola sono richiesti.";
|
||||
$a->strings["Rule successfully added"] = "Regola aggiunta con successo";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regola non esiste o non ti appartiene.";
|
||||
$a->strings["Rule successfully updated"] = "Regola aggiornata con successo";
|
||||
$a->strings["Rule successfully deleted"] = "Regola eliminata con successo";
|
||||
$a->strings["Missing argument: guid."] = "Argomento mancante: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Messaggio con guid %s sconosciuto";
|
||||
$a->strings["Method not found"] = "Metodo non trovato";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrato dalla regola: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtro Avanzato Contenuti';
|
||||
$a->strings['Back to Addon Settings'] = 'Torna alle impostazioni del componente aggiuntivo';
|
||||
$a->strings['Add a Rule'] = 'Aggiungi una regola';
|
||||
$a->strings['Help'] = 'Aiuto';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un\'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni e variabili disponibili, controlla la pagina di aiuto.';
|
||||
$a->strings['Your rules'] = 'Le tue regole';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui sopra a fianco al titolo.';
|
||||
$a->strings['Disabled'] = 'Disabilitato';
|
||||
$a->strings['Enabled'] = 'Abilitato';
|
||||
$a->strings['Disable this rule'] = 'Diabilita questa regola';
|
||||
$a->strings['Enable this rule'] = 'Abilita questa regola';
|
||||
$a->strings['Edit this rule'] = 'Modifica questa regola';
|
||||
$a->strings['Edit the rule'] = 'Modifica la regola';
|
||||
$a->strings['Save this rule'] = 'Salva questa regola';
|
||||
$a->strings['Delete this rule'] = 'Elimina questa regola';
|
||||
$a->strings['Rule'] = 'Regola';
|
||||
$a->strings['Close'] = 'Chiudi';
|
||||
$a->strings['Add new rule'] = 'Aggiungi nuova regola';
|
||||
$a->strings['Rule Name'] = 'Nome Regola';
|
||||
$a->strings['Rule Expression'] = 'Espressione Regola';
|
||||
$a->strings['Cancel'] = 'Annulla';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Questo addon richiede che questo nodo abbia almeno un messaggio';
|
||||
$a->strings['You must be logged in to use this method'] = 'Devi essere autenticato per usare questo metodo';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token di sicurezza invalido, aggiorna la pagina.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Il nome e l\'espressione della regola sono richiesti.';
|
||||
$a->strings['Rule successfully added'] = 'Regola aggiunta con successo';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regola non esiste o non ti appartiene.';
|
||||
$a->strings['Rule successfully updated'] = 'Regola aggiornata con successo';
|
||||
$a->strings['Rule successfully deleted'] = 'Regola eliminata con successo';
|
||||
$a->strings['Missing argument: guid.'] = 'Argomento mancante: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Messaggio con guid %s sconosciuto';
|
||||
$a->strings['Method not found'] = 'Metodo non trovato';
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_nl($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Gefilterd volgens regel: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Geavanceerd filter voor berichtsinhoud";
|
||||
$a->strings["Back to Addon Settings"] = "Terug naar Addon instellingen";
|
||||
$a->strings["Add a Rule"] = "Filterregel toevoegen";
|
||||
$a->strings["Help"] = "Help";
|
||||
$a->strings["Your rules"] = "Jouw regels";
|
||||
$a->strings["Disabled"] = "Uitgeschakeld";
|
||||
$a->strings["Enabled"] = "Geactiveerd";
|
||||
$a->strings["Disable this rule"] = "Deze regel uitschakelen";
|
||||
$a->strings["Enable this rule"] = "Deze regel inschakelen";
|
||||
$a->strings["Edit this rule"] = "Regel bewerken";
|
||||
$a->strings["Edit the rule"] = "Regel bewerken";
|
||||
$a->strings["Save this rule"] = "Deze regel opslaan";
|
||||
$a->strings["Delete this rule"] = "Deze regel verwijderen";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Sluiten";
|
||||
$a->strings["Add new rule"] = "Voeg nieuwe regel toe";
|
||||
$a->strings["Rule Name"] = "Regel naam";
|
||||
$a->strings["Rule Expression"] = "Regel bewoording";
|
||||
$a->strings["Cancel"] = "Annuleren";
|
||||
$a->strings["You must be logged in to use this method"] = "Je moet ingelogd zijn om deze methode te gebruiken";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.";
|
||||
$a->strings["The rule name and expression are required."] = "De regelnaam en bewoording zijn vereist.";
|
||||
$a->strings["Rule successfully added"] = "Regel succesvol toegevoegd";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Deze regel bestaat niet, of is niet van jou.";
|
||||
$a->strings["Rule successfully updated"] = "Regel succesvol opgeslagen";
|
||||
$a->strings["Rule successfully deleted"] = "Regel succesvol verwijderd";
|
||||
$a->strings["Missing argument: guid."] = "Parameter guid niet aanwezig";
|
||||
$a->strings["Unknown post with guid: %s"] = "Onbekend bericht met guid: %s";
|
||||
$a->strings["Method not found"] = "Methode niet gevonden";
|
||||
$a->strings['Filtered by rule: %s'] = 'Gefilterd volgens regel: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Geavanceerd filter voor berichtsinhoud';
|
||||
$a->strings['Back to Addon Settings'] = 'Terug naar Addon instellingen';
|
||||
$a->strings['Add a Rule'] = 'Filterregel toevoegen';
|
||||
$a->strings['Help'] = 'Help';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Beheer de filterregels van je persoonlijke filter voor berichtsinhoud in dit scherm. Regels hebben een naam en bewoording welke we automatisch controleren door te vergelijken met de inhoud van elk bericht. Voor een compleet naslagwerk van de beschikbare bewerkingen en variabelen, zie de <a href="advancedcontentfilter/help">help pagina</a>.';
|
||||
$a->strings['Your rules'] = 'Jouw regels';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Je hebt nog geen regels! Klik op de knop bovenin naast de titel om een regel toe te voegen.';
|
||||
$a->strings['Disabled'] = 'Uitgeschakeld';
|
||||
$a->strings['Enabled'] = 'Geactiveerd';
|
||||
$a->strings['Disable this rule'] = 'Deze regel uitschakelen';
|
||||
$a->strings['Enable this rule'] = 'Deze regel inschakelen';
|
||||
$a->strings['Edit this rule'] = 'Regel bewerken';
|
||||
$a->strings['Edit the rule'] = 'Regel bewerken';
|
||||
$a->strings['Save this rule'] = 'Deze regel opslaan';
|
||||
$a->strings['Delete this rule'] = 'Deze regel verwijderen';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Sluiten';
|
||||
$a->strings['Add new rule'] = 'Voeg nieuwe regel toe';
|
||||
$a->strings['Rule Name'] = 'Regel naam';
|
||||
$a->strings['Rule Expression'] = 'Regel bewoording';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Voorbeelden:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>label</li></ul>';
|
||||
$a->strings['Cancel'] = 'Annuleren';
|
||||
$a->strings['You must be logged in to use this method'] = 'Je moet ingelogd zijn om deze methode te gebruiken';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.';
|
||||
$a->strings['The rule name and expression are required.'] = 'De regelnaam en bewoording zijn vereist.';
|
||||
$a->strings['Rule successfully added'] = 'Regel succesvol toegevoegd';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Deze regel bestaat niet, of is niet van jou.';
|
||||
$a->strings['Rule successfully updated'] = 'Regel succesvol opgeslagen';
|
||||
$a->strings['Rule successfully deleted'] = 'Regel succesvol verwijderd';
|
||||
$a->strings['Missing argument: guid.'] = 'Parameter guid niet aanwezig';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Onbekend bericht met guid: %s';
|
||||
$a->strings['Method not found'] = 'Methode niet gevonden';
|
||||
|
|
|
@ -3,14 +3,19 @@
|
|||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Waldemar Stoczkowski, 2018
|
||||
# Joe Doe, 2021
|
||||
# Piotr Strębski <strebski@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Waldemar Stoczkowski <waldemar.stoczkowski@gmail.com>, 2018\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2022\n"
|
||||
"Language-Team: Polish (https://www.transifex.com/Friendica/teams/12172/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -18,44 +23,44 @@ msgstr ""
|
|||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr " Filtruj według reguły: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Zaawansowany filtr zawartości"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Powrót do ustawień dodatków"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Dodaj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Dodaj i zarządzaj regułami filtrowania treści osobistych na tym ekranie. "
|
||||
"Reguły mają nazwę i dowolne wyrażenie, które zostanie dopasowane do danych "
|
||||
"postów. Aby uzyskać pełne informacje o dostępnych operacjach i zmiennych, "
|
||||
"sprawdź <a href=\"advancedcontentfilter/help\">stronę pomocy</a>."
|
||||
"Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania "
|
||||
"treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego "
|
||||
"przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych "
|
||||
"opracji oraz zmiennych, zapoznaj się ze stronę pomocy."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Twoje zasady"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -63,110 +68,106 @@ msgstr ""
|
|||
"Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk "
|
||||
"znajdujący się nad tytułem."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłącz"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Włącz"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Wyłącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Włącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Edytuj tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Edytuj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Zapisz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Usuń tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Reguła"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Dodaj nową regułę"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nazwa reguły"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Wyrażanie reguły"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>przykład</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tagi</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Musisz być zalogowany, aby skorzystać z tej metody"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Nieprawidłowy token zabezpieczający formularz, odśwież stronę."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Nazwa reguły i wyrażenie są wymagane."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Reguła została pomyślnie dodana"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Reguła nie istnieje lub nie należy do ciebie."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Reguła została pomyślnie zaktualizowana"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Reguła została pomyślnie usunięta"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Brakujący argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Nieznany post z guid:%s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Nie znaleziono metody"
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_pl($n){
|
|||
$n = intval($n);
|
||||
if ($n==1) { return 0; } else if (($n%10>=2 && $n%10<=4) && ($n%100<12 || $n%100>14)) { return 1; } else if ($n!=1 && ($n%10>=0 && $n%10<=1) || ($n%10>=5 && $n%10<=9) || ($n%100>=12 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = " Filtruj według reguły: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Zaawansowany filtr zawartości";
|
||||
$a->strings["Back to Addon Settings"] = "Powrót do ustawień dodatków";
|
||||
$a->strings["Add a Rule"] = "Dodaj regułę";
|
||||
$a->strings["Help"] = "Pomoc";
|
||||
$a->strings["Your rules"] = "Twoje zasady";
|
||||
$a->strings["Disabled"] = "Wyłącz";
|
||||
$a->strings["Enabled"] = "Włącz";
|
||||
$a->strings["Disable this rule"] = "Wyłącz tę regułę";
|
||||
$a->strings["Enable this rule"] = "Włącz tę regułę";
|
||||
$a->strings["Edit this rule"] = "Edytuj tę regułę";
|
||||
$a->strings["Edit the rule"] = "Edytuj regułę";
|
||||
$a->strings["Save this rule"] = "Zapisz tę regułę";
|
||||
$a->strings["Delete this rule"] = "Usuń tę regułę";
|
||||
$a->strings["Rule"] = "Reguła";
|
||||
$a->strings["Close"] = "Zamknij";
|
||||
$a->strings["Add new rule"] = "Dodaj nową regułę";
|
||||
$a->strings["Rule Name"] = "Nazwa reguły";
|
||||
$a->strings["Rule Expression"] = "Wyrażanie reguły";
|
||||
$a->strings["Cancel"] = "Anuluj";
|
||||
$a->strings["You must be logged in to use this method"] = "Musisz być zalogowany, aby skorzystać z tej metody";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Nieprawidłowy token zabezpieczający formularz, odśwież stronę.";
|
||||
$a->strings["The rule name and expression are required."] = "Nazwa reguły i wyrażenie są wymagane.";
|
||||
$a->strings["Rule successfully added"] = "Reguła została pomyślnie dodana";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Reguła nie istnieje lub nie należy do ciebie.";
|
||||
$a->strings["Rule successfully updated"] = "Reguła została pomyślnie zaktualizowana";
|
||||
$a->strings["Rule successfully deleted"] = "Reguła została pomyślnie usunięta";
|
||||
$a->strings["Missing argument: guid."] = "Brakujący argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Nieznany post z guid:%s";
|
||||
$a->strings["Method not found"] = "Nie znaleziono metody";
|
||||
$a->strings['Filtered by rule: %s'] = ' Filtruj według reguły: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Zaawansowany filtr zawartości';
|
||||
$a->strings['Back to Addon Settings'] = 'Powrót do ustawień dodatków';
|
||||
$a->strings['Add a Rule'] = 'Dodaj regułę';
|
||||
$a->strings['Help'] = 'Pomoc';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych opracji oraz zmiennych, zapoznaj się ze stronę pomocy.';
|
||||
$a->strings['Your rules'] = 'Twoje zasady';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk znajdujący się nad tytułem.';
|
||||
$a->strings['Disabled'] = 'Wyłącz';
|
||||
$a->strings['Enabled'] = 'Włącz';
|
||||
$a->strings['Disable this rule'] = 'Wyłącz tę regułę';
|
||||
$a->strings['Enable this rule'] = 'Włącz tę regułę';
|
||||
$a->strings['Edit this rule'] = 'Edytuj tę regułę';
|
||||
$a->strings['Edit the rule'] = 'Edytuj regułę';
|
||||
$a->strings['Save this rule'] = 'Zapisz tę regułę';
|
||||
$a->strings['Delete this rule'] = 'Usuń tę regułę';
|
||||
$a->strings['Rule'] = 'Reguła';
|
||||
$a->strings['Close'] = 'Zamknij';
|
||||
$a->strings['Add new rule'] = 'Dodaj nową regułę';
|
||||
$a->strings['Rule Name'] = 'Nazwa reguły';
|
||||
$a->strings['Rule Expression'] = 'Wyrażanie reguły';
|
||||
$a->strings['Cancel'] = 'Anuluj';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis';
|
||||
$a->strings['You must be logged in to use this method'] = 'Musisz być zalogowany, aby skorzystać z tej metody';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Nieprawidłowy token zabezpieczający formularz, odśwież stronę.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Nazwa reguły i wyrażenie są wymagane.';
|
||||
$a->strings['Rule successfully added'] = 'Reguła została pomyślnie dodana';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Reguła nie istnieje lub nie należy do ciebie.';
|
||||
$a->strings['Rule successfully updated'] = 'Reguła została pomyślnie zaktualizowana';
|
||||
$a->strings['Rule successfully deleted'] = 'Reguła została pomyślnie usunięta';
|
||||
$a->strings['Missing argument: guid.'] = 'Brakujący argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Nieznany post z guid:%s';
|
||||
$a->strings['Method not found'] = 'Nie znaleziono metody';
|
||||
|
|
|
@ -6,15 +6,16 @@
|
|||
# Translators:
|
||||
# Alexey Adamov <2077@tutanota.com>, 2019
|
||||
# Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020
|
||||
# Alexander An <ravnina@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020\n"
|
||||
"Last-Translator: Alexander An <ravnina@gmail.com>, 2022\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/Friendica/teams/12172/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -22,44 +23,44 @@ msgstr ""
|
|||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Отфильтровано по правилу: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Расширенный фильтр содержимого"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Вернуться к настройкам дополнений"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Добавить правило"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Помощь"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Добавляйте и управляйте своими собственными фильтрами на этой странице. У "
|
||||
"правил есть имя и произвольное выражение, которое будет сопоставляться с "
|
||||
"данными поста. Для полной ссылки на доступные операции и переменные, "
|
||||
"посмотрите <a href=\"advancedcontentfilter/help\">страницу справки</a>."
|
||||
"посмотрите страницу справки."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Ваши правила"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -67,110 +68,106 @@ msgstr ""
|
|||
"У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку "
|
||||
"выше, рядом с названием."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Отключено"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Включено"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Отключить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Включить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Изменить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Изменить правило"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Сохранить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Удалить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Правило"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Добавить новое правило"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Название правила"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Содержание правила"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Примеры:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Это дополнение требует наличия хотя бы одной записи на этом узле."
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Вы должны авторизоваться для использования этого метода"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Неверный ключ, пожалуйста, перезагрузите страницу"
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Требуется ввести название и значение правила."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Правило успешно добавлено"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Правило не найдено или доступ к нему закрыт"
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Правило успешно обновлено"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Правило успешно удалено"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Отсутствующий аргумент: guid."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Неизвестный пост в ID: %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Метод не найден"
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_ru($n){
|
|||
$n = intval($n);
|
||||
if ($n%10==1 && $n%100!=11) { return 0; } else if ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14)) { return 1; } else if ($n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Отфильтровано по правилу: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Расширенный фильтр содержимого";
|
||||
$a->strings["Back to Addon Settings"] = "Вернуться к настройкам дополнений";
|
||||
$a->strings["Add a Rule"] = "Добавить правило";
|
||||
$a->strings["Help"] = "Помощь";
|
||||
$a->strings["Your rules"] = "Ваши правила";
|
||||
$a->strings["Disabled"] = "Отключено";
|
||||
$a->strings["Enabled"] = "Включено";
|
||||
$a->strings["Disable this rule"] = "Отключить это правило";
|
||||
$a->strings["Enable this rule"] = "Включить это правило";
|
||||
$a->strings["Edit this rule"] = "Изменить это правило";
|
||||
$a->strings["Edit the rule"] = "Изменить правило";
|
||||
$a->strings["Save this rule"] = "Сохранить это правило";
|
||||
$a->strings["Delete this rule"] = "Удалить это правило";
|
||||
$a->strings["Rule"] = "Правило";
|
||||
$a->strings["Close"] = "Закрыть";
|
||||
$a->strings["Add new rule"] = "Добавить новое правило";
|
||||
$a->strings["Rule Name"] = "Название правила";
|
||||
$a->strings["Rule Expression"] = "Содержание правила";
|
||||
$a->strings["Cancel"] = "Отмена";
|
||||
$a->strings["You must be logged in to use this method"] = "Вы должны авторизоваться для использования этого метода";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Неверный ключ, пожалуйста, перезагрузите страницу";
|
||||
$a->strings["The rule name and expression are required."] = "Требуется ввести название и значение правила.";
|
||||
$a->strings["Rule successfully added"] = "Правило успешно добавлено";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Правило не найдено или доступ к нему закрыт";
|
||||
$a->strings["Rule successfully updated"] = "Правило успешно обновлено";
|
||||
$a->strings["Rule successfully deleted"] = "Правило успешно удалено";
|
||||
$a->strings["Missing argument: guid."] = "Отсутствующий аргумент: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Неизвестный пост в ID: %s";
|
||||
$a->strings["Method not found"] = "Метод не найден";
|
||||
$a->strings['Filtered by rule: %s'] = 'Отфильтровано по правилу: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Расширенный фильтр содержимого';
|
||||
$a->strings['Back to Addon Settings'] = 'Вернуться к настройкам дополнений';
|
||||
$a->strings['Add a Rule'] = 'Добавить правило';
|
||||
$a->strings['Help'] = 'Помощь';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Добавляйте и управляйте своими собственными фильтрами на этой странице. У правил есть имя и произвольное выражение, которое будет сопоставляться с данными поста. Для полной ссылки на доступные операции и переменные, посмотрите страницу справки.';
|
||||
$a->strings['Your rules'] = 'Ваши правила';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку выше, рядом с названием.';
|
||||
$a->strings['Disabled'] = 'Отключено';
|
||||
$a->strings['Enabled'] = 'Включено';
|
||||
$a->strings['Disable this rule'] = 'Отключить это правило';
|
||||
$a->strings['Enable this rule'] = 'Включить это правило';
|
||||
$a->strings['Edit this rule'] = 'Изменить это правило';
|
||||
$a->strings['Edit the rule'] = 'Изменить правило';
|
||||
$a->strings['Save this rule'] = 'Сохранить это правило';
|
||||
$a->strings['Delete this rule'] = 'Удалить это правило';
|
||||
$a->strings['Rule'] = 'Правило';
|
||||
$a->strings['Close'] = 'Закрыть';
|
||||
$a->strings['Add new rule'] = 'Добавить новое правило';
|
||||
$a->strings['Rule Name'] = 'Название правила';
|
||||
$a->strings['Rule Expression'] = 'Содержание правила';
|
||||
$a->strings['Cancel'] = 'Отмена';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Это дополнение требует наличия хотя бы одной записи на этом узле.';
|
||||
$a->strings['You must be logged in to use this method'] = 'Вы должны авторизоваться для использования этого метода';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Неверный ключ, пожалуйста, перезагрузите страницу';
|
||||
$a->strings['The rule name and expression are required.'] = 'Требуется ввести название и значение правила.';
|
||||
$a->strings['Rule successfully added'] = 'Правило успешно добавлено';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Правило не найдено или доступ к нему закрыт';
|
||||
$a->strings['Rule successfully updated'] = 'Правило успешно обновлено';
|
||||
$a->strings['Rule successfully deleted'] = 'Правило успешно удалено';
|
||||
$a->strings['Missing argument: guid.'] = 'Отсутствующий аргумент: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Неизвестный пост в ID: %s';
|
||||
$a->strings['Method not found'] = 'Метод не найден';
|
||||
|
|
|
@ -5,15 +5,16 @@
|
|||
#
|
||||
# Translators:
|
||||
# Bjoessi <torbjorn.andersson@syte.se>, 2019
|
||||
# Viktor Nilsson, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Bjoessi <torbjorn.andersson@syte.se>, 2019\n"
|
||||
"Last-Translator: Viktor Nilsson, 2022\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/Friendica/teams/12172/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -21,44 +22,44 @@ msgstr ""
|
|||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrerat efter regel: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Avancerat innehållsfiter"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "TIllbaka till Tilläggsinställningar"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Lägg till en regel"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Hjälp"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Lägg till och hantera dina personliga regler för innehållsfilter i det här "
|
||||
"fönstret. Regler har ett namn och ett valfritt uttryck och kommer jämföras "
|
||||
"mot inläggets innehåll. Förteckning av alla operander och variabler finns "
|
||||
"att hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
|
||||
"fönstret. Regler har ett namn och ett filteruttryck som jämförs mot "
|
||||
"inläggets innehåll. Förteckning över alla operander och variabler finns att "
|
||||
"hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Dina regler"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -66,110 +67,106 @@ msgstr ""
|
|||
"Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför,"
|
||||
" bredvid överskriften."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Inaktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Inaktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Aktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Spara den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Ta bort den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Lägg till ny regel"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Regelnamn"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Regeluttryck"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Exempel:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>taggar</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Detta tillägg kräver att denna nod har åtminstone ett inlägg"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Du måste vara inloggad för att använda den här funktionen"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Regelns namn och uttryck krävs."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regeln kunde läggas till"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Regeln finns inte eller tillhör inte dig."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Uppdatering av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Borttagning av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument saknas: guid."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Okänt inlägg med guid: %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Metod hittades inte"
|
||||
|
|
|
@ -5,34 +5,36 @@ function string_plural_select_sv($n){
|
|||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrerat efter regel: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Avancerat innehållsfiter";
|
||||
$a->strings["Back to Addon Settings"] = "TIllbaka till Tilläggsinställningar";
|
||||
$a->strings["Add a Rule"] = "Lägg till en regel";
|
||||
$a->strings["Help"] = "Hjälp";
|
||||
$a->strings["Your rules"] = "Dina regler";
|
||||
$a->strings["Disabled"] = "Inaktiverad";
|
||||
$a->strings["Enabled"] = "Aktiverad";
|
||||
$a->strings["Disable this rule"] = "Inaktivera den här regeln";
|
||||
$a->strings["Enable this rule"] = "Aktivera den här regeln";
|
||||
$a->strings["Edit this rule"] = "Redigera den här regeln";
|
||||
$a->strings["Edit the rule"] = "Redigera den här regeln";
|
||||
$a->strings["Save this rule"] = "Spara den här regeln";
|
||||
$a->strings["Delete this rule"] = "Ta bort den här regeln";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Stäng";
|
||||
$a->strings["Add new rule"] = "Lägg till ny regel";
|
||||
$a->strings["Rule Name"] = "Regelnamn";
|
||||
$a->strings["Rule Expression"] = "Regeluttryck";
|
||||
$a->strings["Cancel"] = "Avbryt";
|
||||
$a->strings["You must be logged in to use this method"] = "Du måste vara inloggad för att använda den här funktionen";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.";
|
||||
$a->strings["The rule name and expression are required."] = "Regelns namn och uttryck krävs.";
|
||||
$a->strings["Rule successfully added"] = "Regeln kunde läggas till";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Regeln finns inte eller tillhör inte dig.";
|
||||
$a->strings["Rule successfully updated"] = "Uppdatering av regel lyckades";
|
||||
$a->strings["Rule successfully deleted"] = "Borttagning av regel lyckades";
|
||||
$a->strings["Missing argument: guid."] = "Argument saknas: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Okänt inlägg med guid: %s";
|
||||
$a->strings["Method not found"] = "Metod hittades inte";
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrerat efter regel: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Avancerat innehållsfiter';
|
||||
$a->strings['Back to Addon Settings'] = 'TIllbaka till Tilläggsinställningar';
|
||||
$a->strings['Add a Rule'] = 'Lägg till en regel';
|
||||
$a->strings['Help'] = 'Hjälp';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Lägg till och hantera dina personliga regler för innehållsfilter i det här fönstret. Regler har ett namn och ett filteruttryck som jämförs mot inläggets innehåll. Förteckning över alla operander och variabler finns att hitta på <a href="advancedcontentfilter/help">hjälpsidan</a>.';
|
||||
$a->strings['Your rules'] = 'Dina regler';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför, bredvid överskriften.';
|
||||
$a->strings['Disabled'] = 'Inaktiverad';
|
||||
$a->strings['Enabled'] = 'Aktiverad';
|
||||
$a->strings['Disable this rule'] = 'Inaktivera den här regeln';
|
||||
$a->strings['Enable this rule'] = 'Aktivera den här regeln';
|
||||
$a->strings['Edit this rule'] = 'Redigera den här regeln';
|
||||
$a->strings['Edit the rule'] = 'Redigera den här regeln';
|
||||
$a->strings['Save this rule'] = 'Spara den här regeln';
|
||||
$a->strings['Delete this rule'] = 'Ta bort den här regeln';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Stäng';
|
||||
$a->strings['Add new rule'] = 'Lägg till ny regel';
|
||||
$a->strings['Rule Name'] = 'Regelnamn';
|
||||
$a->strings['Rule Expression'] = 'Regeluttryck';
|
||||
$a->strings['Cancel'] = 'Avbryt';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Detta tillägg kräver att denna nod har åtminstone ett inlägg';
|
||||
$a->strings['You must be logged in to use this method'] = 'Du måste vara inloggad för att använda den här funktionen';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Regelns namn och uttryck krävs.';
|
||||
$a->strings['Rule successfully added'] = 'Regeln kunde läggas till';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Regeln finns inte eller tillhör inte dig.';
|
||||
$a->strings['Rule successfully updated'] = 'Uppdatering av regel lyckades';
|
||||
$a->strings['Rule successfully deleted'] = 'Borttagning av regel lyckades';
|
||||
$a->strings['Missing argument: guid.'] = 'Argument saknas: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Okänt inlägg med guid: %s';
|
||||
$a->strings['Method not found'] = 'Metod hittades inte';
|
||||
|
|
|
@ -5,35 +5,36 @@ function string_plural_select_zh_cn($n){
|
|||
$n = intval($n);
|
||||
return intval(0);
|
||||
}}
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "通过规则过滤:%s";
|
||||
$a->strings["Advanced Content Filter"] = "高级内容过滤";
|
||||
$a->strings["Back to Addon Settings"] = "返回扩展设置";
|
||||
$a->strings["Add a Rule"] = "添加规则";
|
||||
$a->strings["Help"] = "帮助";
|
||||
$a->strings["Your rules"] = "你的规则";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "你还没有规则!点击标题上方的按钮开始新增规则。";
|
||||
$a->strings["Disabled"] = "禁用";
|
||||
$a->strings["Enabled"] = "启用";
|
||||
$a->strings["Disable this rule"] = "禁用此规则";
|
||||
$a->strings["Enable this rule"] = "启用此规则";
|
||||
$a->strings["Edit this rule"] = "编辑此规则";
|
||||
$a->strings["Edit the rule"] = "编辑规则";
|
||||
$a->strings["Save this rule"] = "保存规则";
|
||||
$a->strings["Delete this rule"] = "删除此规则";
|
||||
$a->strings["Rule"] = "规则";
|
||||
$a->strings["Close"] = "关闭";
|
||||
$a->strings["Add new rule"] = "新增规则";
|
||||
$a->strings["Rule Name"] = "规则名";
|
||||
$a->strings["Rule Expression"] = "规则表达式";
|
||||
$a->strings["Cancel"] = "取消";
|
||||
$a->strings["You must be logged in to use this method"] = "使用此模式您必须先登录。";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "无效的安全令牌,请刷新页面。";
|
||||
$a->strings["The rule name and expression are required."] = "规则名和表达式必填。";
|
||||
$a->strings["Rule successfully added"] = "规则添加成功。";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "规则不存在或不属于你。";
|
||||
$a->strings["Rule successfully updated"] = "规则更新成功";
|
||||
$a->strings["Rule successfully deleted"] = "规则删除成功";
|
||||
$a->strings["Missing argument: guid."] = "缺少参数:guid。";
|
||||
$a->strings["Unknown post with guid: %s"] = "未知帖子 guid:%s";
|
||||
$a->strings["Method not found"] = "未找到模式";
|
||||
$a->strings['Filtered by rule: %s'] = '通过规则过滤:%s';
|
||||
$a->strings['Advanced Content Filter'] = '高级内容过滤';
|
||||
$a->strings['Back to Addon Settings'] = '返回扩展设置';
|
||||
$a->strings['Add a Rule'] = '添加规则';
|
||||
$a->strings['Help'] = '帮助';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = '在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a href="advancedcontentfilter/help">帮助页面</a>。';
|
||||
$a->strings['Your rules'] = '你的规则';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '你还没有规则!点击标题上方的按钮开始新增规则。';
|
||||
$a->strings['Disabled'] = '禁用';
|
||||
$a->strings['Enabled'] = '启用';
|
||||
$a->strings['Disable this rule'] = '禁用此规则';
|
||||
$a->strings['Enable this rule'] = '启用此规则';
|
||||
$a->strings['Edit this rule'] = '编辑此规则';
|
||||
$a->strings['Edit the rule'] = '编辑规则';
|
||||
$a->strings['Save this rule'] = '保存规则';
|
||||
$a->strings['Delete this rule'] = '删除此规则';
|
||||
$a->strings['Rule'] = '规则';
|
||||
$a->strings['Close'] = '关闭';
|
||||
$a->strings['Add new rule'] = '新增规则';
|
||||
$a->strings['Rule Name'] = '规则名';
|
||||
$a->strings['Rule Expression'] = '规则表达式';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>例子:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = '取消';
|
||||
$a->strings['You must be logged in to use this method'] = '使用此模式您必须先登录。';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = '无效的安全令牌,请刷新页面。';
|
||||
$a->strings['The rule name and expression are required.'] = '规则名和表达式必填。';
|
||||
$a->strings['Rule successfully added'] = '规则添加成功。';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = '规则不存在或不属于你。';
|
||||
$a->strings['Rule successfully updated'] = '规则更新成功';
|
||||
$a->strings['Rule successfully deleted'] = '规则删除成功';
|
||||
$a->strings['Missing argument: guid.'] = '缺少参数:guid。';
|
||||
$a->strings['Unknown post with guid: %s'] = '未知帖子 guid:%s';
|
||||
$a->strings['Method not found'] = '未找到模式';
|
||||
|
|
|
@ -21,31 +21,12 @@
|
|||
|
||||
use Friendica\DI;
|
||||
|
||||
$container = $slim->getContainer();
|
||||
/** @var $slim \Slim\App */
|
||||
|
||||
// Error handler based off https://stackoverflow.com/a/48135009/757392
|
||||
$container['errorHandler'] = function () {
|
||||
return function(Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response, Exception $exception)
|
||||
{
|
||||
$responseCode = 500;
|
||||
/**
|
||||
* The routing middleware should be added before the ErrorMiddleware
|
||||
* Otherwise exceptions thrown from it will not be handled
|
||||
*/
|
||||
$slim->addRoutingMiddleware();
|
||||
|
||||
if (is_a($exception, 'Friendica\Network\HTTPException')) {
|
||||
$responseCode = $exception->getCode();
|
||||
}
|
||||
|
||||
$errors['message'] = $exception->getMessage();
|
||||
|
||||
$errors['responseCode'] = $responseCode;
|
||||
|
||||
return $response
|
||||
->withStatus($responseCode)
|
||||
->withJson($errors);
|
||||
};
|
||||
};
|
||||
|
||||
$container['notFoundHandler'] = function () {
|
||||
return function ()
|
||||
{
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException(DI::l10n()->t('Method not found'));
|
||||
};
|
||||
};
|
||||
$errorMiddleware = $slim->addErrorMiddleware(true, true, true, DI::logger());
|
||||
|
|
|
@ -20,20 +20,17 @@
|
|||
*/
|
||||
|
||||
/* @var $slim Slim\App */
|
||||
$slim->group('/advancedcontentfilter/api', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->group('/rules', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->get('', 'advancedcontentfilter_get_rules');
|
||||
$this->post('', 'advancedcontentfilter_post_rules');
|
||||
$slim->group('/advancedcontentfilter/api', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->group('/rules', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->get('', 'advancedcontentfilter_get_rules');
|
||||
$app->post('', 'advancedcontentfilter_post_rules');
|
||||
|
||||
$this->get('/{id}', 'advancedcontentfilter_get_rules_id');
|
||||
$this->put('/{id}', 'advancedcontentfilter_put_rules_id');
|
||||
$this->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
|
||||
$app->get('/{id}', 'advancedcontentfilter_get_rules_id');
|
||||
$app->put('/{id}', 'advancedcontentfilter_put_rules_id');
|
||||
$app->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
|
||||
});
|
||||
|
||||
$this->group('/variables', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
|
||||
$app->group('/variables', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
3. Replace the render and staticRenderFns members in advancedcontentfilter.js by the contents of the anonymous() functions
|
||||
-->
|
||||
<div id="rules">
|
||||
<p><a href="settings/addon">🔙 {{ messages.backtosettings }}</a></p>
|
||||
<p><a href="settings/addons">🔙 {{ messages.backtosettings }}</a></p>
|
||||
<h1>
|
||||
{{ messages.title }}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div id="rules"></div>
|
||||
|
||||
<script>
|
||||
var existingRules = {{$rules nofilter}};
|
||||
var existingRules = {{$rules|json_encode nofilter}};
|
||||
|
||||
var messages = {
|
||||
{{foreach $messages as $key => $value}}
|
||||
|
@ -17,6 +17,6 @@
|
|||
</script>
|
||||
|
||||
<!-- JS -->
|
||||
<script src="{{$baseurl}}/view/asset/vue/dist/vue.min.js"></script>
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script>
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script>
|
||||
</div>
|
||||
|
|
|
@ -60,7 +60,7 @@ class ClassLoader
|
|||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
||||
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
||||
}
|
||||
|
||||
return array();
|
||||
|
@ -279,7 +279,7 @@ class ClassLoader
|
|||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php',
|
||||
'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php',
|
||||
'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
|
||||
|
@ -23,27 +24,8 @@ return array(
|
|||
'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php',
|
||||
'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php',
|
||||
'FastRoute\\RouteParser\\Std' => $vendorDir . '/nikic/fast-route/src/RouteParser/Std.php',
|
||||
'Interop\\Container\\ContainerInterface' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
|
||||
'Interop\\Container\\Exception\\ContainerException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
|
||||
'Interop\\Container\\Exception\\NotFoundException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
|
||||
'Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php',
|
||||
'Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
|
||||
'Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
|
||||
'Pimple\\Exception\\InvalidServiceIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
|
||||
'Pimple\\Exception\\UnknownIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
|
||||
'Pimple\\Psr11\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/Container.php',
|
||||
'Pimple\\Psr11\\ServiceLocator' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
|
||||
'Pimple\\ServiceIterator' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceIterator.php',
|
||||
'Pimple\\ServiceProviderInterface' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
|
||||
'Pimple\\Tests\\Fixtures\\Invokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\NonInvokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
|
||||
'Pimple\\Tests\\Fixtures\\Service' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
|
||||
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
|
||||
'Pimple\\Tests\\PimpleTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
|
||||
'Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
|
||||
'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
|
||||
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
|
||||
'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php',
|
||||
'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php',
|
||||
'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php',
|
||||
|
@ -52,12 +34,20 @@ return array(
|
|||
'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
|
||||
'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
|
||||
'Psr\\Http\\Server\\MiddlewareInterface' => $vendorDir . '/psr/http-server-middleware/src/MiddlewareInterface.php',
|
||||
'Psr\\Http\\Server\\RequestHandlerInterface' => $vendorDir . '/psr/http-server-handler/src/RequestHandlerInterface.php',
|
||||
'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
|
||||
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
||||
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
|
||||
|
@ -66,71 +56,100 @@ return array(
|
|||
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
|
||||
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
|
||||
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
|
||||
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
|
||||
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
|
||||
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
||||
'Slim\\App' => $vendorDir . '/slim/slim/Slim/App.php',
|
||||
'Slim\\CallableResolver' => $vendorDir . '/slim/slim/Slim/CallableResolver.php',
|
||||
'Slim\\CallableResolverAwareTrait' => $vendorDir . '/slim/slim/Slim/CallableResolverAwareTrait.php',
|
||||
'Slim\\Collection' => $vendorDir . '/slim/slim/Slim/Collection.php',
|
||||
'Slim\\Container' => $vendorDir . '/slim/slim/Slim/Container.php',
|
||||
'Slim\\DefaultServicesProvider' => $vendorDir . '/slim/slim/Slim/DefaultServicesProvider.php',
|
||||
'Slim\\DeferredCallable' => $vendorDir . '/slim/slim/Slim/DeferredCallable.php',
|
||||
'Slim\\Exception\\ContainerException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerException.php',
|
||||
'Slim\\Exception\\ContainerValueNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
|
||||
'Slim\\Exception\\InvalidMethodException' => $vendorDir . '/slim/slim/Slim/Exception/InvalidMethodException.php',
|
||||
'Slim\\Exception\\MethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
|
||||
'Slim\\Exception\\NotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/NotFoundException.php',
|
||||
'Slim\\Exception\\SlimException' => $vendorDir . '/slim/slim/Slim/Exception/SlimException.php',
|
||||
'Slim\\Handlers\\AbstractError' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractError.php',
|
||||
'Slim\\Handlers\\AbstractHandler' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractHandler.php',
|
||||
'Slim\\Handlers\\Error' => $vendorDir . '/slim/slim/Slim/Handlers/Error.php',
|
||||
'Slim\\Handlers\\NotAllowed' => $vendorDir . '/slim/slim/Slim/Handlers/NotAllowed.php',
|
||||
'Slim\\Handlers\\NotFound' => $vendorDir . '/slim/slim/Slim/Handlers/NotFound.php',
|
||||
'Slim\\Handlers\\PhpError' => $vendorDir . '/slim/slim/Slim/Handlers/PhpError.php',
|
||||
'Slim\\Error\\AbstractErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\JsonErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\XmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
|
||||
'Slim\\Exception\\HttpBadRequestException' => $vendorDir . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
|
||||
'Slim\\Exception\\HttpException' => $vendorDir . '/slim/slim/Slim/Exception/HttpException.php',
|
||||
'Slim\\Exception\\HttpForbiddenException' => $vendorDir . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
|
||||
'Slim\\Exception\\HttpGoneException' => $vendorDir . '/slim/slim/Slim/Exception/HttpGoneException.php',
|
||||
'Slim\\Exception\\HttpInternalServerErrorException' => $vendorDir . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
|
||||
'Slim\\Exception\\HttpMethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
|
||||
'Slim\\Exception\\HttpNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
|
||||
'Slim\\Exception\\HttpNotImplementedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
|
||||
'Slim\\Exception\\HttpSpecializedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
|
||||
'Slim\\Exception\\HttpTooManyRequestsException' => $vendorDir . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
|
||||
'Slim\\Exception\\HttpUnauthorizedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
|
||||
'Slim\\Factory\\AppFactory' => $vendorDir . '/slim/slim/Slim/Factory/AppFactory.php',
|
||||
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
|
||||
'Slim\\Factory\\Psr17\\ServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
|
||||
'Slim\\Factory\\ServerRequestCreatorFactory' => $vendorDir . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
|
||||
'Slim\\Handlers\\ErrorHandler' => $vendorDir . '/slim/slim/Slim/Handlers/ErrorHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestHandler' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponse' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
|
||||
'Slim\\Http\\Body' => $vendorDir . '/slim/slim/Slim/Http/Body.php',
|
||||
'Slim\\Http\\Cookies' => $vendorDir . '/slim/slim/Slim/Http/Cookies.php',
|
||||
'Slim\\Http\\Environment' => $vendorDir . '/slim/slim/Slim/Http/Environment.php',
|
||||
'Slim\\Http\\Headers' => $vendorDir . '/slim/slim/Slim/Http/Headers.php',
|
||||
'Slim\\Http\\Message' => $vendorDir . '/slim/slim/Slim/Http/Message.php',
|
||||
'Slim\\Http\\Request' => $vendorDir . '/slim/slim/Slim/Http/Request.php',
|
||||
'Slim\\Http\\RequestBody' => $vendorDir . '/slim/slim/Slim/Http/RequestBody.php',
|
||||
'Slim\\Http\\Response' => $vendorDir . '/slim/slim/Slim/Http/Response.php',
|
||||
'Slim\\Http\\Stream' => $vendorDir . '/slim/slim/Slim/Http/Stream.php',
|
||||
'Slim\\Http\\UploadedFile' => $vendorDir . '/slim/slim/Slim/Http/UploadedFile.php',
|
||||
'Slim\\Http\\Uri' => $vendorDir . '/slim/slim/Slim/Http/Uri.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
|
||||
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\CallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\CollectionInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
|
||||
'Slim\\Interfaces\\Http\\CookiesInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
|
||||
'Slim\\Interfaces\\Http\\EnvironmentInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
|
||||
'Slim\\Interfaces\\Http\\HeadersInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
|
||||
'Slim\\Interfaces\\DispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
|
||||
'Slim\\Interfaces\\ErrorHandlerInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
|
||||
'Slim\\Interfaces\\ErrorRendererInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
|
||||
'Slim\\Interfaces\\InvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
|
||||
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorProxyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
|
||||
'Slim\\Interfaces\\RouteGroupInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
|
||||
'Slim\\Interfaces\\RouteInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteInterface.php',
|
||||
'Slim\\Interfaces\\RouterInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouterInterface.php',
|
||||
'Slim\\MiddlewareAwareTrait' => $vendorDir . '/slim/slim/Slim/MiddlewareAwareTrait.php',
|
||||
'Slim\\Routable' => $vendorDir . '/slim/slim/Slim/Routable.php',
|
||||
'Slim\\Route' => $vendorDir . '/slim/slim/Slim/Route.php',
|
||||
'Slim\\RouteGroup' => $vendorDir . '/slim/slim/Slim/RouteGroup.php',
|
||||
'Slim\\Router' => $vendorDir . '/slim/slim/Slim/Router.php',
|
||||
'Slim\\Interfaces\\RouteParserInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
|
||||
'Slim\\Interfaces\\RouteResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
|
||||
'Slim\\Interfaces\\ServerRequestCreatorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
|
||||
'Slim\\Logger' => $vendorDir . '/slim/slim/Slim/Logger.php',
|
||||
'Slim\\MiddlewareDispatcher' => $vendorDir . '/slim/slim/Slim/MiddlewareDispatcher.php',
|
||||
'Slim\\Middleware\\BodyParsingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
|
||||
'Slim\\Middleware\\ContentLengthMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
|
||||
'Slim\\Middleware\\ErrorMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
|
||||
'Slim\\Middleware\\MethodOverrideMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
|
||||
'Slim\\Middleware\\OutputBufferingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
|
||||
'Slim\\Middleware\\RoutingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
|
||||
'Slim\\ResponseEmitter' => $vendorDir . '/slim/slim/Slim/ResponseEmitter.php',
|
||||
'Slim\\Routing\\Dispatcher' => $vendorDir . '/slim/slim/Slim/Routing/Dispatcher.php',
|
||||
'Slim\\Routing\\FastRouteDispatcher' => $vendorDir . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
|
||||
'Slim\\Routing\\Route' => $vendorDir . '/slim/slim/Slim/Routing/Route.php',
|
||||
'Slim\\Routing\\RouteCollector' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollector.php',
|
||||
'Slim\\Routing\\RouteCollectorProxy' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
|
||||
'Slim\\Routing\\RouteContext' => $vendorDir . '/slim/slim/Slim/Routing/RouteContext.php',
|
||||
'Slim\\Routing\\RouteGroup' => $vendorDir . '/slim/slim/Slim/Routing/RouteGroup.php',
|
||||
'Slim\\Routing\\RouteParser' => $vendorDir . '/slim/slim/Slim/Routing/RouteParser.php',
|
||||
'Slim\\Routing\\RouteResolver' => $vendorDir . '/slim/slim/Slim/Routing/RouteResolver.php',
|
||||
'Slim\\Routing\\RouteRunner' => $vendorDir . '/slim/slim/Slim/Routing/RouteRunner.php',
|
||||
'Slim\\Routing\\RoutingResults' => $vendorDir . '/slim/slim/Slim/Routing/RoutingResults.php',
|
||||
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => $vendorDir . '/symfony/cache/Adapter/MemcachedAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => $vendorDir . '/symfony/cache/Adapter/NullAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => $vendorDir . '/symfony/cache/Adapter/PdoAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpFilesAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => $vendorDir . '/symfony/cache/Adapter/Psr16Adapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => $vendorDir . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
|
||||
|
@ -139,10 +158,21 @@ return array(
|
|||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php',
|
||||
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => $vendorDir . '/symfony/cache/DataCollector/CacheDataCollector.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => $vendorDir . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
|
||||
'Symfony\\Component\\Cache\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/cache/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\LogicException' => $vendorDir . '/symfony/cache/Exception/LogicException.php',
|
||||
'Symfony\\Component\\Cache\\LockRegistry' => $vendorDir . '/symfony/cache/LockRegistry.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DefaultMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DeflateMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => $vendorDir . '/symfony/cache/Marshaller/MarshallerInterface.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => $vendorDir . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\PruneableInterface' => $vendorDir . '/symfony/cache/PruneableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Psr16Cache' => $vendorDir . '/symfony/cache/Psr16Cache.php',
|
||||
'Symfony\\Component\\Cache\\ResettableInterface' => $vendorDir . '/symfony/cache/ResettableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => $vendorDir . '/symfony/cache/Simple/AbstractCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => $vendorDir . '/symfony/cache/Simple/ApcuCache.php',
|
||||
|
@ -159,17 +189,22 @@ return array(
|
|||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => $vendorDir . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => $vendorDir . '/symfony/cache/Traits/AbstractAdapterTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => $vendorDir . '/symfony/cache/Traits/AbstractTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => $vendorDir . '/symfony/cache/Traits/ApcuTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => $vendorDir . '/symfony/cache/Traits/ArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => $vendorDir . '/symfony/cache/Traits/ContractsTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => $vendorDir . '/symfony/cache/Traits/DoctrineTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemCommonTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\LazyValue' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\MemcachedTrait' => $vendorDir . '/symfony/cache/Traits/MemcachedTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PdoTrait' => $vendorDir . '/symfony/cache/Traits/PdoTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => $vendorDir . '/symfony/cache/Traits/PhpArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php',
|
||||
|
@ -197,5 +232,32 @@ return array(
|
|||
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => $vendorDir . '/symfony/expression-language/TokenStream.php',
|
||||
'Symfony\\Polyfill\\Apcu\\Apcu' => $vendorDir . '/symfony/polyfill-apcu/Apcu.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/var-exporter/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => $vendorDir . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
|
||||
'Symfony\\Component\\VarExporter\\Instantiator' => $vendorDir . '/symfony/var-exporter/Instantiator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => $vendorDir . '/symfony/var-exporter/Internal/Exporter.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => $vendorDir . '/symfony/var-exporter/Internal/Hydrator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Reference' => $vendorDir . '/symfony/var-exporter/Internal/Reference.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Registry' => $vendorDir . '/symfony/var-exporter/Internal/Registry.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Values' => $vendorDir . '/symfony/var-exporter/Internal/Values.php',
|
||||
'Symfony\\Component\\VarExporter\\VarExporter' => $vendorDir . '/symfony/var-exporter/VarExporter.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheInterface' => $vendorDir . '/symfony/cache-contracts/CacheInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheTrait' => $vendorDir . '/symfony/cache-contracts/CacheTrait.php',
|
||||
'Symfony\\Contracts\\Cache\\CallbackInterface' => $vendorDir . '/symfony/cache-contracts/CallbackInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\ItemInterface' => $vendorDir . '/symfony/cache-contracts/ItemInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => $vendorDir . '/symfony/cache-contracts/TagAwareCacheInterface.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\Required' => $vendorDir . '/symfony/service-contracts/Attribute/Required.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => $vendorDir . '/symfony/service-contracts/Attribute/SubscribedService.php',
|
||||
'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/service-contracts/ResetInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/service-contracts/ServiceLocatorTrait.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => $vendorDir . '/symfony/service-contracts/ServiceProviderInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php',
|
||||
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
|
||||
'Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php',
|
||||
'Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php',
|
||||
'Symfony\\Polyfill\\Php80\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/PhpToken.php',
|
||||
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
|
||||
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
|
||||
);
|
||||
|
|
|
@ -6,6 +6,8 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'32dcc8afd4335739640db7d200c1971d' => $vendorDir . '/symfony/polyfill-apcu/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'253c157292f75eb38082b5acb06f3f01' => $vendorDir . '/nikic/fast-route/src/functions.php',
|
||||
);
|
||||
|
|
|
@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
|
||||
);
|
||||
|
|
|
@ -6,15 +6,18 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Symfony\\Polyfill\\Apcu\\' => array($vendorDir . '/symfony/polyfill-apcu'),
|
||||
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
|
||||
'Symfony\\Polyfill\\Php73\\' => array($vendorDir . '/symfony/polyfill-php73'),
|
||||
'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
|
||||
'Symfony\\Contracts\\Cache\\' => array($vendorDir . '/symfony/cache-contracts'),
|
||||
'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
|
||||
'Symfony\\Component\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'),
|
||||
'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
|
||||
'Slim\\' => array($vendorDir . '/slim/slim/Slim'),
|
||||
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
|
||||
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
||||
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
|
||||
'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-handler/src', $vendorDir . '/psr/http-server-middleware/src'),
|
||||
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
|
||||
'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
|
||||
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
||||
'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'),
|
||||
'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'),
|
||||
);
|
||||
|
|
|
@ -13,6 +13,9 @@ class ComposerAutoloaderInitAdvancedContentFilterAddon
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Composer\Autoload\ClassLoader
|
||||
*/
|
||||
public static function getLoader()
|
||||
{
|
||||
if (null !== self::$loader) {
|
||||
|
|
|
@ -7,30 +7,32 @@ namespace Composer\Autoload;
|
|||
class ComposerStaticInitAdvancedContentFilterAddon
|
||||
{
|
||||
public static $files = array (
|
||||
'32dcc8afd4335739640db7d200c1971d' => __DIR__ . '/..' . '/symfony/polyfill-apcu/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'253c157292f75eb38082b5acb06f3f01' => __DIR__ . '/..' . '/nikic/fast-route/src/functions.php',
|
||||
);
|
||||
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
'S' =>
|
||||
array (
|
||||
'Symfony\\Polyfill\\Apcu\\' => 22,
|
||||
'Symfony\\Polyfill\\Php80\\' => 23,
|
||||
'Symfony\\Polyfill\\Php73\\' => 23,
|
||||
'Symfony\\Contracts\\Service\\' => 26,
|
||||
'Symfony\\Contracts\\Cache\\' => 24,
|
||||
'Symfony\\Component\\VarExporter\\' => 30,
|
||||
'Symfony\\Component\\ExpressionLanguage\\' => 37,
|
||||
'Symfony\\Component\\Cache\\' => 24,
|
||||
'Slim\\' => 5,
|
||||
),
|
||||
'P' =>
|
||||
array (
|
||||
'Psr\\SimpleCache\\' => 16,
|
||||
'Psr\\Log\\' => 8,
|
||||
'Psr\\Http\\Server\\' => 16,
|
||||
'Psr\\Http\\Message\\' => 17,
|
||||
'Psr\\Container\\' => 14,
|
||||
'Psr\\Cache\\' => 10,
|
||||
),
|
||||
'I' =>
|
||||
array (
|
||||
'Interop\\Container\\' => 18,
|
||||
),
|
||||
'F' =>
|
||||
array (
|
||||
'FastRoute\\' => 10,
|
||||
|
@ -38,9 +40,25 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
'Symfony\\Polyfill\\Apcu\\' =>
|
||||
'Symfony\\Polyfill\\Php80\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-apcu',
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
|
||||
),
|
||||
'Symfony\\Polyfill\\Php73\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-php73',
|
||||
),
|
||||
'Symfony\\Contracts\\Service\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/service-contracts',
|
||||
),
|
||||
'Symfony\\Contracts\\Cache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/cache-contracts',
|
||||
),
|
||||
'Symfony\\Component\\VarExporter\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/var-exporter',
|
||||
),
|
||||
'Symfony\\Component\\ExpressionLanguage\\' =>
|
||||
array (
|
||||
|
@ -54,17 +72,19 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
array (
|
||||
0 => __DIR__ . '/..' . '/slim/slim/Slim',
|
||||
),
|
||||
'Psr\\SimpleCache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/simple-cache/src',
|
||||
),
|
||||
'Psr\\Log\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
|
||||
),
|
||||
'Psr\\Http\\Server\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/http-server-handler/src',
|
||||
1 => __DIR__ . '/..' . '/psr/http-server-middleware/src',
|
||||
),
|
||||
'Psr\\Http\\Message\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/http-message/src',
|
||||
0 => __DIR__ . '/..' . '/psr/http-factory/src',
|
||||
1 => __DIR__ . '/..' . '/psr/http-message/src',
|
||||
),
|
||||
'Psr\\Container\\' =>
|
||||
array (
|
||||
|
@ -74,27 +94,14 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/cache/src',
|
||||
),
|
||||
'Interop\\Container\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container',
|
||||
),
|
||||
'FastRoute\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/nikic/fast-route/src',
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixesPsr0 = array (
|
||||
'P' =>
|
||||
array (
|
||||
'Pimple' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/pimple/pimple/src',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
public static $classMap = array (
|
||||
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php',
|
||||
'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php',
|
||||
'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
|
||||
|
@ -112,27 +119,8 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php',
|
||||
'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php',
|
||||
'FastRoute\\RouteParser\\Std' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser/Std.php',
|
||||
'Interop\\Container\\ContainerInterface' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
|
||||
'Interop\\Container\\Exception\\ContainerException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
|
||||
'Interop\\Container\\Exception\\NotFoundException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
|
||||
'Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php',
|
||||
'Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
|
||||
'Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
|
||||
'Pimple\\Exception\\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
|
||||
'Pimple\\Exception\\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
|
||||
'Pimple\\Psr11\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php',
|
||||
'Pimple\\Psr11\\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
|
||||
'Pimple\\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php',
|
||||
'Pimple\\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
|
||||
'Pimple\\Tests\\Fixtures\\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
|
||||
'Pimple\\Tests\\Fixtures\\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
|
||||
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
|
||||
'Pimple\\Tests\\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
|
||||
'Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
|
||||
'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
|
||||
'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
|
||||
'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php',
|
||||
'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php',
|
||||
'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php',
|
||||
|
@ -141,12 +129,20 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
|
||||
'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
|
||||
'Psr\\Http\\Server\\MiddlewareInterface' => __DIR__ . '/..' . '/psr/http-server-middleware/src/MiddlewareInterface.php',
|
||||
'Psr\\Http\\Server\\RequestHandlerInterface' => __DIR__ . '/..' . '/psr/http-server-handler/src/RequestHandlerInterface.php',
|
||||
'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
|
||||
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
||||
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
|
||||
|
@ -155,71 +151,100 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
|
||||
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
|
||||
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
|
||||
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
|
||||
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
|
||||
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
||||
'Slim\\App' => __DIR__ . '/..' . '/slim/slim/Slim/App.php',
|
||||
'Slim\\CallableResolver' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolver.php',
|
||||
'Slim\\CallableResolverAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolverAwareTrait.php',
|
||||
'Slim\\Collection' => __DIR__ . '/..' . '/slim/slim/Slim/Collection.php',
|
||||
'Slim\\Container' => __DIR__ . '/..' . '/slim/slim/Slim/Container.php',
|
||||
'Slim\\DefaultServicesProvider' => __DIR__ . '/..' . '/slim/slim/Slim/DefaultServicesProvider.php',
|
||||
'Slim\\DeferredCallable' => __DIR__ . '/..' . '/slim/slim/Slim/DeferredCallable.php',
|
||||
'Slim\\Exception\\ContainerException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerException.php',
|
||||
'Slim\\Exception\\ContainerValueNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
|
||||
'Slim\\Exception\\InvalidMethodException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/InvalidMethodException.php',
|
||||
'Slim\\Exception\\MethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
|
||||
'Slim\\Exception\\NotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/NotFoundException.php',
|
||||
'Slim\\Exception\\SlimException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/SlimException.php',
|
||||
'Slim\\Handlers\\AbstractError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractError.php',
|
||||
'Slim\\Handlers\\AbstractHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractHandler.php',
|
||||
'Slim\\Handlers\\Error' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Error.php',
|
||||
'Slim\\Handlers\\NotAllowed' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotAllowed.php',
|
||||
'Slim\\Handlers\\NotFound' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotFound.php',
|
||||
'Slim\\Handlers\\PhpError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/PhpError.php',
|
||||
'Slim\\Error\\AbstractErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\JsonErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\XmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
|
||||
'Slim\\Exception\\HttpBadRequestException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
|
||||
'Slim\\Exception\\HttpException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpException.php',
|
||||
'Slim\\Exception\\HttpForbiddenException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
|
||||
'Slim\\Exception\\HttpGoneException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpGoneException.php',
|
||||
'Slim\\Exception\\HttpInternalServerErrorException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
|
||||
'Slim\\Exception\\HttpMethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
|
||||
'Slim\\Exception\\HttpNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
|
||||
'Slim\\Exception\\HttpNotImplementedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
|
||||
'Slim\\Exception\\HttpSpecializedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
|
||||
'Slim\\Exception\\HttpTooManyRequestsException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
|
||||
'Slim\\Exception\\HttpUnauthorizedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
|
||||
'Slim\\Factory\\AppFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/AppFactory.php',
|
||||
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
|
||||
'Slim\\Factory\\Psr17\\ServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
|
||||
'Slim\\Factory\\ServerRequestCreatorFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
|
||||
'Slim\\Handlers\\ErrorHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/ErrorHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponse' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
|
||||
'Slim\\Http\\Body' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Body.php',
|
||||
'Slim\\Http\\Cookies' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Cookies.php',
|
||||
'Slim\\Http\\Environment' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Environment.php',
|
||||
'Slim\\Http\\Headers' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Headers.php',
|
||||
'Slim\\Http\\Message' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Message.php',
|
||||
'Slim\\Http\\Request' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Request.php',
|
||||
'Slim\\Http\\RequestBody' => __DIR__ . '/..' . '/slim/slim/Slim/Http/RequestBody.php',
|
||||
'Slim\\Http\\Response' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Response.php',
|
||||
'Slim\\Http\\Stream' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Stream.php',
|
||||
'Slim\\Http\\UploadedFile' => __DIR__ . '/..' . '/slim/slim/Slim/Http/UploadedFile.php',
|
||||
'Slim\\Http\\Uri' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Uri.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
|
||||
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\CallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\CollectionInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
|
||||
'Slim\\Interfaces\\Http\\CookiesInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
|
||||
'Slim\\Interfaces\\Http\\EnvironmentInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
|
||||
'Slim\\Interfaces\\Http\\HeadersInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
|
||||
'Slim\\Interfaces\\DispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
|
||||
'Slim\\Interfaces\\ErrorHandlerInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
|
||||
'Slim\\Interfaces\\ErrorRendererInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
|
||||
'Slim\\Interfaces\\InvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
|
||||
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorProxyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
|
||||
'Slim\\Interfaces\\RouteGroupInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
|
||||
'Slim\\Interfaces\\RouteInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteInterface.php',
|
||||
'Slim\\Interfaces\\RouterInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouterInterface.php',
|
||||
'Slim\\MiddlewareAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareAwareTrait.php',
|
||||
'Slim\\Routable' => __DIR__ . '/..' . '/slim/slim/Slim/Routable.php',
|
||||
'Slim\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Route.php',
|
||||
'Slim\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/RouteGroup.php',
|
||||
'Slim\\Router' => __DIR__ . '/..' . '/slim/slim/Slim/Router.php',
|
||||
'Slim\\Interfaces\\RouteParserInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
|
||||
'Slim\\Interfaces\\RouteResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
|
||||
'Slim\\Interfaces\\ServerRequestCreatorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
|
||||
'Slim\\Logger' => __DIR__ . '/..' . '/slim/slim/Slim/Logger.php',
|
||||
'Slim\\MiddlewareDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareDispatcher.php',
|
||||
'Slim\\Middleware\\BodyParsingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
|
||||
'Slim\\Middleware\\ContentLengthMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
|
||||
'Slim\\Middleware\\ErrorMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
|
||||
'Slim\\Middleware\\MethodOverrideMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
|
||||
'Slim\\Middleware\\OutputBufferingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
|
||||
'Slim\\Middleware\\RoutingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
|
||||
'Slim\\ResponseEmitter' => __DIR__ . '/..' . '/slim/slim/Slim/ResponseEmitter.php',
|
||||
'Slim\\Routing\\Dispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Dispatcher.php',
|
||||
'Slim\\Routing\\FastRouteDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
|
||||
'Slim\\Routing\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Route.php',
|
||||
'Slim\\Routing\\RouteCollector' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollector.php',
|
||||
'Slim\\Routing\\RouteCollectorProxy' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
|
||||
'Slim\\Routing\\RouteContext' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteContext.php',
|
||||
'Slim\\Routing\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteGroup.php',
|
||||
'Slim\\Routing\\RouteParser' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteParser.php',
|
||||
'Slim\\Routing\\RouteResolver' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteResolver.php',
|
||||
'Slim\\Routing\\RouteRunner' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteRunner.php',
|
||||
'Slim\\Routing\\RoutingResults' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RoutingResults.php',
|
||||
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ApcuAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ChainAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/MemcachedAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/NullAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PdoAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpFilesAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ProxyAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/Psr16Adapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
|
||||
|
@ -228,10 +253,21 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php',
|
||||
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => __DIR__ . '/..' . '/symfony/cache/DataCollector/CacheDataCollector.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
|
||||
'Symfony\\Component\\Cache\\DoctrineProvider' => __DIR__ . '/..' . '/symfony/cache/DoctrineProvider.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\CacheException' => __DIR__ . '/..' . '/symfony/cache/Exception/CacheException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/cache/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/cache/Exception/LogicException.php',
|
||||
'Symfony\\Component\\Cache\\LockRegistry' => __DIR__ . '/..' . '/symfony/cache/LockRegistry.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DefaultMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DeflateMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => __DIR__ . '/..' . '/symfony/cache/Marshaller/MarshallerInterface.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\PruneableInterface' => __DIR__ . '/..' . '/symfony/cache/PruneableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Psr16Cache' => __DIR__ . '/..' . '/symfony/cache/Psr16Cache.php',
|
||||
'Symfony\\Component\\Cache\\ResettableInterface' => __DIR__ . '/..' . '/symfony/cache/ResettableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => __DIR__ . '/..' . '/symfony/cache/Simple/AbstractCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ApcuCache.php',
|
||||
|
@ -248,17 +284,22 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => __DIR__ . '/..' . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractAdapterTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ApcuTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ContractsTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/DoctrineTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemCommonTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\LazyValue' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\MemcachedTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/MemcachedTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PdoTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PdoTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Compiler' => __DIR__ . '/..' . '/symfony/expression-language/Compiler.php',
|
||||
|
@ -286,7 +327,34 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => __DIR__ . '/..' . '/symfony/expression-language/SyntaxError.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Token' => __DIR__ . '/..' . '/symfony/expression-language/Token.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => __DIR__ . '/..' . '/symfony/expression-language/TokenStream.php',
|
||||
'Symfony\\Polyfill\\Apcu\\Apcu' => __DIR__ . '/..' . '/symfony/polyfill-apcu/Apcu.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
|
||||
'Symfony\\Component\\VarExporter\\Instantiator' => __DIR__ . '/..' . '/symfony/var-exporter/Instantiator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Exporter.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Hydrator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Reference' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Reference.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Registry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Registry.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Values' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Values.php',
|
||||
'Symfony\\Component\\VarExporter\\VarExporter' => __DIR__ . '/..' . '/symfony/var-exporter/VarExporter.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheTrait' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheTrait.php',
|
||||
'Symfony\\Contracts\\Cache\\CallbackInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CallbackInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\ItemInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/ItemInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/TagAwareCacheInterface.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\Required' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/Required.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/SubscribedService.php',
|
||||
'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ResetInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceLocatorTrait.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceProviderInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php',
|
||||
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
|
||||
'Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php',
|
||||
'Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php',
|
||||
'Symfony\\Polyfill\\Php80\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/PhpToken.php',
|
||||
'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
|
||||
'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
|
@ -294,7 +362,6 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInitAdvancedContentFilterAddon::$prefixesPsr0;
|
||||
$loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +0,0 @@
|
|||
composer.lock
|
||||
composer.phar
|
||||
/vendor/
|
|
@ -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.
|
|
@ -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.
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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)
|
|
@ -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
|
||||
{
|
||||
}
|
||||
```
|
|
@ -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)
|
||||
|
|
@ -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 |
|
@ -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
|
||||
{
|
||||
}
|
|
@ -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
|
||||
{
|
||||
}
|
|
@ -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
|
||||
{
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
phpunit.xml
|
||||
composer.lock
|
||||
/vendor/
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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");
|
||||
}
|
||||
|
|
@ -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
|
@ -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_ */
|
|
@ -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
|
|
@ -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"
|
|
@ -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"
|
|
@ -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)
|
|
@ -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
|
|
@ -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"
|
|
@ -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
|
|
@ -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--
|
|
@ -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)
|
|
@ -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"
|
||||
}
|
|
@ -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!
|
|
@ -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"
|
|
@ -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)
|
||||
}
|
|
@ -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"
|
|
@ -1,17 +0,0 @@
|
|||
--TEST--
|
||||
Test protect()
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$f = function () { return 'foo'; };
|
||||
$p['foo'] = $f;
|
||||
|
||||
$p->protect($f);
|
||||
|
||||
var_dump($p['foo']);
|
||||
--EXPECTF--
|
||||
object(Closure)#%i (0) {
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
--TEST--
|
||||
Test extend()
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
/*
|
||||
This is part of Pimple::extend() code :
|
||||
|
||||
$extended = function ($c) use ($callable, $factory) {
|
||||
return $callable($factory($c), $c);
|
||||
};
|
||||
*/
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p[12] = function ($v) { var_dump($v); return 'foo';}; /* $factory in code above */
|
||||
|
||||
$c = $p->extend(12, function ($w) { var_dump($w); return 'bar'; }); /* $callable in code above */
|
||||
|
||||
var_dump($c('param'));
|
||||
--EXPECTF--
|
||||
string(5) "param"
|
||||
string(3) "foo"
|
||||
string(3) "bar"
|
|
@ -1,17 +0,0 @@
|
|||
--TEST--
|
||||
Test extend() with exception in service extension
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p[12] = function ($v) { return 'foo';};
|
||||
|
||||
$c = $p->extend(12, function ($w) { throw new BadMethodCallException; });
|
||||
|
||||
try {
|
||||
$p[12];
|
||||
echo "Exception expected";
|
||||
} catch (BadMethodCallException $e) { }
|
||||
--EXPECTF--
|
|
@ -1,17 +0,0 @@
|
|||
--TEST--
|
||||
Test extend() with exception in service factory
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p[12] = function ($v) { throw new BadMethodCallException; };
|
||||
|
||||
$c = $p->extend(12, function ($w) { return 'foobar'; });
|
||||
|
||||
try {
|
||||
$p[12];
|
||||
echo "Exception expected";
|
||||
} catch (BadMethodCallException $e) { }
|
||||
--EXPECTF--
|
|
@ -1,23 +0,0 @@
|
|||
--TEST--
|
||||
Test register()
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Foo implements Pimple\ServiceProviderInterface
|
||||
{
|
||||
public function register(Pimple\Container $p)
|
||||
{
|
||||
var_dump($p);
|
||||
}
|
||||
}
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p->register(new Foo, array(42 => 'bar'));
|
||||
|
||||
var_dump($p[42]);
|
||||
--EXPECTF--
|
||||
object(Pimple\Container)#1 (0) {
|
||||
}
|
||||
string(3) "bar"
|
|
@ -1,18 +0,0 @@
|
|||
--TEST--
|
||||
Test register() returns static and is a fluent interface
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Foo implements Pimple\ServiceProviderInterface
|
||||
{
|
||||
public function register(Pimple\Container $p)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
$p = new Pimple\Container();
|
||||
var_dump($p === $p->register(new Foo));
|
||||
--EXPECTF--
|
||||
bool(true)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue