Compare commits
3034 commits
Author | SHA1 | Date | |
---|---|---|---|
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 Holzer | 3bdbcd3b02 | ||
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 | ||
Hypolite Petovan | 872a438dcf | ||
Hypolite Petovan | da8681c8c4 | ||
Hypolite Petovan | 67c44792fd | ||
cfbbeaac62 | |||
32f698ce10 | |||
a110b2f6c1 | |||
fc33555cd6 | |||
e24e3f758a | |||
127ab370fc | |||
890bc3712f | |||
2cff751b12 | |||
89134542b4 | |||
453772e393 | |||
0bcf2d7c89 | |||
c6daf2381c | |||
51797d975b | |||
a40bd7009b | |||
1bcd23f684 | |||
Hypolite Petovan | f3bddaf7d6 | ||
Michael | 4a14bc47ee | ||
Hypolite Petovan | 09b3f01558 | ||
Philipp Holzer | e1f27d88b7 | ||
Philipp Holzer | 57c4735ad6 | ||
Philipp Holzer | 372a850103 | ||
Philipp Holzer | 7e890124a8 | ||
Philipp Holzer | 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 | ||
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 | ||
bddb7f4d49 | |||
Tobias Diekershoff | 82073db292 | ||
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 | ||
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 Holzer | 9bdaa8092e | ||
Hypolite Petovan | b11538d195 | ||
Michael | 73c6a0ff0c | ||
Hypolite Petovan | fbafa80815 | ||
Michael | 92251f4a6c | ||
Michael | 18266ea6ef | ||
Michael | 80ce855189 | ||
Michael | 0eda161e04 | ||
Michael | 981e6821d0 | ||
Philipp Holzer | a5ed02ed23 | ||
Philipp Holzer | 7a8f8fcbd2 | ||
Philipp Holzer | 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 Holzer | dc55b89e02 | ||
Philipp Holzer | d76b6b50c3 | ||
Philipp Holzer | 546841e3a2 | ||
Philipp Holzer | bd405ec98a | ||
Hypolite Petovan | 923437e8b6 | ||
Philipp Holzer | d9c5419351 | ||
Philipp Holzer | e315abc788 | ||
Philipp Holzer | 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 | ||
9832fa6c45 | |||
Hypolite Petovan | 2ce14fb2ff | ||
Andy H | 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 | ||
631bfd83e9 | |||
Hypolite Petovan | 4b31588484 | ||
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 | ||
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 Holzer | 92c3d0cf6c | ||
Philipp Holzer | c5d402ad62 | ||
Philipp Holzer | ecdd62eb3c | ||
Philipp Holzer | 4a57f968f8 | ||
Philipp Holzer | 30af3b93ed | ||
Hypolite Petovan | 6a5103964f | ||
Hypolite Petovan | 6b3dc35f35 | ||
Philipp Holzer | 648fadedd3 | ||
Hypolite Petovan | 75df306424 | ||
Tobias Diekershoff | ace982f5e6 | ||
Hypolite Petovan | b7614c9164 | ||
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 | ||
4352a358a7 | |||
Hypolite Petovan | 7827be89c8 | ||
Philipp Holzer | 818d21ba57 | ||
Philipp Holzer | ab5aea8328 | ||
Hypolite Petovan | 5e2ebd13b9 | ||
Hypolite Petovan | 76233e7646 | ||
Philipp Holzer | be80e77e93 | ||
Philipp Holzer | 005f9af69b | ||
Philipp Holzer | 14dfd24d11 | ||
Hypolite Petovan | c7c8934e2c | ||
Hypolite Petovan | 5af972bb22 | ||
Philipp Holzer | 73189581b0 | ||
Hypolite Petovan | 84fd663a56 | ||
Michael | 35e431c5a4 | ||
Michael | 4988d9c49a | ||
Michael | d0c44aeaaf | ||
Hypolite Petovan | f922d69310 | ||
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 | ||
98dd4b537c | |||
Hypolite Petovan | 784bdf82e2 | ||
Andy H | 348f9d5601 | ||
b6a384ce0b | |||
Hypolite Petovan | 5953c2835f | ||
802c5ca87f | |||
Hypolite Petovan | 12bd211516 | ||
8878d7c9d4 | |||
Andy H | 139e4384b1 | ||
Andy H | f9661af3f7 | ||
Andy H | 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 | ||
c6d09e5270 | |||
4e7da2799c | |||
Michael Vogel | 07a11f6920 | ||
Hypolite Petovan | e4487c4876 | ||
Hypolite Petovan | d45004f44d | ||
efb98c8457 | |||
119a5ca8d8 | |||
Michael Vogel | 1c5787946f | ||
Hypolite Petovan | 2e4e7befe5 | ||
Hypolite Petovan | 666d559e72 | ||
Philipp Holzer | 3b7d4ce600 | ||
Philipp Holzer | 25bcbabb58 | ||
Tobias Diekershoff | 8f59b8b951 | ||
Hypolite Petovan | 6a2aa4c4a4 | ||
Philipp Holzer | 18783e11c7 | ||
Philipp Holzer | 2f0671ee6e | ||
Philipp Holzer | 6fb41f9429 | ||
Philipp Holzer | 7b58c02b1a | ||
Hypolite Petovan | 7d252afddb | ||
b0d13ab09c | |||
d584196215 | |||
537ee2e656 | |||
1a5b19ff69 | |||
ae28f6ef01 | |||
Hypolite Petovan | f0baf18339 | ||
Hypolite Petovan | c18e0dc66a | ||
Hypolite Petovan | 30329df0dd | ||
Michael | 008eeeea4e | ||
Michael | 7338b5de59 | ||
Philipp Holzer | e213bb2216 | ||
Hypolite Petovan | 2fc7356cf4 | ||
Hypolite Petovan | 46d4d0b51e | ||
Hypolite Petovan | 5b25b03ea3 | ||
a09dd57391 | |||
5e51a3f0ad | |||
Philipp Holzer | 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 Holzer | 38ec8b3e3b | ||
Philipp Holzer | 9cee85c4d6 | ||
Hypolite Petovan | 72679891af | ||
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 Holzer | 9f3cbad14f | ||
Hypolite Petovan | 7522a8eb9a | ||
Hypolite Petovan | cf37ad5914 | ||
9a6a092518 | |||
Hypolite Petovan | ec060745e9 | ||
Hypolite Petovan | 99e33145db | ||
Philipp Holzer | 97fcee53c0 | ||
Philipp Holzer | 6d2b7459b5 | ||
Hypolite Petovan | 05fed0bd6f | ||
Philipp Holzer | 94b4ad6279 | ||
Philipp Holzer | b0eb28143a | ||
Hypolite Petovan | 8eca74cfab | ||
Hypolite Petovan | 0f6ea75bb7 | ||
Michael | 5d8129600d | ||
Hypolite Petovan | 5f1028a535 | ||
Philipp Holzer | 1eb1b10348 | ||
Hypolite Petovan | 7c3f602d12 | ||
Roland Häder | 346ad9a3e2 | ||
Hypolite Petovan | d267e7f0b7 | ||
47d54e82df | |||
Michael | b3195504f1 | ||
Hypolite Petovan | 285079c12b | ||
Philipp Holzer | e93260593a | ||
Hypolite Petovan | 432d9097d2 | ||
Michael | 592374b795 | ||
Philipp Holzer | 2e854ee108 | ||
Philipp Holzer | 101a22c0cd | ||
Hypolite Petovan | bca0943e19 | ||
Michael | 897dbb30cf | ||
Philipp Holzer | 6c8a9bd461 | ||
Tobias Diekershoff | 57e9404729 | ||
Michael | e5842e83c7 | ||
Michael Vogel | de345228b5 | ||
Tobias Diekershoff | 26c6d501e0 | ||
Hypolite Petovan | 8d2ddd8985 | ||
Tobias Diekershoff | ce1a787bfb | ||
d75f4b30f3 | |||
Tobias Diekershoff | 5648924852 | ||
Hypolite Petovan | 408a62a9a1 | ||
Michael | 476de2a95d | ||
Hypolite Petovan | 046b1418f2 | ||
Michael | 6f971a0f63 | ||
Philipp Holzer | 94a774a7d2 | ||
Michael | 86e24c747e | ||
Philipp Holzer | 9e0bc31d42 | ||
Tobias Diekershoff | 4487b2a923 | ||
Tobias Diekershoff | 0ff332bd11 | ||
Tobias Diekershoff | 0ecb576ff9 | ||
Philipp Holzer | 88d40bc34a | ||
Hypolite Petovan | e70b3abaa9 | ||
Hypolite Petovan | 1e8098bbab | ||
Hypolite Petovan | a8b8c4cde4 | ||
Philipp Holzer | 795eb1bb36 | ||
Hypolite Petovan | f43ae1c480 | ||
Roland Häder | 6bf18b47a8 | ||
Tobias Diekershoff | 024ccb117f | ||
Philipp Holzer | 5f6f432a80 | ||
Hypolite Petovan | a6db7dfa8b | ||
Roland Häder | a3e1a43f79 | ||
Tobias Diekershoff | 5d5c367d7d | ||
Philipp Holzer | 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 Holzer | ed3184fd0b | ||
Philipp Holzer | 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 | ||
631ad78efc | |||
Hypolite Petovan | 62a49c3c63 | ||
dc5e218526 | |||
ab71c7b80b | |||
6b17e94b86 | |||
6ba6f78c3e | |||
Hypolite Petovan | 5d7dbe354a | ||
Tobias Diekershoff | 716efd23fe | ||
Tobias Diekershoff | b6342eca0a | ||
Tobias Diekershoff | 85220c4bf6 | ||
Tobias Diekershoff | b00459d077 | ||
Tobias Diekershoff | 990312fafb | ||
Tobias Diekershoff | 07df35bad4 | ||
1f0372c4b5 | |||
Hypolite Petovan | 612272ef80 | ||
Tobias Diekershoff | bea8d103bf | ||
Hypolite Petovan | 7bb3595d46 | ||
14baddba32 | |||
8d84f2a557 | |||
357c7e7597 | |||
Michael Vogel | 8089989083 | ||
Tobias Diekershoff | 6d3c4e51ac | ||
Tobias Diekershoff | ecc841b5f7 | ||
Tobias Diekershoff | 682ce12ac2 | ||
Tobias Diekershoff | 169081d503 | ||
Michael | c71e29a772 | ||
Philipp Holzer | 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 | ||
f1933d2f89 | |||
Hypolite Petovan | 5101253aa0 | ||
Philipp Holzer | bfc4542881 | ||
Philipp Holzer | 46221882c3 | ||
Philipp Holzer | 707e03635b | ||
Philipp Holzer | 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 Holzer | ba94368482 | ||
Philipp Holzer | c35a6d5834 | ||
Hypolite Petovan | 3317ce2324 | ||
Philipp Holzer | 3425cd3d47 | ||
Philipp Holzer | 993685f2a5 | ||
Philipp Holzer | 3f800389dc | ||
Philipp Holzer | 52edb1711a | ||
Philipp Holzer | 9c4b12f868 | ||
Hypolite Petovan | 95fcf98759 | ||
Philipp Holzer | 25e95fa2da | ||
Michael Vogel | 7be6eb5d00 | ||
Hypolite Petovan | d886aac0e3 | ||
Tobias Diekershoff | d07a9185be | ||
Philipp Holzer | 6914b94454 | ||
Philipp Holzer | 444bdfe619 | ||
Philipp Holzer | 7e1d18f8a3 | ||
Hypolite Petovan | dd6bf79e19 | ||
Michael | fd2fb29568 | ||
Michael | a1a3322968 | ||
Hypolite Petovan | f9ff50b2cb | ||
Michael | d527848dfc | ||
Michael | 00ac39e941 | ||
de91e04678 | |||
Tobias Diekershoff | 1e60ac18cf | ||
Tobias Diekershoff | 484482a4ce | ||
Tobias Diekershoff | 631b456755 | ||
Tobias Diekershoff | 5a236d72b6 | ||
Hypolite Petovan | b6d03e10b6 | ||
Tobias Diekershoff | 2e16db590a | ||
Hypolite Petovan | 34437e368f | ||
5c2071a72b | |||
Hypolite Petovan | e46bff23d5 | ||
Hypolite Petovan | 5df88741f2 | ||
Hypolite Petovan | 1a721b976d | ||
327bfcb2b5 | |||
Philipp Holzer | d1bac4f620 | ||
Tobias Diekershoff | 1b87105bb8 | ||
Philipp Holzer | 61c614c4da | ||
Philipp Holzer | 05f7e4264c | ||
Hypolite Petovan | ff763795a3 | ||
Philipp Holzer | dab21d0ba5 | ||
Hypolite Petovan | 59f517fbfe | ||
Tobias Diekershoff | 4abb880f57 | ||
Hypolite Petovan | e478bdf508 | ||
Tobias Diekershoff | 9a3ca26fa9 | ||
32a7560595 | |||
a156cb2714 | |||
Michael | 767d76682b | ||
Michael | 57db23c641 | ||
Tobias Diekershoff | 8b5c8d78a4 | ||
d672029da0 | |||
Michael | 2077941432 | ||
2413c74b72 | |||
Michael | ce42fc43ce | ||
Hypolite Petovan | 8495420eb7 | ||
Michael | eb967c5433 | ||
Michael | 9f69e05069 | ||
4b97fa0e5e | |||
Hypolite Petovan | adcdf447ce | ||
Tobias Diekershoff | dfdc47879a | ||
Hypolite Petovan | fd29c1a074 | ||
0de0faa44f | |||
Tobias Diekershoff | f039a07ff9 | ||
d8c393b57a | |||
Hypolite Petovan | 3104d176e7 | ||
Hypolite Petovan | 9acfdb4090 | ||
Hypolite Petovan | 779b38ec09 | ||
Hypolite Petovan | f0522a998b | ||
Hypolite Petovan | 5c0b20b21f | ||
Hypolite Petovan | dad7f75fd7 | ||
9e6f5c1339 | |||
Tobias Diekershoff | f5ea9f14e2 | ||
Tobias Diekershoff | c76eb06020 | ||
13ce3aa0a4 | |||
Philipp Holzer | 82cef20e60 | ||
Hypolite Petovan | 4d7c1e795d | ||
Hypolite Petovan | 1114692cb0 | ||
f42fd689d9 | |||
c307cc147b | |||
20bbee0d99 | |||
Hypolite Petovan | f90b9c6c86 | ||
Hypolite Petovan | 86a204af7d | ||
Hypolite Petovan | 93e5d97fdd | ||
Hypolite Petovan | 2f2b75ba50 | ||
a309d2bf1b | |||
Hypolite Petovan | 0c7fd9a34d | ||
Hypolite Petovan | fd3bc71f82 | ||
Tobias Diekershoff | d189c83495 | ||
Tobias Diekershoff | 365c09619c | ||
fb77e3c5ea | |||
Hypolite Petovan | 2bae6a41c3 | ||
ef71f4681e | |||
4f93db9d57 | |||
c57c1de3d4 | |||
fde6d795cd | |||
Hypolite Petovan | 2ac5662ab2 | ||
Michael | 25b267c6da | ||
a6d6edf322 | |||
8fea67dade | |||
Michael | cff3dd67b0 | ||
Hypolite Petovan | 6a7f36ba89 | ||
Michael | 6a349e7fd9 | ||
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 Holzer | 6f4e9a14e3 | ||
Philipp Holzer | fe296e5a73 | ||
Philipp Holzer | 6bc61d5ef7 | ||
Hypolite Petovan | ab32dd53bb | ||
Philipp Holzer | 5184ca0fc2 | ||
Hypolite Petovan | 0d3a35dbe9 | ||
6e27f08021 | |||
Tobias Diekershoff | 28abb42fec | ||
Tobias Diekershoff | 38344b2234 | ||
Tobias Diekershoff | 2335face75 | ||
Philipp Holzer | 63fca0af29 | ||
Philipp Holzer | ae86b2e806 | ||
Philipp Holzer | 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 | ||
31635cf6c3 | |||
Tobias Diekershoff | 809103d5f0 | ||
31de85dd82 | |||
Tobias Diekershoff | 86de95f77b | ||
943187d02f | |||
Tobias Diekershoff | 25ba6023d0 | ||
55986ad17d | |||
Hypolite Petovan | 7cc6f3f4a3 | ||
Hypolite Petovan | d37f779908 | ||
Hypolite Petovan | 52828b2b45 | ||
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 Holzer | 853c5b528f | ||
Philipp Holzer | ed1306caea | ||
Michael | e19abd6646 | ||
4026d06287 | |||
Hypolite Petovan | 23a02dbde7 | ||
Philipp Holzer | 6b3d22d85d | ||
Philipp Holzer | 45d849ee76 | ||
Philipp Holzer | 2038eec6d7 | ||
Hypolite Petovan | a5e15acee9 | ||
Michael | 0533f9bfdb | ||
Michael | cb1b5d3964 | ||
4340ebb2a5 | |||
f9e758e2a8 | |||
366fbbd3e1 | |||
674249ccfc | |||
Michael | deb4f8d9ef | ||
Michael | 428c6876f0 | ||
Tobias Diekershoff | 107811903c | ||
Hypolite Petovan | d9e7bab46f | ||
Philipp Holzer | 52407530db | ||
Philipp Holzer | 749ba4315e | ||
Philipp Holzer | 15d77952ac | ||
020a1245fd | |||
Hypolite Petovan | 8de6454c8c | ||
Hypolite Petovan | dc04c0cfc4 | ||
Hypolite Petovan | aec6e2f97e | ||
Tobias Diekershoff | 8579bde2b6 | ||
Hypolite Petovan | 678878289f | ||
Hypolite Petovan | 7a1d3302d0 | ||
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 | ||
eed987f9e1 | |||
Michael | 8ed6469fb9 | ||
Philipp Holzer | 569e3f4831 | ||
Hypolite Petovan | 250dafd2b6 | ||
Hypolite Petovan | b732cf8968 | ||
Hypolite Petovan | 5769d99478 | ||
30445b3c85 | |||
Philipp Holzer | b6eccfb8a4 | ||
a1c91dbd27 | |||
Philipp Holzer | f9455b42c7 | ||
c7771ac8c3 | |||
Philipp Holzer | be56834e3e | ||
Hypolite Petovan | dead293465 | ||
Tobias Diekershoff | ce91f967de | ||
Tobias Diekershoff | b97d856379 | ||
Hypolite Petovan | 28e70485c5 | ||
Philipp Holzer | f0eba1a305 | ||
Hypolite Petovan | b30f7d3055 | ||
Philipp Holzer | 97afccad32 | ||
Hypolite Petovan | 0d8b3cea83 | ||
322186d82d | |||
Philipp Holzer | d65d42cff2 | ||
Philipp Holzer | 3b9fc39241 | ||
Philipp Holzer | 07b3dd20ab | ||
Philipp Holzer | 0ef95fdb75 | ||
Philipp Holzer | 6164c8416c | ||
Philipp Holzer | f51828c996 | ||
Philipp Holzer | 5bba4bee00 | ||
Philipp Holzer | 826fa88843 | ||
Philipp Holzer | 3bb47c5845 | ||
Philipp Holzer | c2cd12bc65 | ||
Hypolite Petovan | 3d7a4c9326 | ||
Philipp Holzer | c06fff6921 | ||
Philipp Holzer | b3014ebf06 | ||
Hypolite Petovan | 9b5745b75b | ||
Philipp Holzer | adada10eb6 | ||
Philipp Holzer | 9c266e59cf | ||
Philipp Holzer | e3980a6d87 | ||
Hypolite Petovan | db998b0bf1 | ||
Philipp Holzer | 7662d1ef1c | ||
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 | ||
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 | ||
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 | ||
dc81a5cf5f | |||
Hypolite Petovan | 74ea687c2e | ||
Michael | ee2a97fa5c | ||
Hypolite Petovan | 57be32257b | ||
Michael | 9eaa6a2c08 | ||
b164910032 | |||
Tobias Diekershoff | fb4687b6df | ||
Hypolite Petovan | bcda4f3c15 | ||
Hypolite Petovan | d86ad302e3 | ||
Tealk | 629c1cca9f | ||
ad111e05df | |||
Tealk | a754a895ed | ||
Tobias Diekershoff | e83170ffcd | ||
dd7f343d43 | |||
93892fd25a | |||
Hypolite Petovan | acdb5c551f | ||
Hypolite Petovan | 0a8fe9149f | ||
Philipp Holzer | 50552912b8 | ||
45fe085dac | |||
Tobias Diekershoff | c07649cd2b | ||
Tobias Diekershoff | 578e79afa6 | ||
Tobias Diekershoff | 27fc16d631 | ||
Tobias Diekershoff | 22feb9ca04 | ||
Tobias Diekershoff | 0bd7943d95 | ||
Philipp Holzer | 410c90460e | ||
3879d4f4fa | |||
4914afa221 | |||
Hypolite Petovan | 17f6c8902b | ||
Michael | b4839e8a37 | ||
Hypolite Petovan | 0d4c95b7bc | ||
Hypolite Petovan | 91eefebab4 | ||
Michael | ca4c76ce41 | ||
6596a81af1 | |||
Hypolite Petovan | 1030498c09 | ||
Michael | 4791838cfd | ||
a50ca54999 | |||
b5d841643c | |||
Hypolite Petovan | f6735056b0 | ||
Hypolite Petovan | b300d27d19 | ||
Michael | 72b6898d49 | ||
be62a9a369 | |||
Hypolite Petovan | 7cad014049 | ||
Hypolite Petovan | 0464660cad | ||
Philipp Holzer | 5ea82418d8 | ||
Philipp Holzer | 58e38651b2 | ||
050b46139b | |||
Philipp Holzer | d032800f1e | ||
431607509d | |||
Philipp Holzer | bb8c01eba7 | ||
Hypolite Petovan | f014d84798 | ||
18556027cb | |||
Tobias Diekershoff | 7038a2065f | ||
Tobias Diekershoff | 54a7ff5095 | ||
Michael | 2ef9e7bfea | ||
Tobias Diekershoff | 2f67e4bac2 | ||
Tobias Diekershoff | a379e0f1c3 | ||
Tobias Diekershoff | 40c7094532 | ||
Tobias Diekershoff | d753afb1b0 | ||
Tobias Diekershoff | 5e9beb66ee | ||
Tobias Diekershoff | fc8a286af3 | ||
Tobias Diekershoff | 0e48d05a96 | ||
Tobias Diekershoff | 133afd2df4 | ||
Tobias Diekershoff | 8764f5205a | ||
Michael | d14f604049 | ||
Hypolite Petovan | 1aeb073aa4 | ||
f4f61aa151 | |||
e84867f324 | |||
Philipp Holzer | 95737984a0 | ||
Philipp Holzer | 622ec88fe3 | ||
Philipp Holzer | b852a61611 | ||
Tobias Diekershoff | 8441e698ce | ||
Philipp Holzer | dbde5358c6 | ||
Philipp Holzer | 05c98064b4 | ||
Philipp Holzer | 719dee2cff | ||
Philipp Holzer | bf80f21bb9 | ||
Hypolite Petovan | cfb11cd1eb | ||
Tobias Diekershoff | 37e2241edb | ||
Hypolite Petovan | f774d03903 | ||
Tobias Diekershoff | c2d502d244 | ||
Hypolite Petovan | e485c13a0e | ||
Tobias Diekershoff | 87a3a0589a | ||
Tobias Diekershoff | d5c7dd80aa | ||
Tobias Diekershoff | 4ab8b8bba4 | ||
Hypolite Petovan | 1c745a3d3a | ||
Hypolite Petovan | 225fbd0677 | ||
Hypolite Petovan | dba14ca18b | ||
Tobias Diekershoff | af10b60e97 | ||
Tobias Diekershoff | 573b29195b | ||
344e2c6978 | |||
Hypolite Petovan | 8bd9c6dac9 | ||
Tobias Diekershoff | 40f0a937f4 | ||
Hypolite Petovan | 1240135099 | ||
Hypolite Petovan | 8bd2d7d0eb | ||
dc2e40e71d | |||
c87ee96050 | |||
c61ff5c4eb | |||
c6aa212ea4 | |||
026767d07e | |||
Philipp Holzer | 1fca1a68d1 | ||
1ba2e5c9c9 | |||
534b352ebc | |||
e41efd72eb | |||
fdb2a26c90 | |||
092605c2c2 | |||
e39e621421 | |||
3f5880b914 | |||
aa2992adb1 | |||
72ed9efc2e | |||
3deb261c5e | |||
58ec90b915 | |||
e6f480dd75 | |||
7b69546ab4 | |||
4b3b79c894 | |||
Hypolite Petovan | f04493b5bb | ||
Tobias Diekershoff | e5e73ad692 | ||
Hypolite Petovan | defd910285 | ||
06f44abd05 | |||
Hypolite Petovan | 6a325dc14d | ||
99462552a0 | |||
3d2bdeb5a4 | |||
e646aa3695 | |||
Tobias Diekershoff | c0d883076d | ||
Tobias Diekershoff | 2f572878eb | ||
Tobias Diekershoff | 5b3c86f5d2 | ||
Tobias Diekershoff | 58ffb47b11 | ||
Tobias Diekershoff | 5e6521b955 | ||
Hypolite Petovan | 0d4ee1924d | ||
Michael | 85554bb6fd | ||
Hypolite Petovan | f0d88c6370 | ||
323904db0a | |||
9795ad4d5e | |||
e30188f143 | |||
Hypolite Petovan | 773bffe69d | ||
Michael | a3ccc0b71d | ||
Hypolite Petovan | 12da1ff139 | ||
04a0afcc97 | |||
2580c636d0 | |||
Michael | e945869e96 | ||
Michael | 286aa4770f | ||
Michael | 97f5910de7 | ||
Michael | e8d30a5c69 | ||
Michael | c9be3cfa7b | ||
Hypolite Petovan | 47bc4a97f7 | ||
Tobias Diekershoff | 3157c99ea7 | ||
Tobias Diekershoff | ba722e52da | ||
Tobias Diekershoff | 8e101a470d | ||
Hypolite Petovan | d716e12602 | ||
Philipp Holzer | e497d5a86a | ||
Hypolite Petovan | be2e893079 | ||
Philipp Holzer | d3ccce5efb | ||
Hypolite Petovan | 2a3d43f1f2 | ||
Michael | a295a4097a | ||
Hypolite Petovan | c7528b95b6 | ||
Michael | 2854e8f363 | ||
Hypolite Petovan | c278440578 | ||
Tobias Diekershoff | 6bbfef9385 | ||
Tobias Diekershoff | e2ea061887 | ||
Tobias Diekershoff | fa9adcf0ba | ||
Tobias Diekershoff | 7a49da0d70 | ||
Tobias Diekershoff | 6bd4f60cde | ||
Tobias Diekershoff | 881e83d3a2 | ||
Tobias Diekershoff | bf6a7ab337 | ||
Tobias Diekershoff | c9409ad8a2 | ||
Tobias Diekershoff | cec21dbd41 | ||
Tobias Diekershoff | addf6b5911 | ||
Tobias Diekershoff | ea5a3e52c9 | ||
Tobias Diekershoff | 8bf71582a0 | ||
Tobias Diekershoff | 5fef3a2d82 | ||
Tobias Diekershoff | 8c39e22b89 | ||
Tobias Diekershoff | 35bccaa604 | ||
Tobias Diekershoff | e38eb1c71c | ||
Tobias Diekershoff | 4056a01f47 | ||
Tobias Diekershoff | 2e64545f52 | ||
Tobias Diekershoff | 6480bd7be1 | ||
Tobias Diekershoff | 7a4e49750a | ||
Tobias Diekershoff | 471361430d | ||
Tobias Diekershoff | 2451fe338d | ||
Tobias Diekershoff | 247cee34e7 | ||
Tobias Diekershoff | e1c0103da2 | ||
Tobias Diekershoff | f2cb763d86 | ||
Tobias Diekershoff | 1299914d43 | ||
Tobias Diekershoff | a537f280e7 | ||
Tobias Diekershoff | ae202e22d1 | ||
Tobias Diekershoff | 479533bf40 | ||
Tobias Diekershoff | 291c85c7af | ||
Tobias Diekershoff | 9305bc9e6e | ||
Tobias Diekershoff | c4a2bd9607 | ||
Hypolite Petovan | 2ec719646c | ||
Hypolite Petovan | 4717f5c55f | ||
Tobias Diekershoff | bf124f67e6 | ||
42520d0351 | |||
Tobias Diekershoff | 2428e85519 | ||
Tobias Diekershoff | a1b8da43d0 | ||
Tobias Diekershoff | fdf10ec0dc | ||
Tobias Diekershoff | a66cb80307 | ||
Tobias Diekershoff | 0553910895 | ||
Tobias Diekershoff | f5f37842c6 | ||
Tobias Diekershoff | ca343f1dc5 | ||
Tobias Diekershoff | f9dfcad0bd | ||
Tobias Diekershoff | bb0221f48f | ||
Tobias Diekershoff | 57531318a6 | ||
Tobias Diekershoff | c07f1b4f6f | ||
Tobias Diekershoff | da66d70e54 | ||
Tobias Diekershoff | 0a1447da10 | ||
Tobias Diekershoff | 325798b3cf | ||
Tobias Diekershoff | 24e046d949 | ||
Tobias Diekershoff | 748aad41b0 | ||
Tobias Diekershoff | 78170f19ee | ||
Tobias Diekershoff | 9bcc488899 | ||
Tobias Diekershoff | 28623e80b3 | ||
Tobias Diekershoff | b851879f3c | ||
Hypolite Petovan | 9af1fccfcb | ||
Tobias Diekershoff | 47bfca6dae | ||
Tobias Diekershoff | 862fff7dfc | ||
Tobias Diekershoff | 71a40c3812 | ||
Tobias Diekershoff | f399295ed2 | ||
Tobias Diekershoff | 70f541c58b | ||
Tobias Diekershoff | 889525ad81 | ||
Tobias Diekershoff | 666c952ca9 | ||
Tobias Diekershoff | 4e208f8f12 | ||
Tobias Diekershoff | 5e800b012b | ||
Tobias Diekershoff | a7ed735ff1 | ||
Tobias Diekershoff | 8271a56134 | ||
Tobias Diekershoff | 9752d043fb | ||
Hypolite Petovan | 69bbd8b439 | ||
Tobias Diekershoff | d0954b453a | ||
Tobias Diekershoff | 2a7cf8f5ac | ||
Tobias Diekershoff | a500f95f9c | ||
Tobias Diekershoff | d3e26c729f | ||
Tobias Diekershoff | af5799bda3 | ||
Tobias Diekershoff | 1ecb21f516 | ||
Tobias Diekershoff | 89f1fb802a | ||
Tobias Diekershoff | 1954f125fe | ||
Tobias Diekershoff | 70b77f00b8 | ||
Tobias Diekershoff | 126f480a66 | ||
Tobias Diekershoff | b46b730af4 | ||
Tobias Diekershoff | 226139da8e | ||
Tobias Diekershoff | 6519956b5f | ||
Tobias Diekershoff | 3e37e5aa11 | ||
Tobias Diekershoff | bdbfd9e919 | ||
Tobias Diekershoff | c772d13544 | ||
Tobias Diekershoff | 97baf25c7d | ||
Tobias Diekershoff | 11466eb1a7 | ||
Tobias Diekershoff | cb790ab4b8 | ||
Tobias Diekershoff | b4f0d0bd75 | ||
Tobias Diekershoff | e91da55351 | ||
Tobias Diekershoff | da5c3db6cc | ||
Tobias Diekershoff | eef43ddf3d | ||
Tobias Diekershoff | a372b65f8a | ||
Tobias Diekershoff | 6e5a59f29f | ||
Tobias Diekershoff | 08ae8e4e3a | ||
Tobias Diekershoff | a54846d862 | ||
Tobias Diekershoff | f89765593d | ||
Tobias Diekershoff | d1a7b83cff | ||
Tobias Diekershoff | bfc176a546 | ||
Tobias Diekershoff | 7b12a9ed27 | ||
Tobias Diekershoff | e6d19c37f3 | ||
Tobias Diekershoff | 9c88cc7108 | ||
Tobias Diekershoff | c5890731ad | ||
Tobias Diekershoff | 37501f74fb | ||
Tobias Diekershoff | 32ab02a1a0 | ||
Tobias Diekershoff | 3610d215eb | ||
Tobias Diekershoff | 6ae5b44ea9 | ||
Tobias Diekershoff | dfb5c8f821 | ||
Tobias Diekershoff | 9e04346676 | ||
Tobias Diekershoff | d50c7ab010 | ||
Tobias Diekershoff | e883701b82 | ||
Tobias Diekershoff | 9e025b4771 | ||
Tobias Diekershoff | b6ac955ca3 | ||
Tobias Diekershoff | 24777b1fe3 | ||
Tobias Diekershoff | fe24c7bc73 | ||
Tobias Diekershoff | 59146f9879 | ||
Tobias Diekershoff | d0477a0fe9 | ||
Tobias Diekershoff | c04bd86a82 | ||
Tobias Diekershoff | f7af190abf | ||
Tobias Diekershoff | d7625517f2 | ||
Tobias Diekershoff | 2ed46eeefe | ||
Tobias Diekershoff | a3b873647c | ||
Tobias Diekershoff | ead4901020 | ||
Tobias Diekershoff | e56272d956 | ||
Tobias Diekershoff | d754a5c0f9 | ||
Tobias Diekershoff | ae4c87f6bf | ||
Tobias Diekershoff | 96a41ef2a4 | ||
Tobias Diekershoff | 195380eb7e | ||
Tobias Diekershoff | 2af78ab674 | ||
Tobias Diekershoff | 1fc9debbc1 | ||
Tobias Diekershoff | 39e753329a | ||
Tobias Diekershoff | 1a9bfc04db | ||
Tobias Diekershoff | 02e6e56e85 | ||
Tobias Diekershoff | 4732761c1b | ||
Tobias Diekershoff | 8cee4de52f | ||
Tobias Diekershoff | 1a4661e984 | ||
Tobias Diekershoff | 51f47ef283 | ||
Tobias Diekershoff | 61cb9dd518 | ||
Tobias Diekershoff | ec3e4a0baa | ||
Tobias Diekershoff | d8ac4d0cdf | ||
Tobias Diekershoff | 2dbcc42384 | ||
Tobias Diekershoff | ce50fda7b1 | ||
Tobias Diekershoff | d33bba37a7 | ||
Tobias Diekershoff | 46de1b8b89 | ||
Tobias Diekershoff | cd86ecf857 | ||
Tobias Diekershoff | 1e12fd066f | ||
Tobias Diekershoff | b7e488a2f1 | ||
Tobias Diekershoff | 0835bef3ad | ||
Tobias Diekershoff | 523bddc3b8 | ||
Tobias Diekershoff | 4ade9aecd8 | ||
Tobias Diekershoff | f5382b8f57 | ||
Tobias Diekershoff | e55f03e0b6 | ||
Tobias Diekershoff | 9ec6f00abe | ||
Tobias Diekershoff | 6cafbf0b37 | ||
Tobias Diekershoff | ffa2269ec7 | ||
Tobias Diekershoff | a3e13179f0 | ||
Tobias Diekershoff | bfcf9feca1 | ||
Tobias Diekershoff | d7de9d9bf7 | ||
Tobias Diekershoff | 579c867358 | ||
Tobias Diekershoff | f7bc71557a | ||
Tobias Diekershoff | f2478ed94e | ||
Tobias Diekershoff | b99d9b551c | ||
Tobias Diekershoff | 7442d15e7c | ||
Tobias Diekershoff | 312e10ca18 | ||
Tobias Diekershoff | 09b6d14c98 | ||
Tobias Diekershoff | d3792f4b73 | ||
Tobias Diekershoff | 940d465854 | ||
Tobias Diekershoff | d6ff1c7ef6 | ||
Tobias Diekershoff | e611017932 | ||
Tobias Diekershoff | ca9a65b03e | ||
Tobias Diekershoff | 9d6d7dc9e1 | ||
Hypolite Petovan | e409ffcf06 | ||
b3a0d2ba13 | |||
e53818d9f1 | |||
d1a90e02f0 | |||
Hypolite Petovan | dbbcc4fb5d | ||
Hypolite Petovan | 2bb1f1dff1 | ||
55b9b5e877 | |||
Hypolite Petovan | 468be1978b | ||
73e780d7b6 | |||
Hypolite Petovan | e119866de7 | ||
Michael | f14bbeae14 | ||
Michael | e8ea0f20bd | ||
Tobias Diekershoff | 893792a2e6 | ||
Tobias Diekershoff | 0382b19fd1 | ||
Tobias Diekershoff | e46842f547 | ||
Tobias Diekershoff | ed8062d10b | ||
Tobias Diekershoff | 095b1057ec | ||
Tobias Diekershoff | 5029d3b486 | ||
Tobias Diekershoff | 5c63813626 | ||
Tobias Diekershoff | 9c5940861a | ||
Tobias Diekershoff | 5bc4a79d80 | ||
6b558ca236 | |||
Hypolite Petovan | 7777f08047 | ||
Michael | 05a805398e | ||
Tobias Diekershoff | 56b0083dac | ||
Tobias Diekershoff | a74b9f39b0 | ||
Hypolite Petovan | 4f698eb875 | ||
Hypolite Petovan | ebdc1a753d | ||
Hypolite Petovan | 644418bc4d | ||
Hypolite Petovan | f0eb29cb90 | ||
Hypolite Petovan | 5bd67d0d46 | ||
Tobias Diekershoff | 7c5d0a432a | ||
Tobias Diekershoff | 7ce6bb3d4d | ||
Tobias Diekershoff | bada70ebf7 | ||
Tobias Diekershoff | 4e54c7948e | ||
Tobias Diekershoff | 6312178d6e | ||
Hypolite Petovan | 6d1ac20281 | ||
Hypolite Petovan | 84542e0048 | ||
Tobias Diekershoff | 500aab3c53 | ||
Tobias Diekershoff | 7f3704ae54 | ||
ab5ffa6b21 | |||
Tobias Diekershoff | bbebc9e58c | ||
Tobias Diekershoff | ad64e20603 | ||
Tobias Diekershoff | 104eaf82d4 | ||
Tobias Diekershoff | 7f4d5118b6 | ||
Tobias Diekershoff | 8e38daf7d1 | ||
Tobias Diekershoff | f3a81a170e | ||
Tobias Diekershoff | 65f51cbdda | ||
Tobias Diekershoff | 5a3bd4d35b | ||
Hypolite Petovan | ad968ab2c9 | ||
Michael | 61d95f5302 | ||
Hypolite Petovan | 749dac6e38 | ||
Michael | 3715293ca5 | ||
Hypolite Petovan | 342cc2c044 | ||
Michael | 24527b3584 | ||
13cdb37f3d | |||
Hypolite Petovan | 00e8602892 | ||
Hypolite Petovan | 21bb90f677 | ||
Michael | b4644212d4 | ||
Hypolite Petovan | 2ed38ad293 | ||
Michael | 1533d9a758 | ||
Tobias Diekershoff | 74ae7145cf | ||
Michael | 0417ee39fd | ||
559c85775e | |||
Hypolite Petovan | 9d63da806e | ||
Hypolite Petovan | 14ebf55d56 | ||
Hypolite Petovan | 39280ea6bd | ||
Hypolite Petovan | ceb4f461da | ||
Michael | 93e6c937bc | ||
dd9edc1ebd | |||
4f155fc8a1 | |||
8235b2511e | |||
Hypolite Petovan | 6a4dd6ed4b | ||
Hypolite Petovan | 79b49cbaee | ||
6439a51a19 | |||
Hypolite Petovan | 368a0d3f6c | ||
Hypolite Petovan | 7ce00592a2 | ||
Michael | e1bbec52bf | ||
Hypolite Petovan | 5a7acbc184 | ||
Tobias Diekershoff | 25af6e0c11 | ||
Tobias Diekershoff | 2bae1cca61 | ||
Tobias Diekershoff | e2676eb618 | ||
Tobias Diekershoff | 46e05158b8 | ||
Tobias Diekershoff | 55fd1d4a21 | ||
Tobias Diekershoff | 92cf2ce069 | ||
Tobias Diekershoff | 70617811eb | ||
Tobias Diekershoff | 9e78426c59 | ||
Tobias Diekershoff | 3927985b8f | ||
Tobias Diekershoff | 207e82c7fe | ||
Tobias Diekershoff | f58f380289 | ||
Tobias Diekershoff | 7a73f2c0d7 | ||
Tobias Diekershoff | d278a4cb2c | ||
Tobias Diekershoff | 54436370f2 | ||
Tobias Diekershoff | bcb4dd8012 | ||
Tobias Diekershoff | 81879b740e | ||
Tobias Diekershoff | 4d23fefdd4 | ||
Tobias Diekershoff | d0894c1851 | ||
Tobias Diekershoff | 2eadb59c1e | ||
Tobias Diekershoff | 666a0248af | ||
Tobias Diekershoff | afdd29f7ef | ||
Hypolite Petovan | d572a68f28 | ||
Hypolite Petovan | 0e534dc0ce | ||
Hypolite Petovan | bb03412142 | ||
d288c0cef2 | |||
Hypolite Petovan | 16588c41f6 | ||
Michael | a3a0da2750 | ||
Hypolite Petovan | c303e20254 | ||
Michael | dca9bb3844 | ||
Michael | 0d84a9fbaf | ||
6cad529c38 | |||
Michael | 99e96d8923 | ||
Michael | fb6207f01f | ||
Hypolite Petovan | 610d11d719 | ||
Michael | e0c02c9eb8 | ||
Hypolite Petovan | e6becaacd6 | ||
Michael | f11b6a1080 | ||
Michael | ed672a36f5 | ||
Michael | 8340f3b1f4 | ||
Hypolite Petovan | 895c264bb5 | ||
Michael | 3c18a3eedd | ||
Michael | 47844cf1b1 | ||
Tobias Diekershoff | 2df2059dc7 | ||
Michael | ed69141fb2 | ||
Michael | ad679c6c25 | ||
Hypolite Petovan | 30364c8ac0 | ||
Michael | d5b54f3bb1 | ||
Hypolite Petovan | c623195e0f | ||
Michael | 57577f3b65 | ||
Hypolite Petovan | 168cfae128 | ||
Michael | 98b1d4990b | ||
52d86afc5c | |||
Hypolite Petovan | 341e51f13d | ||
Hypolite Petovan | 83df923675 | ||
Hypolite Petovan | 6bb2864395 | ||
Michael | bf63ef3ea5 | ||
Michael | 6272ee3d09 | ||
Hypolite Petovan | b3f7952be3 | ||
Michael | bc2058e21a | ||
ac42c70579 | |||
Hypolite Petovan | 8be4e72cdd | ||
Hypolite Petovan | 647823769b | ||
Hypolite Petovan | 019bcb4be4 | ||
Michael | a0344101f1 | ||
63e105212c | |||
2f71df5429 | |||
Hypolite Petovan | b43dca5087 | ||
Hypolite Petovan | 238b972449 | ||
4edf4832dd | |||
Hypolite Petovan | 4d49833f8b | ||
0dce0b722b | |||
Hypolite Petovan | d0d2a3269a | ||
4da668be69 | |||
Hypolite Petovan | 05d2707d50 | ||
ee8564fd06 | |||
Tobias Diekershoff | 5c84835f91 | ||
1c7b312442 | |||
Hypolite Petovan | 5ddcc82951 | ||
Hypolite Petovan | 74cfe72750 | ||
29586d3498 | |||
2dc294df18 | |||
Tobias Diekershoff | e34b227e61 | ||
Tobias Diekershoff | ce7689a367 | ||
Hypolite Petovan | 26fda6baf3 | ||
Michael | c0892ce696 | ||
Tobias Diekershoff | 1c9f613509 | ||
Hypolite Petovan | 76ecff195f | ||
Philipp Holzer | 94b41e0859 | ||
0be3439cb7 | |||
Tobias Diekershoff | b9647092a7 | ||
Tobias Diekershoff | dce9221d18 | ||
a82b123d73 | |||
Hypolite Petovan | b062142800 | ||
Tobias Diekershoff | 43e354658d | ||
Michael | 6c4482234e | ||
Michael | 1848cf79fa | ||
14c09c1bbb | |||
Hypolite Petovan | 4488a16af0 | ||
Hypolite Petovan | 72ce0e814d | ||
Hypolite Petovan | 023b3a4a76 | ||
f5ceead5e0 | |||
Philipp Holzer | 38bbdb4acb | ||
Philipp Holzer | 3015660025 | ||
hoergen | c1f07c54f2 | ||
Tobias Diekershoff | 147ac6b774 | ||
hoergen | 409a8d1724 | ||
hoergen | 5b045a5348 | ||
hoergen | 3855f878dd | ||
hoergen | 0bde25d918 | ||
Hypolite Petovan | b4a0c8c0fc | ||
07ea027bab | |||
Hypolite Petovan | 516d1ce316 | ||
Michael | df1d9d770c | ||
Hypolite Petovan | 8223b54d0b | ||
Philipp Holzer | 7fd4511a21 | ||
Tobias Diekershoff | 2365a9ae02 | ||
Hypolite Petovan | 10d1156a77 | ||
Philipp Holzer | 5663e61791 | ||
Philipp Holzer | 874cef6a19 | ||
Tobias Diekershoff | a2328af757 | ||
Michael | d65730967c | ||
e0870a41d7 | |||
Tobias Diekershoff | c15b83d9c0 | ||
Tobias Diekershoff | caf0d3735c | ||
Tobias Diekershoff | a423d92649 | ||
Tobias Diekershoff | 9b39902135 | ||
Tobias Diekershoff | 40ca7d4dd8 | ||
Tobias Diekershoff | 1cae45d343 | ||
Tobias Diekershoff | 62c6b49782 | ||
Tobias Diekershoff | 4c2cf19725 | ||
a398dc0372 | |||
Tobias Diekershoff | 02bd1a7590 | ||
a6bdb8b742 | |||
Hypolite Petovan | d497379988 | ||
ec22a12365 | |||
Hypolite Petovan | 9b296786d5 | ||
Tobias Diekershoff | f76bf08647 | ||
Michael | b2d640bf09 | ||
8a6cdb2dcb | |||
Tobias Diekershoff | 2d8e0a997f | ||
Tobias Diekershoff | 6c08c297c4 | ||
544a32f918 | |||
Tobias Diekershoff | ad453ca3ce | ||
Tobias Diekershoff | e0cdc202af | ||
Tobias Diekershoff | 6ca00ec39d | ||
Tobias Diekershoff | c4b3bdd093 | ||
Tobias Diekershoff | 2da163c243 | ||
Tobias Diekershoff | 538a3feaec | ||
Tobias Diekershoff | e1918f7d4e | ||
Tobias Diekershoff | 001b0b7c10 | ||
Hypolite Petovan | 16663c5911 | ||
Tobias Diekershoff | 5cf2bb3879 | ||
Tobias Diekershoff | 7082332c03 | ||
Tobias Diekershoff | faca47ac1a | ||
Hypolite Petovan | d64948559a | ||
94875043e1 | |||
73b505563b | |||
Hypolite Petovan | 203672cf27 | ||
Hypolite Petovan | aa25a9d762 | ||
Michael | cc7a1b181c | ||
2c69a9c359 | |||
Hypolite Petovan | d2639edbc2 | ||
Michael | 8fbf514e3d | ||
Michael | 3f84caeec5 | ||
19b2c8d833 | |||
72c24efe5b | |||
90193bd02b | |||
f36ca4fcf4 | |||
40ff1d7fda | |||
fed6e3cde1 | |||
20056dc795 | |||
688c556739 | |||
9640142a72 | |||
31bd1a1ba0 | |||
Hypolite Petovan | a80e9154c5 | ||
Tobias Diekershoff | 0a43efa8a8 | ||
Hypolite Petovan | 23a530b70d | ||
Hypolite Petovan | 1534404e3a | ||
Michael | f7cb9b3b81 | ||
44f4557109 | |||
Hypolite Petovan | 5a36205139 | ||
Hypolite Petovan | b5f14cb559 | ||
Hypolite Petovan | 314d9c1cc1 | ||
Michael | cae25f13c1 | ||
Tobias Diekershoff | bddb826fcc | ||
50d59f5ecd | |||
Hypolite Petovan | c44a66935c | ||
Michael | 68b6b896c6 | ||
Hypolite Petovan | 5a365e9139 | ||
Michael | 0a794d416b | ||
Michael | 49b4a2ee7b | ||
Michael | 75b6a0d315 | ||
dc059370c9 | |||
Tobias Diekershoff | 645e82725f | ||
Hypolite Petovan | af7e36bb3d | ||
ac5f3e1a94 | |||
Tobias Diekershoff | 25e1e98a34 | ||
Hypolite Petovan | 18bb5e4992 | ||
Hypolite Petovan | 0d0e182112 | ||
Tobias Diekershoff | dc746cc211 | ||
Tobias Diekershoff | 785f691825 | ||
Tobias Diekershoff | 4792426efd | ||
Tobias Diekershoff | 17b7362b17 | ||
Tobias Diekershoff | 8ce5ce91d0 | ||
589712f192 | |||
a078b08797 | |||
Hypolite Petovan | 44bf674727 | ||
94c658b105 | |||
Tobias Diekershoff | 37c677c493 | ||
Hypolite Petovan | ef21c83037 | ||
Hypolite Petovan | b07e4bd59c | ||
Hypolite Petovan | 9d2c8902d3 | ||
Hypolite Petovan | a786d34ad3 | ||
Hypolite Petovan | c720acbd8d | ||
1e451a3490 | |||
Hypolite Petovan | e5d3bab855 | ||
Hypolite Petovan | a23908723a | ||
b25092353a | |||
Tobias Diekershoff | 67053496a7 | ||
Tobias Diekershoff | 177b45d83c | ||
Tobias Diekershoff | 30515aa8aa | ||
Tobias Diekershoff | df1669493c | ||
Tobias Diekershoff | 9318cb8583 | ||
Tobias Diekershoff | 032d61bf74 | ||
Tobias Diekershoff | d6221acb53 | ||
Tobias Diekershoff | 0734b5620d | ||
Tobias Diekershoff | 2ec0eb6745 | ||
Tobias Diekershoff | c081a7a336 | ||
Tobias Diekershoff | abf61cd93f | ||
Tobias Diekershoff | fdc75fb73c | ||
Tobias Diekershoff | fc5a4de53c | ||
Tobias Diekershoff | 9ce4d716b2 | ||
Tobias Diekershoff | 1651dd418e | ||
Tobias Diekershoff | 47b204e511 | ||
Tobias Diekershoff | 88bcdb4919 | ||
Tobias Diekershoff | c1dcd905d4 | ||
Tobias Diekershoff | ccf999aaea | ||
Tobias Diekershoff | 89c85f6df2 | ||
Tobias Diekershoff | 9f1686bc80 | ||
Tobias Diekershoff | b68711a96a | ||
86179eb3f4 | |||
Hypolite Petovan | 6ce762010e | ||
318e351860 | |||
Hypolite Petovan | 03c2a30991 | ||
Hypolite Petovan | 2081ee6040 | ||
Hypolite Petovan | ed67e2cd6e | ||
a0e071db70 | |||
Hypolite Petovan | 47cb5d0b14 | ||
Michael | 351ff48ef8 | ||
54d22d3ef8 | |||
33fc7240e6 | |||
Hypolite Petovan | 5688629a4b | ||
Michael | b406d737b5 | ||
59cfb05c3a | |||
5b9bba32bb | |||
Hypolite Petovan | 5e397ad580 | ||
Hypolite Petovan | cf6bf67fd8 | ||
Hypolite Petovan | b6cd18fcad | ||
Hypolite Petovan | 8b291f534e | ||
Hypolite Petovan | 5e39c8d2c2 | ||
Michael | 00b1f69b7e | ||
76e3339b7b | |||
Hypolite Petovan | b733391e85 | ||
Hypolite Petovan | e060931939 | ||
Michael | 471bcc1b63 | ||
Hypolite Petovan | 9b57f661b0 | ||
Philipp Holzer | 6520bd77d9 | ||
Hypolite Petovan | 81dd8fb295 | ||
4486c7bfd5 | |||
Michael | 45e1dff8fd | ||
Michael | 3814219b0c | ||
d108ea4b79 | |||
Hypolite Petovan | 2a3689976e | ||
Hypolite Petovan | a76e9a1226 | ||
Tobias Diekershoff | 786de7b891 | ||
Hypolite Petovan | 079e56fb1c | ||
Tobias Diekershoff | cb34593770 | ||
Michael | 225243645e | ||
ec335be182 | |||
Hypolite Petovan | 1df61e8dc2 | ||
Tobias Diekershoff | 96925a3a75 | ||
Hypolite Petovan | efaf125d3d | ||
Tobias Diekershoff | 98579a7feb | ||
Tobias Diekershoff | a32fd4df56 | ||
Hypolite Petovan | 5cd2f6c442 | ||
9497a598bb | |||
15d3c2f78e | |||
f9e74a3c34 | |||
b5056b11ef | |||
Hypolite Petovan | 4f7dc02acb | ||
Tobias Diekershoff | fabd3728a7 | ||
959f98e476 | |||
4d3aed3095 | |||
1360efc930 | |||
f4c141f2e7 | |||
30d35b835e | |||
c12e1256e4 | |||
58030804cb | |||
dd09acffbd | |||
28b9a8323d | |||
0ea84cfb66 | |||
b46a23eab3 | |||
ed45145415 | |||
Hypolite Petovan | 093c560564 | ||
Tobias Diekershoff | b8de9687b0 | ||
ab24c621b2 | |||
858904090e | |||
8ff88b2eee | |||
93f8bbfe56 | |||
bcf99d066d | |||
Hypolite Petovan | ceff17469c | ||
Hypolite Petovan | acc013f287 | ||
Hypolite Petovan | f2772b87c0 | ||
8b17ea90c4 | |||
Tobias Diekershoff | 7892c8f9dd | ||
Tobias Diekershoff | 356269792a | ||
Tobias Diekershoff | 9011d75b78 | ||
Tobias Diekershoff | 5f5762c6d3 | ||
Tobias Diekershoff | 5140f6addc | ||
Tobias Diekershoff | 973e75f2bc | ||
Tobias Diekershoff | 8eab3e96b1 | ||
Hypolite Petovan | b11e418f35 | ||
Michael | 09bb49eef5 | ||
Tobias Diekershoff | 0fda21d637 | ||
Hypolite Petovan | d80aaf9045 | ||
5fe4942644 | |||
Hypolite Petovan | 7eb7706a24 | ||
86b2d830a5 | |||
Tobias Diekershoff | eebd873844 | ||
Andy H | 4757132840 | ||
Andy H | 7509ce88b9 | ||
Tobias Diekershoff | ca3213b394 | ||
Hypolite Petovan | 9c092d5c40 | ||
Hypolite Petovan | 4dff5e7175 | ||
Hypolite Petovan | b9b5a0fd14 | ||
56a46e4ed1 | |||
b5759d24ee | |||
Hypolite Petovan | e0dbc6a6d6 | ||
6cc04a3ebc | |||
4e9838f571 | |||
Hypolite Petovan | 7bd1f05510 | ||
Michael | c95713b19c | ||
Tobias Diekershoff | 49f0b0909e | ||
Hypolite Petovan | 7df232a28e | ||
Hypolite Petovan | bdfe575365 | ||
Hypolite Petovan | f416f4d6a4 | ||
Philipp Holzer | c185bab922 | ||
Philipp Holzer | 81dc1e5eb1 | ||
Philipp Holzer | 7603b23799 | ||
Hypolite Petovan | 360e58e6e3 | ||
Philipp Holzer | dc1e3a0d1d | ||
Philipp Holzer | 0fb7e2c647 | ||
Hypolite Petovan | 30eb87e939 | ||
5398962506 | |||
Hypolite Petovan | 53d3c372f3 | ||
Hypolite Petovan | 6f45425817 | ||
Hypolite Petovan | 14acb7d7cf | ||
Philipp Holzer | 2429f7eba8 | ||
Hypolite Petovan | bfa25a197c | ||
Philipp Holzer | ae5ebf1e89 | ||
Philipp Holzer | 49254a8307 | ||
Philipp Holzer | b828762910 | ||
Philipp Holzer | eb18a0d761 | ||
Hypolite Petovan | 1357817fc3 | ||
Philipp Holzer | 65e4726718 | ||
Philipp Holzer | 62d6f08fc1 | ||
Philipp Holzer | 75143e27b5 | ||
Philipp Holzer | 1ce63185ab | ||
Hypolite Petovan | c67ad31c8b | ||
Philipp Holzer | 8f49ff2054 | ||
Philipp Holzer | 191e298504 | ||
Philipp Holzer | bce67496a7 | ||
Philipp Holzer | f2fc22227a | ||
Philipp Holzer | 88f0835fae | ||
Philipp Holzer | 48fecb9a40 | ||
Hypolite Petovan | 1eb23e3667 | ||
e7f7868c88 | |||
Hypolite Petovan | bbaf463a20 | ||
Philipp Holzer | a26bfe79e9 | ||
Philipp Holzer | 346bf125a7 | ||
Philipp Holzer | febc835a2d | ||
Philipp Holzer | ea3a9052d8 | ||
Philipp Holzer | 2a35176588 | ||
c3919e52d2 | |||
Hypolite Petovan | 43d2e0c38a | ||
Philipp Holzer | 665948b37e | ||
Philipp Holzer | fbc10c177f | ||
Tobias Diekershoff | bc62d7ad0f | ||
Hypolite Petovan | d0a63610bd | ||
6121ad71d3 | |||
92fed96116 | |||
Hypolite Petovan | 947f84490d | ||
Philipp Holzer | b6fd3f71f0 | ||
Philipp Holzer | 19fd0a22d7 | ||
80e81f02ad | |||
Philipp Holzer | 9b93c5ee60 | ||
Hypolite Petovan | 77be5d04b6 | ||
Tobias Diekershoff | ce17f7c793 | ||
Hypolite Petovan | ba66cb2dc5 | ||
b37d8807ae | |||
fc41ff2e08 | |||
9799c65ab3 | |||
bbe4c5cd58 | |||
3797c2f971 | |||
8ae44d5995 | |||
8504f2e999 | |||
Hypolite Petovan | d3717045f7 | ||
Hypolite Petovan | b351fabb4f | ||
Philipp Holzer | 2ca621a92a | ||
07269ebb69 | |||
Tobias Diekershoff | dc4b91899b | ||
Hypolite Petovan | 44636c1461 | ||
Hypolite Petovan | 14850e553a | ||
Hypolite Petovan | b1eefb5a48 | ||
Hypolite Petovan | 905823ea63 | ||
Michael | d0a7623b94 | ||
Hypolite Petovan | c03588f0b4 | ||
Michael | 141007764b | ||
Hypolite Petovan | bbc629544f | ||
Hypolite Petovan | aa7f8e7bdf | ||
Michael | dbd9e940c8 | ||
6b128e5f17 | |||
Tobias Diekershoff | 42ed23bfbc | ||
Philipp Holzer | 0b56ff0aa0 | ||
Philipp Holzer | 9d9384f5ed | ||
Philipp Holzer | dfd8c4c24f | ||
Philipp Holzer | 5060f3c0aa | ||
Philipp Holzer | 4b6527e273 | ||
Philipp Holzer | 335fcf670f | ||
Philipp Holzer | 0775c28854 | ||
Philipp Holzer | 99db3452e3 | ||
Philipp Holzer | 33dae7eb94 | ||
Philipp Holzer | 44bf0343e2 | ||
Philipp Holzer | 34ba7f441d | ||
Philipp Holzer | 5d4d175bf9 | ||
Hypolite Petovan | d18af9c2c4 | ||
50d028db3c | |||
Tobias Diekershoff | 11b09b260f | ||
Tobias Diekershoff | 5776ffcb5b | ||
Michael | 051771c4e2 | ||
Michael | 2f3e727570 | ||
Tobias Diekershoff | 4954cabd9d | ||
Michael | 95f0065759 | ||
Michael | 289d7b344c | ||
Tobias Diekershoff | 04d552bcb4 | ||
Hypolite Petovan | 1a4a42598d | ||
Tobias Diekershoff | c9036cdc4d | ||
Hypolite Petovan | 98e9cc7dc2 | ||
Philipp Holzer | 382ca2b3bc | ||
Philipp Holzer | 838c28f171 | ||
Philipp Holzer | 4f4b9f26c1 | ||
Hypolite Petovan | 07143841d2 | ||
Hypolite Petovan | 30459ae6a3 | ||
Tobias Diekershoff | cd20f56fbe | ||
7b5daad98f | |||
Hypolite Petovan | 4dc0d55027 | ||
Tobias Diekershoff | cbfda200c5 | ||
Tobias Diekershoff | 8237e3cc69 | ||
5091b2aa41 | |||
a042470051 | |||
9e27e3061c | |||
f8e0df1f71 | |||
98c47f24ba | |||
Philipp Holzer | d6736eddf5 | ||
Hypolite Petovan | cfe921ac75 | ||
Michael | 1b08661d9d | ||
Philipp Holzer | c62774f6d2 | ||
Hypolite Petovan | d31330a0df | ||
a797db56ad | |||
Tobias Diekershoff | afe5846348 | ||
Hypolite Petovan | d2ef577d93 | ||
Tobias Diekershoff | 271b2d4b1c | ||
Hypolite Petovan | 665c2c3337 | ||
Hypolite Petovan | 75a7d6f1c7 | ||
Michael | c45df0b964 | ||
Michael | 561ae12b02 | ||
Michael | fae6bbe92c | ||
Michael | 57f689faf1 | ||
Michael | f951608669 | ||
Michael | 0235126589 | ||
Michael | 9bc1f9cee6 | ||
Michael | 0465de62dc | ||
Hypolite Petovan | b308f3bc05 | ||
Michael | da663db1cb | ||
Hypolite Petovan | 43503abc15 | ||
Tobias Diekershoff | 7a587d9628 | ||
Tobias Diekershoff | 6944b54ff7 | ||
Tobias Diekershoff | 807ad657bf | ||
Tobias Diekershoff | 061a3bbd4f | ||
Tobias Diekershoff | 6e2f4ed949 | ||
Tobias Diekershoff | d70054d40c | ||
Tobias Diekershoff | 8fcd3e03da | ||
Tobias Diekershoff | 0a31d82151 | ||
Tobias Diekershoff | cc7ea016ab | ||
Tobias Diekershoff | fac60aad39 | ||
Tobias Diekershoff | 9561b40926 | ||
Tobias Diekershoff | 1526e8768d | ||
Tobias Diekershoff | 35b3a31ad6 | ||
Tobias Diekershoff | 71ad9386e1 | ||
Tobias Diekershoff | a294b81293 | ||
Tobias Diekershoff | d74c5ff0f9 | ||
Tobias Diekershoff | 9481be4270 | ||
Tobias Diekershoff | b1c22cdf74 | ||
Tobias Diekershoff | d6734f0fd3 | ||
Hypolite Petovan | 4f545974da | ||
Hypolite Petovan | 03b39712b9 | ||
06bb1bc62d | |||
Hypolite Petovan | 37e19d0c14 | ||
Hypolite Petovan | 5bcc6ada26 | ||
1137b703ed | |||
Michael | d53d690f0d | ||
Hypolite Petovan | f1f07251a7 | ||
e92a154a6c | |||
65250b3fa5 | |||
2c5fe26ae9 | |||
9bd0609625 | |||
Hypolite Petovan | 9a364006c3 | ||
a555820111 | |||
46bccdc9e0 | |||
94893d8960 | |||
Hypolite Petovan | 1f0e3ee604 | ||
Hypolite Petovan | acdd62da3e | ||
Hypolite Petovan | ce7b5ff6ac | ||
20f5addbe8 | |||
Tobias Diekershoff | 030711f11e | ||
Tobias Diekershoff | a1360930e1 | ||
Tobias Diekershoff | 5d8e4bf73d | ||
Tobias Diekershoff | 005d932050 | ||
Tobias Diekershoff | c0f3f0a77a | ||
0e6a926305 | |||
67de8c6ec1 | |||
Hypolite Petovan | d9436bd104 | ||
Hypolite Petovan | 2a1b1019e3 | ||
Hypolite Petovan | f573907bd2 | ||
Tobias Diekershoff | 80ec21c76b | ||
Tobias Diekershoff | 594542ad42 | ||
Hypolite Petovan | a8b9a6c97d | ||
801b88a982 | |||
db6d5dd85a | |||
Tobias Diekershoff | 090443bf9a | ||
Tobias Diekershoff | a2d956b240 | ||
Michael | 232a79057b | ||
Hypolite Petovan | bed44a389c | ||
28ea869990 | |||
Hypolite Petovan | a34110c60e | ||
Hypolite Petovan | bff71ce02b | ||
Hypolite Petovan | bf91d64453 | ||
1f1f63c239 | |||
a197215cf2 | |||
bda8b90c14 | |||
Hypolite Petovan | bc6531830c | ||
Tobias Diekershoff | 33e8554930 | ||
a325e67ae9 | |||
Tobias Diekershoff | b9310fecfb | ||
Hypolite Petovan | c675cd4cb2 | ||
Michael | e2c7578734 | ||
Hypolite Petovan | 3492cdb077 | ||
Michael | 14c6474980 | ||
Tobias Diekershoff | 3152513af7 | ||
Hypolite Petovan | e7d054c6d5 | ||
Tobias Diekershoff | a97eeb8e8b | ||
Tobias Diekershoff | f96ff32b21 | ||
Tobias Diekershoff | 789754e8f9 | ||
4ab75e2e8c | |||
Hypolite Petovan | 270f362367 | ||
Tobias Diekershoff | 22008114e1 | ||
a16801cf79 | |||
Tobias Diekershoff | 9523d4d9f1 | ||
Hypolite Petovan | 41de9c159f | ||
Tobias Diekershoff | f153070cb9 | ||
Hypolite Petovan | 1a39ce3997 | ||
Hypolite Petovan | d85ac84e77 | ||
0822bb59a3 | |||
Tobias Diekershoff | 4872f532cc | ||
Hypolite Petovan | f62b08f550 | ||
Tobias Diekershoff | 07c3b632f3 | ||
Tobias Diekershoff | 8ef52c088b | ||
Tobias Diekershoff | e30403c66c | ||
Tobias Diekershoff | 8b65310882 | ||
Tobias Diekershoff | 313b7e622f | ||
Tobias Diekershoff | ac749a1fab | ||
Hypolite Petovan | d8d717800c | ||
Tobias Diekershoff | 4ff72eeb40 | ||
Tobias Diekershoff | 57bb3e604f | ||
Tobias Diekershoff | 10f83b26e6 | ||
Hypolite Petovan | b1fa0ee8e7 | ||
Tobias Diekershoff | 3624b79b54 | ||
Hypolite Petovan | 4e4ef3fa3d | ||
Tobias Diekershoff | 261efba510 | ||
Michael | 9cb6ca5a62 | ||
Michael | 321de7ba08 | ||
Hypolite Petovan | b16f6576c4 | ||
Michael | f3804ee7dd | ||
Michael | e214c21025 | ||
Michael | 20ed3495b2 | ||
Michael | 2e776253e0 | ||
Michael | 94e240af74 | ||
Hypolite Petovan | f2c05b0222 | ||
Michael | 81addd92da | ||
Michael | 3e512e3785 | ||
Hypolite Petovan | ee8f0f8bd7 | ||
92837758fd | |||
Michael | 6ccddb0051 | ||
Michael | 7c29e96170 | ||
Michael | 7c8c09836e | ||
Hypolite Petovan | bd7a5594cc | ||
5c6108b3cc | |||
Tobias Diekershoff | aeddb3283d | ||
Michael | 636f8bae71 | ||
Michael | c0f72590ad | ||
Hypolite Petovan | 0b151aa67f | ||
Roland Häder | 2d702264a2 | ||
Hypolite Petovan | 996a051982 | ||
Michael | a5c3ef99ef | ||
Hypolite Petovan | 5a68dc76d7 | ||
Hypolite Petovan | 796ef5d507 | ||
Hypolite Petovan | 1acfd0b31c | ||
Michael | 8446ffa421 | ||
871fa5952b | |||
Tobias Diekershoff | 101d360324 | ||
Tobias Diekershoff | 4bb8867155 | ||
Tobias Diekershoff | a5c4a35a4f | ||
Tobias Diekershoff | c8dfcbd5fb | ||
Tobias Diekershoff | f6ce58b8b7 | ||
Tobias Diekershoff | 8247d50907 | ||
Tobias Diekershoff | 1572bda7e5 | ||
Tobias Diekershoff | 9418571caf | ||
Tobias Diekershoff | 7fc178ad3a | ||
Tobias Diekershoff | 3edbf39b3d | ||
Michael | af09a922cf | ||
Michael | d784c602cf | ||
Michael | 654783c271 | ||
03d1c9270e | |||
Hypolite Petovan | 5e6fcb1f95 | ||
Michael | 056b32cc6d | ||
Michael | 24fd0658a3 | ||
Michael | e52e6f7be2 | ||
Michael | 6646d0f963 | ||
Michael | e6a573faea | ||
Michael | 0aba97ed84 | ||
Hypolite Petovan | 73e045a99d | ||
8562422ee2 | |||
Michael | b8ad479acc | ||
29d980758c | |||
Hypolite Petovan | e44ee8486f | ||
0552e46b1f | |||
Michael | 3ade520803 | ||
Michael | 4519f9bb18 | ||
Michael | 975155afbf | ||
a42b798722 | |||
cf98d23af1 | |||
Michael | 5af7f2a6b6 | ||
Michael | 305b814c8e | ||
6f4dd86ff0 | |||
Michael | 501e586968 | ||
Michael | efaefc4e1b | ||
Michael | 9e8ab6ccf0 | ||
02fdb7c654 | |||
dd7262bb8d | |||
Hypolite Petovan | 4c0c4d4f33 | ||
Hypolite Petovan | c8001ac4c4 | ||
Hypolite Petovan | c228c4523c | ||
Tobias Diekershoff | f6c8476228 | ||
Hypolite Petovan | 1d942d3205 | ||
Tobias Diekershoff | 2394700e29 | ||
Hypolite Petovan | 3481b5774a | ||
Tobias Diekershoff | f47f2e657d | ||
Tobias Diekershoff | 04205375c5 | ||
Tobias Diekershoff | ae65b6af91 | ||
Hypolite Petovan | 2f51b9013b | ||
Hypolite Petovan | 4966796b07 | ||
Hypolite Petovan | f104bb0d78 | ||
Hypolite Petovan | f93a1a45cc | ||
Hypolite Petovan | 31e89b43fe | ||
Hypolite Petovan | 1312d1fc00 | ||
582bec6415 | |||
25b748f9ee | |||
Hypolite Petovan | 81f9f266ab | ||
Hypolite Petovan | 09967cc664 | ||
08c890d651 | |||
Tobias Diekershoff | 246057726b | ||
Philipp Holzer | b27ea85532 | ||
e6164536e8 | |||
ccebe7ebf7 | |||
934df28d0c | |||
a3ad6e42e0 | |||
18f77b94e1 | |||
758a36dfc6 | |||
77acddba49 | |||
8c385accd6 | |||
939d17e1ed | |||
89b9baf392 | |||
5e18b276af | |||
dd01cbd52d | |||
Tobias Diekershoff | 9548250443 | ||
Tobias Diekershoff | 0d0e4e3d06 | ||
Hypolite Petovan | 5f6ec2f83f | ||
Tobias Diekershoff | a3b7fda18a | ||
Hypolite Petovan | cf741fe3e9 | ||
Philipp Holzer | 6150bf9713 | ||
Philipp Holzer | 95e075865f | ||
Philipp Holzer | 34fc60be77 | ||
Philipp Holzer | f1839f23e6 | ||
Hypolite Petovan | 3835705a41 | ||
aa9a32a959 | |||
320dab881b | |||
ffe5038102 | |||
7f4049102f | |||
Hypolite Petovan | 940b259764 | ||
Michael | f034f97f8a | ||
Hypolite Petovan | d950b6edad | ||
Tobias Diekershoff | 210e1bed16 | ||
Tobias Diekershoff | 6d7f836f99 | ||
Hypolite Petovan | 5d0760f285 | ||
Michael | b1b5815055 | ||
Michael | d6578733be | ||
Hypolite Petovan | 3710de0b5f | ||
Hypolite Petovan | e301fa7d67 | ||
Michael | f226a42443 | ||
Michael | b843476aa7 | ||
Hypolite Petovan | b303aedd66 | ||
Hypolite Petovan | 5e63bd5276 | ||
bb22b15578 | |||
Tobias Diekershoff | 44a966adcf | ||
0afcb48a10 | |||
Tobias Diekershoff | 4754b94a44 | ||
1494f2b5d3 | |||
9a39bcf15b | |||
1b3fdf4e22 | |||
745e1675a2 | |||
Hypolite Petovan | c2970ad6d5 | ||
Hypolite Petovan | d29d356362 | ||
Philipp Holzer | c8a63f6b9c | ||
e53c289da3 | |||
Hypolite Petovan | d088a54ad1 | ||
Tobias Diekershoff | af7e7ac511 | ||
Tobias Diekershoff | 789f84e702 | ||
Hypolite Petovan | 87eb7eac6d | ||
Michael | fe578cc4ce | ||
Hypolite Petovan | f15790f0b4 | ||
Tobias Diekershoff | 5d207f0b16 | ||
Hypolite Petovan | c5ba1cae69 | ||
Philipp Holzer | e0815309d0 | ||
Philipp Holzer | dcf4b5695d | ||
Philipp Holzer | 47b2326dff | ||
Hypolite Petovan | e8633a6c3d | ||
Tobias Diekershoff | b3d66abafd | ||
Tobias Diekershoff | 3c65954a18 | ||
005b42237d | |||
Tobias Diekershoff | 6a20443b06 | ||
Hypolite Petovan | 6def481d81 | ||
Tobias Diekershoff | c1049fe333 | ||
Tobias Diekershoff | 335d142a16 | ||
Tobias Diekershoff | 4cb3e55721 | ||
Tobias Diekershoff | 6fa93b0fd9 | ||
Tobias Diekershoff | 713922365d | ||
Tobias Diekershoff | 632cc0c10f | ||
Tobias Diekershoff | 20feae4610 | ||
Tobias Diekershoff | b1efac7321 | ||
Tobias Diekershoff | 9b77fcf80b | ||
9334fd59d5 | |||
Tobias Diekershoff | 17b672e40d | ||
Tobias Diekershoff | d58ccd23d8 | ||
Tobias Diekershoff | 8d87b596f8 | ||
Michael | c60b749469 | ||
Hypolite Petovan | 812788ae07 | ||
Michael | ab0fdcd2cd | ||
Hypolite Petovan | 47696461cb | ||
Michael | 62d93aaf88 | ||
Tobias Diekershoff | 59ce28e3ed | ||
Philipp Holzer | 8e902c2fe0 | ||
Philipp Holzer | 979f12e51e | ||
Philipp Holzer | f91b114ba7 | ||
Philipp Holzer | 59fe5be987 | ||
17216898ff | |||
Tobias Diekershoff | e68af0eb88 | ||
Tobias Diekershoff | fc85b9dd3f | ||
Tobias Diekershoff | b62c0df2c7 | ||
Tobias Diekershoff | c57eb63dfa | ||
Hypolite Petovan | ecb7a5a3eb | ||
Philipp Holzer | 771fb35875 | ||
Philipp Holzer | 0d24814086 | ||
Philipp Holzer | a5d77d4413 | ||
Philipp Holzer | 51d89255cc | ||
3c5fc43fdf | |||
Tobias Diekershoff | 7d69358aef | ||
Hypolite Petovan | 96d1b8100e | ||
Tobias Diekershoff | bd120aa97b | ||
Tobias Diekershoff | 56c218a337 | ||
Tobias Diekershoff | bd4c9f4bb6 | ||
635ad296e8 | |||
28011be70c | |||
Tobias Diekershoff | 9954ba3096 | ||
Tobias Diekershoff | b7f9b4cc55 | ||
Tobias Diekershoff | ae228e40e8 | ||
Tobias Diekershoff | 76b60b7eb8 | ||
Tobias Diekershoff | 4f7ea24579 | ||
Hypolite Petovan | ab1ac70a43 | ||
fab23ae2a9 | |||
Hypolite Petovan | cb6acce661 | ||
Roland Häder | 35974aced9 | ||
Roland Häder | e1fdf03f02 | ||
Hypolite Petovan | fd1b155120 | ||
fb34a16c39 | |||
728b390d83 | |||
Hypolite Petovan | f42601ffac | ||
Philipp Holzer | 2e33d99f18 | ||
50dc31de87 | |||
Tobias Diekershoff | 523adff231 | ||
Tobias Diekershoff | c818eab21c | ||
Hypolite Petovan | 313aeb76ba | ||
Hypolite Petovan | c885f3c7ab | ||
Hypolite Petovan | a465e7dcd9 | ||
Hypolite Petovan | af672ecd1b | ||
Hypolite Petovan | 37dd8a938b | ||
Philipp Holzer | 7aa0760742 | ||
Hypolite Petovan | dfbab2de7e | ||
Philipp Holzer | 2ba4c95f4b | ||
Philipp Holzer | c3d51338e0 | ||
Philipp Holzer | 9cf3d38e76 | ||
Philipp Holzer | 0e264465ac | ||
Philipp Holzer | e825cbc7a1 | ||
Philipp Holzer | a1254b4c85 | ||
Philipp Holzer | 3d3a11fa46 | ||
Philipp Holzer | b8a492c80e | ||
Philipp Holzer | b541efc5e6 | ||
Hypolite Petovan | a95606a10a | ||
Tobias Diekershoff | 28e2f7a232 | ||
Hypolite Petovan | c1119bc640 | ||
Tobias Diekershoff | 3e202f8ee4 | ||
Tobias Diekershoff | 4ba379bde7 | ||
Tobias Diekershoff | 2e143f27c5 | ||
Tobias Diekershoff | 7d5e653243 | ||
Tobias Diekershoff | eba800e0fe | ||
Tobias Diekershoff | 567d819810 | ||
Hypolite Petovan | 012cbaee66 | ||
9c2ba3cf10 | |||
Tobias Diekershoff | 717ca6fc82 | ||
6620d99273 | |||
Hypolite Petovan | 61920c83b7 | ||
Tobias Diekershoff | f20055c498 | ||
Tobias Diekershoff | 2c99f21b14 | ||
Tobias Diekershoff | fdca7534f1 | ||
Tobias Diekershoff | f6dce2be55 | ||
Tobias Diekershoff | fb582a914d | ||
Tobias Diekershoff | 6bdd292d18 | ||
Tobias Diekershoff | 23d86c447e | ||
Tobias Diekershoff | e2d4846fb8 | ||
Hypolite Petovan | 47ab2d14e1 | ||
Hypolite Petovan | 74f89673cb | ||
174828070f | |||
0d8a382f8d | |||
145fb69eb6 | |||
15b0b67dc8 | |||
e5cfe5b9a8 | |||
04c9fd2991 | |||
Tobias Diekershoff | fdf072e53c | ||
308e093589 | |||
Tobias Diekershoff | 08206fdcc0 | ||
12c4fcfcae | |||
efda326527 | |||
f3a5f16fc1 | |||
Hypolite Petovan | 94ed7bf163 | ||
fa08109830 | |||
Tobias Diekershoff | 6d17d61c28 | ||
Michael | c2c541cb10 | ||
Tobias Diekershoff | 01bc547447 | ||
Michael | ffe0ba9c5b | ||
0322445360 | |||
Tobias Diekershoff | b37c019322 | ||
Tobias Diekershoff | ecd783f33d | ||
Tobias Diekershoff | 44a65c03ca | ||
292769e9ea | |||
Hypolite Petovan | 8586795bea | ||
Hypolite Petovan | 72b18e34e0 | ||
Hypolite Petovan | de5b67cceb | ||
Michael | 6765fec7b1 | ||
Tobias Diekershoff | 2d6a56e5e8 | ||
Hypolite Petovan | 62c43ea2f8 | ||
e7148d528c | |||
36120615dd | |||
Hypolite Petovan | c27b1cb66f | ||
Hypolite Petovan | eaeb834819 | ||
Hypolite Petovan | aa5fbb4994 | ||
Hypolite Petovan | fdda495f18 | ||
Michael | 20d9884b73 | ||
Michael | 4674d09b29 | ||
Hypolite Petovan | 85b5715a44 | ||
2e8f2916df | |||
Hypolite Petovan | 9845edb8d9 | ||
5535fa9fd2 | |||
Hypolite Petovan | 9a06c525e9 | ||
Michael | bf00f76245 | ||
Michael | 1fa3397362 | ||
Hypolite Petovan | a30ea9b062 | ||
Hypolite Petovan | 18b2afcf0a | ||
Hypolite Petovan | ebd15dc84c | ||
Michael | 6048a2c304 | ||
742fffe7e7 | |||
bf587a8308 | |||
Hypolite Petovan | a66099a05c | ||
Hypolite Petovan | d836593a3b | ||
074493a29e | |||
Hypolite Petovan | b655c18adb | ||
Hypolite Petovan | 336276727f | ||
Hypolite Petovan | d27ac641fc | ||
Hypolite Petovan | c5f5965148 | ||
Hypolite Petovan | 44d7a0b617 | ||
Hypolite Petovan | 524937a830 | ||
Hypolite Petovan | 0b8e0fa8c9 | ||
Hypolite Petovan | aa97060491 | ||
Hypolite Petovan | f0fc02e544 | ||
Hypolite Petovan | dbd93f8351 | ||
Hypolite Petovan | b1295c2eaa | ||
Hypolite Petovan | b87b840db5 | ||
Hypolite Petovan | 48616e1db0 | ||
Michael | 148ca9d670 | ||
Hypolite Petovan | 8f72b9ca9a | ||
Tobias Diekershoff | 477bdcec89 | ||
Hypolite Petovan | 1375847d54 | ||
Hypolite Petovan | 053fb67a98 | ||
Hypolite Petovan | 2d745b11d7 | ||
Michael | 4270702f1c | ||
Michael | 3bf5f30905 | ||
Michael | d1919f0497 | ||
Hypolite Petovan | d2460a43e5 | ||
4a667f640f | |||
1ac32c622e | |||
Hypolite Petovan | 1746d0814d | ||
Michael | c3fdf45b6d | ||
Hypolite Petovan | 10a44e2092 | ||
90b1ef56f7 | |||
98895c5356 | |||
Michael | 6632ce40eb | ||
Hypolite Petovan | 3e7be22fd9 | ||
1af505701b | |||
b8df74beca | |||
7f1fda43ae | |||
1a2b0b2565 | |||
0c9ea00439 | |||
Tobias Diekershoff | 37ebd7d2a8 | ||
Hypolite Petovan | cbb915d9ad | ||
07fcb9c62b | |||
9079480d4a | |||
Hypolite Petovan | 43f7ea1e16 | ||
Tobias Diekershoff | 50573ea5c8 | ||
Tobias Diekershoff | 2ade584927 | ||
Hypolite Petovan | 1d80061a12 | ||
341320e07e | |||
Hypolite Petovan | 807a9bf383 | ||
c9a8974165 | |||
49eff56e5d | |||
Michael | 38ff8b5f88 | ||
Michael | 6bc8103ca2 | ||
b53157370a | |||
Hypolite Petovan | d4340af4fc | ||
Hypolite Petovan | d3ab209676 | ||
Philipp Holzer | d197bf4c2b | ||
Hypolite Petovan | 6f421a74c6 | ||
Hypolite Petovan | 2aa373a75d | ||
Vinzenz Vietzke | b9c39e50b3 | ||
229cf2304f | |||
Tobias Diekershoff | cbb75b2329 | ||
Hypolite Petovan | 9222681d18 | ||
Hypolite Petovan | 6c9788aa04 | ||
Hypolite Petovan | 13f2734f42 | ||
Hypolite Petovan | 7a376aeaad | ||
Philipp Holzer | e67d810ecd | ||
Hypolite Petovan | 2ac21ef32a | ||
fdc45bdcba | |||
Hypolite Petovan | 18a742546c | ||
e743cecbe8 | |||
0bb8fdfde2 | |||
e7f4dc8454 | |||
Hypolite Petovan | 4eff144765 | ||
0f540002db | |||
Hypolite Petovan | 68f344baa0 | ||
Tobias Diekershoff | 1818c9b86c | ||
Hypolite Petovan | 8153276e63 | ||
Hypolite Petovan | 2f91ce87b7 | ||
Hypolite Petovan | 2454a963e0 | ||
Tobias Diekershoff | fd3eb35c33 | ||
Tobias Diekershoff | 440e929898 | ||
Hypolite Petovan | 375f625e83 | ||
Hypolite Petovan | b040bee1d0 | ||
Hypolite Petovan | da86118283 | ||
Hypolite Petovan | 5b01292e68 | ||
Hypolite Petovan | 0361bc0461 | ||
Michael | f17f7cc5bf | ||
Philipp Holzer | e4afd1c120 | ||
a8282d143e | |||
Hypolite Petovan | 39bb3ed6eb | ||
cb4241af69 | |||
Tobias Diekershoff | 3f6239bb2b | ||
Tobias Diekershoff | 574bf66564 | ||
30c1542893 | |||
Philipp Holzer | 2e8d9ba39b | ||
Hypolite Petovan | ce2af45897 | ||
Philipp Holzer | 1454abfdb4 | ||
Hypolite Petovan | cac6cbc235 | ||
Michael | ee13b836d8 | ||
81409f0ef4 | |||
0407446571 | |||
883a32a26f | |||
b192684f04 | |||
ab571e687f | |||
27a48ae84a | |||
bdb856888d | |||
02fe3efcdc | |||
1917f2f0aa | |||
049abe9176 | |||
a731f1ada0 | |||
0afab99d84 | |||
9c275a4185 | |||
Tobias Diekershoff | 15bb681770 | ||
Tobias Diekershoff | ab5aa50ae9 | ||
Tobias Diekershoff | ed9297ea25 | ||
Tobias Diekershoff | 45cff3affd | ||
Tobias Diekershoff | 92fae0c0b7 | ||
Tobias Diekershoff | 473cf1243c | ||
Tobias Diekershoff | c5f77da10c | ||
Tobias Diekershoff | 895942a3a2 | ||
Tobias Diekershoff | fb806682cc | ||
Tobias Diekershoff | 974a7d2c50 | ||
Tobias Diekershoff | c28c3eed91 | ||
Tobias Diekershoff | 5d653c156d | ||
8d5a986340 | |||
9e0c2ea01a | |||
bec71230b2 | |||
0f4c21f079 | |||
2dfb6b497e | |||
78eb36a1bb | |||
70fba8a985 | |||
7cee65987c | |||
face0c02f0 | |||
Michael | a5183985d1 | ||
Tobias Diekershoff | 1dc7114bae | ||
Michael | a2cca24260 | ||
f42f1d3b12 | |||
Michael | aa34316be8 | ||
Michael | ee1e87c5c4 | ||
Tobias Diekershoff | f822619ce1 | ||
Michael | 43d8d50799 | ||
81025157b4 | |||
Michael | 9578e3ff2a | ||
Tobias Diekershoff | 3274124223 | ||
Michael | c487765860 | ||
e2c27aed3e | |||
Michael | 74047d2aef | ||
47a307bf2c | |||
Michael | bfd6e25b24 | ||
914b40f32e | |||
3d828f1ae4 | |||
b0fdc767a1 | |||
Michael | 19abd1a17e | ||
Michael | 2db9b497bd | ||
Michael | 5e86fb1b9e | ||
Tobias Diekershoff | 6237bb78c8 | ||
Michael | 8e5a0f8b17 | ||
6f37463ab3 | |||
Tobias Diekershoff | 6f4eba3a93 | ||
940520c720 | |||
Tobias Diekershoff | 0919400dcb | ||
Tobias Diekershoff | 660cde02d2 | ||
Michael | 6175f07adf | ||
eb3a398743 | |||
Tobias Diekershoff | dcbf2f4416 | ||
Tobias Diekershoff | 4cae40ec63 | ||
4e72cef2f6 | |||
6670ee769d | |||
0c73b90f04 | |||
Tobias Diekershoff | 16dfd15cb2 | ||
Michael | bcc233b4ae | ||
df37b0f55c | |||
Tobias Diekershoff | 9414fb4f4d | ||
Tobias Diekershoff | 8b34f6d426 | ||
Tobias Diekershoff | c97690bc12 | ||
6e4abdb875 | |||
77b7b73288 | |||
Tobias Diekershoff | 2c6b89804b | ||
Michael | 9ba24d0de9 | ||
25ff4e9af2 | |||
Tobias Diekershoff | b7717db8ea | ||
Tobias Diekershoff | f489ee7911 | ||
Tobias Diekershoff | d3a1a58ce0 | ||
Tobias Diekershoff | 2e907b76f4 | ||
Tobias Diekershoff | 95c8a19417 | ||
Tobias Diekershoff | 16439189e4 | ||
2ed63ea72e | |||
e5491969d9 | |||
Michael | 564235debd | ||
47d5358131 | |||
63ab5dcb35 | |||
28b699573c | |||
fd1eed17ab | |||
Tobias Diekershoff | c4a783c3d3 | ||
7c6aa340d9 | |||
46222ae13b | |||
48e4475ad7 | |||
10086f940d | |||
c8371bc521 | |||
Tobias Diekershoff | 9a48452e09 | ||
Michael | db4608a9b5 | ||
91a4903e88 | |||
Tobias Diekershoff | 87a6287ae8 | ||
Tobias Diekershoff | 7598ba3462 | ||
Tobias Diekershoff | d9a740d485 | ||
Tobias Diekershoff | 0b8e69ddab | ||
Michael | e819a763f0 | ||
Michael | bf1c968788 | ||
Tobias Diekershoff | b99818a9a1 | ||
Michael | 93a766cdfb | ||
Tobias Diekershoff | 1c50441cb9 | ||
Michael | 54b62fab1d | ||
eae3579c88 | |||
52981604d3 | |||
282906a658 | |||
Tobias Diekershoff | 347e4eff14 | ||
47d4bff100 | |||
Tobias Diekershoff | bfe2270454 | ||
Michael | 7a29893ecb | ||
Tobias Diekershoff | cbcd61fba8 | ||
Michael | cd2d98f39e | ||
Tobias Diekershoff | 4b33c293d0 | ||
4084cf359a | |||
4d8c03d589 | |||
e479ce1829 | |||
Tobias Diekershoff | 1f8ec2421f | ||
eef6ed086a | |||
Tobias Diekershoff | 22805275b6 | ||
Tobias Diekershoff | 8a6ba65e94 | ||
Tobias Diekershoff | c465484a65 | ||
Tobias Diekershoff | 96cd0fd864 | ||
Tobias Diekershoff | 2bb2054305 | ||
Tobias Diekershoff | 301ff8903d | ||
Tobias Diekershoff | 40ba3c3e57 | ||
Tobias Diekershoff | 5ecc151b78 | ||
Tobias Diekershoff | 7b5f4a2219 | ||
Tobias Diekershoff | 1eb5d1c840 | ||
Tobias Diekershoff | c5d7ae716f | ||
Tobias Diekershoff | 683d92d1e7 | ||
Tobias Diekershoff | 9302689ac7 | ||
Tobias Diekershoff | 8a700150cc | ||
Tobias Diekershoff | 871fe55ebb | ||
Tobias Diekershoff | 5e9245ed30 | ||
Tobias Diekershoff | 37952d899d | ||
Tobias Diekershoff | 9944a5696c | ||
Tobias Diekershoff | 5078324092 | ||
Tobias Diekershoff | 9d47981006 | ||
Tobias Diekershoff | fb93dc1f04 | ||
Tobias Diekershoff | 5a4f93cac3 | ||
Tobias Diekershoff | d6becf3b83 | ||
Tobias Diekershoff | 299ca12190 | ||
Tobias Diekershoff | e6a88fb161 | ||
37312af8ca | |||
bda506fd2e | |||
ce97e09126 | |||
7947909c9c | |||
6e07bf3d29 | |||
d014fa3e28 | |||
ca325fbd63 | |||
04ddb284da | |||
6f0b79456e | |||
1d3ec58bfb | |||
e79d738437 | |||
48d887dd21 | |||
ee8f151a23 | |||
97aa353652 | |||
Tobias Diekershoff | 20e42c09b7 | ||
Michael | 8f562a4b22 | ||
Michael | c0d7330b45 | ||
Michael | 74353e7f2d | ||
Tobias Diekershoff | b8d0930665 | ||
Michael | 06c6bfc88d | ||
Tobias Diekershoff | c0ecafcfdc | ||
Michael | 7f02ca32c9 | ||
53a3c85d4f | |||
Tobias Diekershoff | e9f5008e2b | ||
Michael | 8e77528e23 | ||
Roland Häder | 9695138ba1 | ||
Roland Häder | e269589c65 | ||
Roland Häder | 7032e088f7 | ||
Roland Häder | 265a2c498e | ||
fc2a367dae | |||
a52933c57a | |||
Roland Häder | 24c2f06e85 | ||
Roland Häder | bc5aa4015b | ||
80a0d6a974 | |||
Roland Häder | f9784d7095 | ||
93fb5a6151 | |||
05bea7c61d | |||
31d0fac64a | |||
f4763f67ad | |||
40f01ae601 | |||
9d74809504 | |||
Tobias Diekershoff | 26800cddb3 | ||
429b9c9f4a | |||
f33a6b44c5 | |||
95a98faeec | |||
280e835481 | |||
ea4de38223 | |||
c4c2514f3b | |||
b058ac39df | |||
76a9630d40 | |||
522e8e58c2 | |||
d9ec1ef80d | |||
f4ad0d3721 | |||
332ea212b5 | |||
8cdacf34b1 | |||
a9da9db7eb | |||
Michael | a10a8361a7 | ||
Michael | 1f9c353bae | ||
c7764068cc | |||
2d2167c146 | |||
aaab504eb2 | |||
81e57250e8 | |||
aa1a542396 | |||
4168bff3b9 | |||
57505bdf82 | |||
Tobias Diekershoff | 9463696159 | ||
Tobias Diekershoff | a4c4bbc7b0 | ||
Michael | 9616e770f3 | ||
18e43c0138 | |||
abc76a42ae | |||
Tobias Diekershoff | a9aee26225 | ||
3050aef871 | |||
3940618a4a | |||
Michael | cdd510909f | ||
Tobias Diekershoff | 4a442c995c | ||
ca1b27d10f | |||
79e686b326 | |||
e0145ca216 | |||
e74ccf35c9 | |||
ed8eb47b11 | |||
425a5c99b4 | |||
abd52dbadd | |||
ec3037cc5f | |||
6e4d594c7d | |||
52e9cf4d59 | |||
1ba2da2f31 | |||
6c443aeaf0 | |||
7ee6c3a20c | |||
f47e6cbc24 | |||
d86bf8eb45 | |||
9e1e088c09 | |||
d96370bfad | |||
cb4f60c257 | |||
9f0a441fe4 | |||
9cc5f29dad | |||
05077bf127 | |||
e20f30888f | |||
d9808fecdf | |||
88278dbe19 | |||
8220a78a71 | |||
858d09e865 | |||
723625f95f | |||
990b5bf231 | |||
57f6ac5bad | |||
9ad60dfe4d | |||
475299e642 | |||
9ec2b9390b | |||
Tobias Diekershoff | b490c01e59 | ||
a41fa4c684 | |||
Tobias Diekershoff | 50ec0b800c | ||
ba2e25a65f | |||
Tobias Diekershoff | 8b93ef0fe9 | ||
f5cc76baef | |||
Tobias Diekershoff | bfb3689c7a | ||
adb4841bca | |||
Michael | aae9da33dc | ||
25e4decd78 | |||
Michael | 5e72da205c | ||
Michael | a4b61a4157 | ||
Michael | a39b9b47d2 | ||
Michael | 26541c5b75 | ||
2373538fcb | |||
Tobias Diekershoff | 7f417c4a75 | ||
Michael | 337464c6b0 | ||
Tobias Diekershoff | 927f5af6e7 | ||
Michael | f8916bf9d9 | ||
276e8654f0 | |||
Tobias Diekershoff | 2c0eb5c42f | ||
114c0a32d4 | |||
Michael | 8e24de90ba | ||
9f74e96c93 | |||
Tobias Diekershoff | 9bec9f2e9a | ||
e1adeb377b | |||
7ea817b71b | |||
Tobias Diekershoff | befc6eeb58 | ||
Tobias Diekershoff | 14996bd9b0 | ||
Tobias Diekershoff | badc9cc02c | ||
Tobias Diekershoff | 767e7b78e5 | ||
Tobias Diekershoff | 09cd861a6e | ||
Tobias Diekershoff | 7c31ba0a40 | ||
Tobias Diekershoff | f511aaa8e8 | ||
Tobias Diekershoff | c921951f41 | ||
Tobias Diekershoff | 24781527ee | ||
Tobias Diekershoff | fdce45c1b1 | ||
Tobias Diekershoff | 81469bcd1f | ||
Tobias Diekershoff | 4b60073ab4 | ||
Tobias Diekershoff | ae39bd6875 | ||
Tobias Diekershoff | 52e676af8d | ||
Tobias Diekershoff | 3e8eb868a6 | ||
Tobias Diekershoff | 2f853c2612 | ||
Tobias Diekershoff | ce5b211b9a | ||
Tobias Diekershoff | df9364039b | ||
Tobias Diekershoff | f8b1f15c0c | ||
Tobias Diekershoff | af81c197c0 | ||
Tobias Diekershoff | b9859991db | ||
Tobias Diekershoff | e4b84f3063 | ||
Tobias Diekershoff | 5f3320ef58 | ||
Michael | 2f5abe4b04 | ||
Michael | 0d204c07da | ||
baedac2a13 | |||
Michael | 5e4f985243 | ||
Michael | 478ff41870 | ||
Michael | c66dcf96ac | ||
Michael | ef0a2f6f8d | ||
Michael | b41bb3adfb | ||
Michael | 392bb7d5aa | ||
6b77771343 | |||
Tobias Diekershoff | 00e32f743c | ||
Michael | e1714de8ad | ||
fb0e99ba0e | |||
b5f687f816 | |||
9e73131493 | |||
49558d7d22 | |||
Michael | d37f64d296 | ||
194d1d167d | |||
7ef81f909f | |||
d48f0010dd | |||
fd894984cf | |||
214b23a37c | |||
Tobias Diekershoff | 25b0468fd1 | ||
166f09d348 | |||
Tobias Diekershoff | 12cd86cba7 | ||
Tobias Diekershoff | 09a37202ac | ||
Tobias Diekershoff | 93c564ecc5 | ||
Tobias Diekershoff | 3c2fefdd5c | ||
Tobias Diekershoff | f95abcbe07 | ||
Tobias Diekershoff | a5b1984e74 | ||
Tobias Diekershoff | 56eefaa5d2 | ||
Tobias Diekershoff | 3661806a93 | ||
Tobias Diekershoff | ac1c0de0c3 | ||
Tobias Diekershoff | 277e26e919 | ||
Tobias Diekershoff | c4ac87f5ac | ||
Tobias Diekershoff | e46a269ccb | ||
98682dc67c | |||
Tobias Diekershoff | 3db811e5c5 | ||
eeeb7b5634 | |||
Tobias Diekershoff | d061ab7997 | ||
Tobias Diekershoff | c834f2e54c | ||
Tobias Diekershoff | f4560a0540 | ||
Tobias Diekershoff | 019d8af7e4 | ||
Tobias Diekershoff | 0102b0026f | ||
Tobias Diekershoff | f2c0e39ee0 | ||
Tobias Diekershoff | 51a0593054 | ||
Tobias Diekershoff | 1e592cc727 | ||
Tobias Diekershoff | ebf9119a5a | ||
Tobias Diekershoff | 1e0a4f5adf | ||
Tobias Diekershoff | 6de947b158 | ||
Tobias Diekershoff | e31d7d74f8 | ||
Tobias Diekershoff | 9da9390896 | ||
Tobias Diekershoff | a8f3196f28 | ||
Tobias Diekershoff | ee173d2339 | ||
Tobias Diekershoff | 98de8bffbb | ||
Tobias Diekershoff | cd81fd7d41 | ||
2dd2f51c1c | |||
Tobias Diekershoff | 8d3ccfb774 | ||
Tobias Diekershoff | febd69ab98 | ||
Tobias Diekershoff | 4fbefacb84 | ||
Tobias Diekershoff | 0aabae1854 | ||
Tobias Diekershoff | 11f0fb449d | ||
Tobias Diekershoff | c6f4981cdf | ||
Tobias Diekershoff | eaf1a2e618 | ||
Tobias Diekershoff | 8c4aa8b1a3 | ||
Tobias Diekershoff | fdbcf4855a | ||
b5fe8d61dd | |||
7f3364b53c | |||
3540d3d2d6 | |||
Tobias Diekershoff | 8957f3083d | ||
Tobias Diekershoff | 64bd11bb79 | ||
Tobias Diekershoff | 551fcf0f12 | ||
1725b29514 | |||
Tobias Diekershoff | 6a0cdf3f23 | ||
31c918de23 | |||
Tobias Diekershoff | 8c154f8f2e | ||
Tobias Diekershoff | eb0e7ba01b | ||
Tobias Diekershoff | dda957b5f5 | ||
4469895b07 | |||
Andy H | dff690d633 | ||
1f4757c512 | |||
Tobias Diekershoff | 745fe99e08 | ||
97108080c2 | |||
Michael | 476302afc5 | ||
Michael | 5c668bd6e9 | ||
e92918cf6b | |||
00ef0d0810 | |||
Tobias Diekershoff | 83404d1f63 | ||
Tobias Diekershoff | 0c00f853ba | ||
Tobias Diekershoff | 05943925dd | ||
0c43b36e1a | |||
Tobias Diekershoff | 12261915f8 | ||
Tobias Diekershoff | 56ed2bccb7 | ||
Tobias Diekershoff | 5d711cf15a | ||
Tobias Diekershoff | 26d8ac9b8e | ||
Tobias Diekershoff | 3a2ebf11c7 | ||
Tobias Diekershoff | 56a3d6ed31 | ||
Tobias Diekershoff | d247b226a0 | ||
Tobias Diekershoff | e0c18c77f4 | ||
Tobias Diekershoff | d111e17f84 | ||
Tobias Diekershoff | e9732c3992 | ||
Tobias Diekershoff | 3c2f867d12 | ||
Tobias Diekershoff | fe4787b35d | ||
Tobias Diekershoff | 565887fb91 | ||
Tobias Diekershoff | a18c3bfd45 | ||
Tobias Diekershoff | 0b50a71af3 | ||
Tobias Diekershoff | cbde17c74b | ||
Tobias Diekershoff | 2e88375ec7 | ||
Tobias Diekershoff | 6e8f7d78b8 | ||
Tobias Diekershoff | 097329fcda | ||
Tobias Diekershoff | 3917c4f487 | ||
Tobias Diekershoff | ae2dfdd30f | ||
Tobias Diekershoff | df19b133b9 | ||
Tobias Diekershoff | 5f1ae10561 | ||
Tobias Diekershoff | 2851ad5315 | ||
51f3270687 | |||
Tobias Diekershoff | 105278ec35 | ||
Tobias Diekershoff | 393bbe37da | ||
Tobias Diekershoff | 4afac88fc0 | ||
18f48cc96d | |||
Tobias Diekershoff | fed141ba05 | ||
Tobias Diekershoff | b87c6ad970 | ||
Tobias Diekershoff | be02acb8d3 | ||
Tobias Diekershoff | ca50db103a | ||
a2203e3d09 | |||
Tobias Diekershoff | 6244cfe58a | ||
Tobias Diekershoff | c297dfb24f | ||
Tobias Diekershoff | a74dbd6ad0 | ||
Tobias Diekershoff | 8401cfb6f9 | ||
Tobias Diekershoff | 82ff2c2dd2 | ||
Tobias Diekershoff | d1bf9bd4b7 | ||
Tobias Diekershoff | 185e315bd0 | ||
8047969799 | |||
Michael | c8e09efef1 | ||
27db3f1e5d | |||
Tobias Diekershoff | dc8c338987 | ||
Tobias Diekershoff | 6855938fdd | ||
Tobias Diekershoff | 9cfca46fd4 | ||
d07907bc06 | |||
Michael | a5a3a64b1a | ||
Tobias Diekershoff | d998331039 | ||
37c4455c06 | |||
ea9ec0dadf | |||
b0dba96b0d | |||
8aef232935 | |||
82fd1df5dd | |||
a162d4b583 | |||
Tobias Diekershoff | 14a0e36e05 | ||
6b654d8e90 | |||
Tobias Diekershoff | 7fee921cb4 | ||
e0bc167742 | |||
Tobias Diekershoff | 53af2d2fde | ||
9d33ccac28 | |||
aaf031258f | |||
8e8bb8e918 | |||
eafe9d68b0 | |||
776aae9147 | |||
69eba33d51 | |||
Tobias Diekershoff | 64f65e6910 | ||
Tobias Diekershoff | a034c86725 | ||
Tobias Diekershoff | 2785340dfa | ||
Tobias Diekershoff | 56850cacbc | ||
3a48ef1ee7 | |||
Tobias Diekershoff | 227ad8f23b | ||
87a392a3c7 | |||
27c39e36a9 | |||
db8253ef6d | |||
Tobias Diekershoff | 8da85c1d56 | ||
Tobias Diekershoff | 98dde22a57 | ||
6112160888 | |||
1e77af90ad | |||
cefb58374e | |||
faad559799 | |||
4c4a8da612 | |||
e6302a42b4 | |||
acce253d8e | |||
45317a995c | |||
Tobias Diekershoff | 50f5c7e251 | ||
Tobias Diekershoff | f1aa2bc5c6 | ||
b02724f867 | |||
20862be7d0 | |||
e181c79e95 | |||
Tobias Diekershoff | cf5ec0df96 | ||
Michael | 5acf35ffa5 | ||
7d156d39ec | |||
Tobias Diekershoff | 4469bfde6a | ||
Tobias Diekershoff | 7638332426 | ||
Tobias Diekershoff | 21b57cb6d8 | ||
Tobias Diekershoff | e40f080da0 | ||
Tobias Diekershoff | adada5c707 | ||
Tobias Diekershoff | 4b11d4dcf3 | ||
Tobias Diekershoff | eab50cb811 | ||
Tobias Diekershoff | 94df04d9fb | ||
Tobias Diekershoff | 71a3b9b4a7 | ||
Tobias Diekershoff | fec12801fb | ||
Tobias Diekershoff | ac0d42dcaa | ||
Michael | 7f06962bd1 | ||
Michael | 814edd4541 | ||
Michael | ac5db74a8b | ||
Michael | 72b8bc815c | ||
Michael | 2f5fea4f8c | ||
07381349e4 | |||
Tobias Diekershoff | 5e4528d50a | ||
2e2e885819 | |||
Tobias Diekershoff | da25740b28 | ||
Tobias Diekershoff | 14fbf9001c | ||
62eab3efc2 | |||
Tobias Diekershoff | 108894f196 | ||
c2b6d20f54 | |||
Tobias Diekershoff | 12d3992da9 | ||
0a8a1fadd5 | |||
5d48282d46 | |||
Tobias Diekershoff | 0ff44594c8 | ||
Tobias Diekershoff | eb5eb5986d | ||
Tobias Diekershoff | 04a5fc700f | ||
Tobias Diekershoff | 900940aefb | ||
Tobias Diekershoff | 07a2e3f5d8 | ||
8b7aa41ac5 | |||
Tobias Diekershoff | b899ac5d4f | ||
Tobias Diekershoff | 81943290bc | ||
ab24021b64 | |||
Tobias Diekershoff | e58c46eafb | ||
ee0dcbd9f6 | |||
dcad148a1a | |||
775974e5f3 | |||
8e00b7db5b | |||
Tobias Diekershoff | 85815a8810 | ||
c4bd245a1a | |||
eaba63b8f2 | |||
98365a8808 | |||
Tobias Diekershoff | 51042ed52c | ||
078267f9f7 | |||
d52031d002 | |||
0c3f747649 | |||
5e344df629 | |||
Tobias Diekershoff | b578994239 | ||
Tobias Diekershoff | d3b349de9e | ||
5d4c3a1da9 | |||
Michael | 476cb92a3b | ||
Michael | b3236d69a1 | ||
f283ca4346 | |||
Tobias Diekershoff | fb235f977d | ||
Tobias Diekershoff | e44714ac69 | ||
Tobias Diekershoff | 1385f0713b | ||
Tobias Diekershoff | 7a663354f4 | ||
Tobias Diekershoff | 3a7cf51d7a | ||
Tobias Diekershoff | 15e85f2034 | ||
Tobias Diekershoff | 80ddecae0f | ||
Tobias Diekershoff | bc70c6064c | ||
Tobias Diekershoff | 77c278a27f | ||
Tobias Diekershoff | 697870b506 | ||
Tobias Diekershoff | 7788cec989 | ||
Tobias Diekershoff | 112a42d8a1 | ||
Tobias Diekershoff | 16ccacb440 | ||
Tobias Diekershoff | b96772c57f | ||
Tobias Diekershoff | dd436e678f | ||
Tobias Diekershoff | def13ec450 | ||
Tobias Diekershoff | 73414bccbb | ||
Tobias Diekershoff | 42e6368786 | ||
Tobias Diekershoff | 6e617bb60d | ||
Tobias Diekershoff | 7b7019477f | ||
Tobias Diekershoff | 03fb8b648a | ||
Tobias Diekershoff | 64cebcc728 | ||
Tobias Diekershoff | 6d53ee28e5 | ||
Tobias Diekershoff | 4107992696 | ||
Tobias Diekershoff | e0e6775f94 | ||
Tobias Diekershoff | b8f9ac3363 | ||
Tobias Diekershoff | 304961bf1c | ||
Tobias Diekershoff | 1f19a14e59 | ||
Tobias Diekershoff | 3f9f77c6a7 | ||
Tobias Diekershoff | 29b930ade4 | ||
Tobias Diekershoff | 914c3bb324 | ||
Tobias Diekershoff | dd309a4d3a | ||
Tobias Diekershoff | 8436f96c74 | ||
Tobias Diekershoff | f182c13524 | ||
Tobias Diekershoff | 7217fb402e | ||
Tobias Diekershoff | 5d4eda98ef | ||
Tobias Diekershoff | 2d4a3b1c58 | ||
Tobias Diekershoff | 90875067f5 | ||
Tobias Diekershoff | 41a5b22d24 | ||
Tobias Diekershoff | 186304aeb1 | ||
Tobias Diekershoff | b34ab984aa | ||
Tobias Diekershoff | a658d74ff2 | ||
Tobias Diekershoff | 1664c0915e | ||
Tobias Diekershoff | fb84ca7c7f | ||
Tobias Diekershoff | 532f21183a | ||
Tobias Diekershoff | 950115a162 | ||
Tobias Diekershoff | 8a672ec285 | ||
Tobias Diekershoff | 53aefd4752 | ||
Tobias Diekershoff | 5fa720db32 | ||
f73e083928 | |||
de9652f5c0 | |||
09f1aeaced | |||
eb359340fe | |||
facfd74288 | |||
057a5e9a9f | |||
Tobias Diekershoff | fe31514837 | ||
Tobias Diekershoff | 9696091547 | ||
Tobias Diekershoff | 312930bc22 | ||
Tobias Diekershoff | b0cec9f613 | ||
Tobias Diekershoff | a1769362aa | ||
Tobias Diekershoff | 1601c5b4fb | ||
9d02744c21 | |||
Tobias Diekershoff | ad0e796186 | ||
Tobias Diekershoff | 5519a2f656 | ||
Tobias Diekershoff | ec38e11389 | ||
Tobias Diekershoff | 1f2f820226 | ||
Tobias Diekershoff | 2fe45ed3d3 | ||
Tobias Diekershoff | db50609508 | ||
31e55d6d5a | |||
02eb1b74f7 | |||
635bea65f7 | |||
05a0e445ab | |||
35628d9229 | |||
Michael | 34ee3b9a28 | ||
Tobias Diekershoff | 0dfe67ca3e | ||
Michael | c7aac4178c | ||
5152eb4cd4 | |||
Andy H | d298f3c19c | ||
Andy H | 51c5650a20 | ||
Andy H | 80ad83eec0 | ||
61c5ed4863 | |||
Tobias Diekershoff | 01c7705050 | ||
Andy H | 2343c5d529 | ||
1a001a95df | |||
Michael | 1eb17b8ec6 | ||
Andy H | a406fbc9e4 | ||
ebde1616e9 | |||
567028f1bd | |||
b9c38e9ac3 | |||
Andy H | 3ff318b4c2 | ||
a9312d4140 | |||
Tobias Diekershoff | 85f4be55ab | ||
3f7685d8a8 | |||
Tobias Diekershoff | b0c8a4e197 | ||
Tobias Diekershoff | ccd4d1420b | ||
d53a0d41e2 | |||
37963d62d3 | |||
ca4110efc7 | |||
ab0f359602 | |||
3b6779f5db | |||
615568ed35 | |||
Andy H | 7956a3bfdf | ||
Andy H | 5c7754f524 | ||
Andy H | 99a7be5eb6 | ||
Andy H | 906454bc26 | ||
Andy H | bfc9a3ffe9 | ||
Andy H | 10f39be759 |
32
.editorconfig
Normal file
32
.editorconfig
Normal file
|
@ -0,0 +1,32 @@
|
|||
# editorconfig tool configuration
|
||||
# see http://editorconfig.org for docs
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
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
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -18,7 +18,7 @@ report/
|
|||
#ignore OSX .DS_Store files
|
||||
.DS_Store
|
||||
|
||||
/nbproject/private/
|
||||
/nbproject/
|
||||
|
||||
#ignore smarty cache
|
||||
/view/smarty3/compiled/
|
||||
|
|
295
.tx/config
295
.tx/config
|
@ -1,368 +1,399 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
host = https://api.transifex.com
|
||||
|
||||
[friendica.addon_blackout_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
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_blackout_messagespo]
|
||||
file_filter = blackout/lang/<lang>/messages.po
|
||||
source_file = blackout/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_blockem_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_blockem_messagespo]
|
||||
file_filter = blockem/lang/<lang>/messages.po
|
||||
source_file = blockem/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_blogger_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_blogger_messagespo]
|
||||
file_filter = blogger/lang/<lang>/messages.po
|
||||
source_file = blogger/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_buffer_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_buffer_messagespo]
|
||||
file_filter = buffer/lang/<lang>/messages.po
|
||||
source_file = buffer/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_buglink_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_buglink_messagespo]
|
||||
file_filter = buglink/lang/<lang>/messages.po
|
||||
source_file = buglink/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_communityhome_messagespo]
|
||||
file_filter = communityhome/lang/<lang>/messages.po
|
||||
source_file = communityhome/lang/C/messages.po
|
||||
[o:Friendica:p:friendica:r:addon_catavatar_messagespo]
|
||||
file_filter = catavatar/lang/<lang>/messages.po
|
||||
source_file = catavatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_curweather_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
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_curweather_messagespo]
|
||||
file_filter = curweather/lang/<lang>/messages.po
|
||||
source_file = curweather/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_dav_messagespo]
|
||||
file_filter = dav/lang/<lang>/messages.po
|
||||
source_file = dav/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
|
||||
type = PO
|
||||
|
||||
[friendica.addon_dwpost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_dwpost_messagespo]
|
||||
file_filter = dwpost/lang/<lang>/messages.po
|
||||
source_file = dwpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_forumdirectory_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_forumdirectory_messagespo]
|
||||
file_filter = forumdirectory/lang/<lang>/messages.po
|
||||
source_file = forumdirectory/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_fromapp_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_fromapp_messagespo]
|
||||
file_filter = fromapp/lang/<lang>/messages.po
|
||||
source_file = fromapp/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_fromgplus_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_fromgplus_messagespo]
|
||||
file_filter = fromgplus/lang/<lang>/messages.po
|
||||
source_file = fromgplus/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_geonames_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_geonames_messagespo]
|
||||
file_filter = geonames/lang/<lang>/messages.po
|
||||
source_file = geonames/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_gnot_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_gnot_messagespo]
|
||||
file_filter = gnot/lang/<lang>/messages.po
|
||||
source_file = gnot/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_gravatar_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_gravatar_messagespo]
|
||||
file_filter = gravatar/lang/<lang>/messages.po
|
||||
source_file = gravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_group_text_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_group_text_messagespo]
|
||||
file_filter = group_text/lang/<lang>/messages.po
|
||||
source_file = group_text/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_ijpost_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
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_ijpost_messagespo]
|
||||
file_filter = ijpost/lang/<lang>/messages.po
|
||||
source_file = ijpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_impressum_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_impressum_messagespo]
|
||||
file_filter = impressum/lang/<lang>/messages.po
|
||||
source_file = impressum/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_infiniteimprobabilitydrive_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_infiniteimprobabilitydrive_messagespo]
|
||||
file_filter = infiniteimprobabilitydrive/lang/<lang>/messages.po
|
||||
source_file = infiniteimprobabilitydrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_irc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_irc_messagespo]
|
||||
file_filter = irc/lang/<lang>/messages.po
|
||||
source_file = irc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_jappixmini_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_jappixmini_messagespo]
|
||||
file_filter = jappixmini/lang/<lang>/messages.po
|
||||
source_file = jappixmini/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_js_upload_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_js_upload_messagespo]
|
||||
file_filter = js_upload/lang/<lang>/messages.po
|
||||
source_file = js_upload/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_krynn_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_krynn_messagespo]
|
||||
file_filter = krynn/lang/<lang>/messages.po
|
||||
source_file = krynn/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_langfilter_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_langfilter_messagespo]
|
||||
file_filter = langfilter/lang/<lang>/messages.po
|
||||
source_file = langfilter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_libertree_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_libertree_messagespo]
|
||||
file_filter = libertree/lang/<lang>/messages.po
|
||||
source_file = libertree/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_libravatar_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_libravatar_messagespo]
|
||||
file_filter = libravatar/lang/<lang>/messages.po
|
||||
source_file = libravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_ljpost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_ljpost_messagespo]
|
||||
file_filter = ljpost/lang/<lang>/messages.po
|
||||
source_file = ljpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_mailstream_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_mailstream_messagespo]
|
||||
file_filter = mailstream/lang/<lang>/messages.po
|
||||
source_file = mailstream/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_morepokes_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
|
||||
|
||||
[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
|
||||
|
||||
[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
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_morepokes_messagespo]
|
||||
file_filter = morepokes/lang/<lang>/messages.po
|
||||
source_file = morepokes/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_newmemberwidget_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_newmemberwidget_messagespo]
|
||||
file_filter = newmemberwidget/lang/<lang>/messages.po
|
||||
source_file = newmemberwidget/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_notifyall_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_notifyall_messagespo]
|
||||
file_filter = notifyall/lang/<lang>/messages.po
|
||||
source_file = notifyall/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_notimeline_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_notimeline_messagespo]
|
||||
file_filter = notimeline/lang/<lang>/messages.po
|
||||
source_file = notimeline/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_nsfw_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_nsfw_messagespo]
|
||||
file_filter = nsfw/lang/<lang>/messages.po
|
||||
source_file = nsfw/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_numfriends_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_numfriends_messagespo]
|
||||
file_filter = numfriends/lang/<lang>/messages.po
|
||||
source_file = numfriends/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_openstreetmap_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_openstreetmap_messagespo]
|
||||
file_filter = openstreetmap/lang/<lang>/messages.po
|
||||
source_file = openstreetmap/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_pageheader_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_pageheader_messagespo]
|
||||
file_filter = pageheader/lang/<lang>/messages.po
|
||||
source_file = pageheader/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_piwik_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_piwik_messagespo]
|
||||
file_filter = piwik/lang/<lang>/messages.po
|
||||
source_file = piwik/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_planets_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_planets_messagespo]
|
||||
file_filter = planets/lang/<lang>/messages.po
|
||||
source_file = planets/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_public_server_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_public_server_messagespo]
|
||||
file_filter = public_server/lang/<lang>/messages.po
|
||||
source_file = public_server/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_pumpio_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_pumpio_messagespo]
|
||||
file_filter = pumpio/lang/<lang>/messages.po
|
||||
source_file = pumpio/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_qcomment_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_qcomment_messagespo]
|
||||
file_filter = qcomment/lang/<lang>/messages.po
|
||||
source_file = qcomment/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_randplace_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_randplace_messagespo]
|
||||
file_filter = randplace/lang/<lang>/messages.po
|
||||
source_file = randplace/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_remote_permissions_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_remote_permissions_messagespo]
|
||||
file_filter = remote_permissions/lang/<lang>/messages.po
|
||||
source_file = remote_permissions/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_rendertime_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_rendertime_messagespo]
|
||||
file_filter = rendertime/lang/<lang>/messages.po
|
||||
source_file = rendertime/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_securemail_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_securemail_messagespo]
|
||||
file_filter = securemail/lang/<lang>/messages.po
|
||||
source_file = securemail/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_showmore_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_showmore_messagespo]
|
||||
file_filter = showmore/lang/<lang>/messages.po
|
||||
source_file = showmore/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_smileybutton_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_smileybutton_messagespo]
|
||||
file_filter = smileybutton/lang/<lang>/messages.po
|
||||
source_file = smileybutton/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_startpage_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_startpage_messagespo]
|
||||
file_filter = startpage/lang/<lang>/messages.po
|
||||
source_file = startpage/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_statusnet_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_statusnet_messagespo]
|
||||
file_filter = statusnet/lang/<lang>/messages.po
|
||||
source_file = statusnet/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_superblock_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_superblock_messagespo]
|
||||
file_filter = superblock/lang/<lang>/messages.po
|
||||
source_file = superblock/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_testdrive_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_testdrive_messagespo]
|
||||
file_filter = testdrive/lang/<lang>/messages.po
|
||||
source_file = testdrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_tictac_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_tictac_messagespo]
|
||||
file_filter = tictac/lang/<lang>/messages.po
|
||||
source_file = tictac/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_tumblr_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_tumblr_messagespo]
|
||||
file_filter = tumblr/lang/<lang>/messages.po
|
||||
source_file = tumblr/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_twitter_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_twitter_messagespo]
|
||||
file_filter = twitter/lang/<lang>/messages.po
|
||||
source_file = twitter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_viewsrc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_viewsrc_messagespo]
|
||||
file_filter = viewsrc/lang/<lang>/messages.po
|
||||
source_file = viewsrc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_webrtc_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_webrtc_messagespo]
|
||||
file_filter = webrtc/lang/<lang>/messages.po
|
||||
source_file = webrtc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_windowsphonepush_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
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_windowsphonepush_messagespo]
|
||||
file_filter = windowsphonepush/lang/<lang>/messages.po
|
||||
source_file = windowsphonepush/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_wppost_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_wppost_messagespo]
|
||||
file_filter = wppost/lang/<lang>/messages.po
|
||||
source_file = wppost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_xmpp_messagespo]
|
||||
[o:Friendica:p:friendica:r:addon_xmpp_messagespo]
|
||||
file_filter = xmpp/lang/<lang>/messages.po
|
||||
source_file = xmpp/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[friendica.addon_yourls_messagespo]
|
||||
file_filter = yourls/lang/<lang>/messages.po
|
||||
source_file = yourls/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
|
69
.woodpecker/.code_standards_check.yml
Normal file
69
.woodpecker/.code_standards_check.yml
Normal file
|
@ -0,0 +1,69 @@
|
|||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
event: pull_request
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
event: pull_request
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
event: pull_request
|
||||
composer_install:
|
||||
image: composer
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- ./bin/composer.phar run cs:install
|
||||
when:
|
||||
event: pull_request
|
||||
rebuild_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
rebuild: true
|
||||
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
event: pull_request
|
||||
check:
|
||||
image: friendicaci/php-cs
|
||||
commands:
|
||||
- cd addon/
|
||||
- if [ ! -z "$${CI_COMMIT_PULL_REQUEST}" ]; then
|
||||
git fetch --no-tags origin ${CI_COMMIT_TARGET_BRANCH};
|
||||
export CHANGED_FILES="$(git diff --name-status $(git merge-base FETCH_HEAD origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
|
||||
else
|
||||
export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
|
||||
fi
|
||||
- cd ../
|
||||
- /check-php-cs.sh
|
||||
when:
|
||||
event: pull_request
|
112
.woodpecker/.continuous-deployment.yml
Normal file
112
.woodpecker/.continuous-deployment.yml
Normal file
|
@ -0,0 +1,112 @@
|
|||
# This prevents executing this pipeline at other servers than ci.friendi.ca
|
||||
labels:
|
||||
location: friendica
|
||||
type: releaser
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
composer_install:
|
||||
image: friendicaci/php8.2:php8.2.16
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- composer validate
|
||||
- composer install --no-dev --optimize-autoloader
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
create_artifacts:
|
||||
image: debian
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install bzip2
|
||||
- mkdir ./build
|
||||
- export VERSION="$(cat VERSION)"
|
||||
- export RELEASE="friendica-addons-$VERSION"
|
||||
- export ARTIFACT="$RELEASE.tar.gz"
|
||||
- tar
|
||||
--exclude='.tx'
|
||||
--exclude='.git'
|
||||
--exclude='.editorconfig'
|
||||
--exclude='.gitattributes'
|
||||
--exclude='.gitignore'
|
||||
--exclude='.woodpecker'
|
||||
--exclude='**/*/messages.po'
|
||||
-cvzf ./build/$ARTIFACT addon/
|
||||
- cd ./build
|
||||
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
|
||||
- chmod 664 ./*
|
||||
- ls -lh
|
||||
- cat "$ARTIFACT.sum256"
|
||||
- sha256sum "$ARTIFACT"
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
sign_artifacts:
|
||||
image: plugins/gpgsign
|
||||
settings:
|
||||
key:
|
||||
from_secret: gpg_key
|
||||
passphrase:
|
||||
from_secret: gpg_password
|
||||
files:
|
||||
- build/*
|
||||
exclude:
|
||||
- build/*.sum256
|
||||
detach_sign: true
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
publish_artifacts:
|
||||
image: alpine
|
||||
commands:
|
||||
- cp -fr build/* /tmp/friendica_files/
|
||||
volumes:
|
||||
- files:/tmp/friendica_files
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
37
.woodpecker/.messages.po_check.yml
Normal file
37
.woodpecker/.messages.po_check.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
event: pull_request
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
event: pull_request
|
||||
build_xgettext:
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /xgettext-addon.sh
|
||||
when:
|
||||
event: pull_request
|
||||
check:
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /check-addons.sh
|
||||
when:
|
||||
event: pull_request
|
||||
|
||||
branches:
|
||||
exclude: [ stable ]
|
115
.woodpecker/.phpunit.yml
Normal file
115
.woodpecker/.phpunit.yml
Normal file
|
@ -0,0 +1,115 @@
|
|||
matrix:
|
||||
include:
|
||||
- PHP_MAJOR_VERSION: 7.4
|
||||
PHP_VERSION: 7.4.33
|
||||
- PHP_MAJOR_VERSION: 8.0
|
||||
PHP_VERSION: 8.0.30
|
||||
- PHP_MAJOR_VERSION: 8.1
|
||||
PHP_VERSION: 8.1.27
|
||||
- PHP_MAJOR_VERSION: 8.2
|
||||
PHP_VERSION: 8.2.16
|
||||
- PHP_MAJOR_VERSION: 8.3
|
||||
PHP_VERSION: 8.3.3
|
||||
|
||||
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
|
||||
labels:
|
||||
location: opensocial
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
composer_install:
|
||||
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- ./bin/composer.phar validate
|
||||
- ./bin/composer.phar install --prefer-dist
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
rebuild_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
rebuild: true
|
||||
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
test:
|
||||
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
|
||||
environment:
|
||||
MYSQL_HOST: "mariadb"
|
||||
MYSQL_PORT: "3306"
|
||||
MYSQL_DATABASE: "test"
|
||||
MYSQL_PASSWORD: "test"
|
||||
MYSQL_USER: "test"
|
||||
REDIS_HOST: "redis"
|
||||
MEMCACHED_HOST: "memcached"
|
||||
MEMCACHE_HOST: "memcached"
|
||||
commands:
|
||||
- cp config/local-sample.config.php config/local.config.php
|
||||
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
|
||||
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
|
||||
- if [ "${PHP_MAJOR_VERSION}" = "8.2" -a "${CI_REPO}" = "friendica/friendica-addons" ]; then
|
||||
phpenmod xdebug;
|
||||
export XDEBUG_MODE=coverage;
|
||||
phpunit --configuration tests/phpunit-addons.xml --coverage-clover clover.xml;
|
||||
else
|
||||
phpunit --configuration tests/phpunit-addons.xml;
|
||||
fi
|
||||
codecov:
|
||||
image: friendicaci/codecov
|
||||
when:
|
||||
matrix:
|
||||
PHP_MAJOR_VERSION: 8.2
|
||||
PHP_VERSION: 8.2.16
|
||||
repo:
|
||||
- friendica/friendica-addons
|
||||
commands:
|
||||
- codecov -R '.' -Z -f 'clover.xml'
|
||||
secrets:
|
||||
- source: codecov-token
|
||||
target: codecov_token
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:latest
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
|
||||
MYSQL_DATABASE: "test"
|
||||
MYSQL_PASSWORD: "test"
|
||||
MYSQL_USER: "test"
|
||||
|
||||
memcached:
|
||||
image: memcached
|
||||
|
||||
redis:
|
||||
image: redis
|
105
.woodpecker/.releaser.yml
Normal file
105
.woodpecker/.releaser.yml
Normal file
|
@ -0,0 +1,105 @@
|
|||
# This prevents executing this pipeline at other servers than ci.friendi.ca
|
||||
labels:
|
||||
location: friendica
|
||||
type: releaser
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
composer_install:
|
||||
image: friendicaci/php8.2:php8.2.16
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- composer validate
|
||||
- composer install --no-dev --optimize-autoloader
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
create_artifacts:
|
||||
image: debian
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install bzip2
|
||||
- mkdir ./build
|
||||
- export VERSION="$(cat VERSION)"
|
||||
- export RELEASE="friendica-addons-$VERSION"
|
||||
- export ARTIFACT="$RELEASE.tar.gz"
|
||||
- tar
|
||||
--exclude='.tx'
|
||||
--exclude='.git'
|
||||
--exclude='.editorconfig'
|
||||
--exclude='.gitattributes'
|
||||
--exclude='.gitignore'
|
||||
--exclude='.woodpecker'
|
||||
--exclude='**/*/messages.po'
|
||||
-cvzf ./build/$ARTIFACT addon/
|
||||
- cd ./build
|
||||
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
|
||||
- chmod 664 ./*
|
||||
- ls -lh
|
||||
- cat "$ARTIFACT.sum256"
|
||||
- sha256sum "$ARTIFACT"
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
sign_artifacts:
|
||||
image: plugins/gpgsign
|
||||
settings:
|
||||
key:
|
||||
from_secret: gpg_key
|
||||
passphrase:
|
||||
from_secret: gpg_password
|
||||
files:
|
||||
- build/*
|
||||
exclude:
|
||||
- build/*.sum256
|
||||
detach_sign: true
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
publish_artifacts:
|
||||
image: alpine
|
||||
commands:
|
||||
- cp -fr build/* /tmp/friendica_files/
|
||||
volumes:
|
||||
- files:/tmp/friendica_files
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
|
@ -5,7 +5,6 @@
|
|||
To install all addons using git, cd into your top level Friendica directory and
|
||||
|
||||
git clone https://github.com/friendica/friendica-addons.git addon
|
||||
util/composer.phar install -d addon
|
||||
|
||||
This will clone the entire repository in a directory called addon. They can now be activated in the addons section of your admin panel.
|
||||
|
||||
|
|
39
README.md
39
README.md
|
@ -2,33 +2,28 @@ Addons for Friendica
|
|||
====================
|
||||
|
||||
This repository is a collection of addons for the [Friendica Social Communications Server](https://github.com/friendica/friendica).
|
||||
You can add these addons to the /addon directory of your Friendica installation
|
||||
do extend the functionality of your node.
|
||||
You can add these addons to the /addon directory of your Friendica installation do extend the functionality of your node.
|
||||
|
||||
After uploading the addons to your server, you need to activate the desired addons
|
||||
in the Admin panel. Addons not activated have no effect on your node.
|
||||
After uploading the addons to your server, you need to activate the desired addons in the Admin panel. Addons not activated have no effect on your node.
|
||||
|
||||
You can find more addons in the [Friendica Addon listing](https://addons.friendo.ca)
|
||||
in cases the addon developers have choosen not to include them here.
|
||||
## Issues
|
||||
|
||||
Connectors
|
||||
----------
|
||||
Please report any issues you have with addons of Friendica from this repository in [the main issue tracker of the project](https://github.com/friendica/friendica/issues).
|
||||
|
||||
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks
|
||||
(e.g. Twitter, pump.io, Google+) that are needed for communication when the
|
||||
protocoll is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
||||
## Connectors
|
||||
|
||||
For communication with contacts in networks supporting those (e.g. GNU social,
|
||||
Diaspora and red#matrix) you just need to access the page configuration in the
|
||||
Admin panel and enable them. For networks where communication is only possible
|
||||
the API access to a remote account, you need to activate the fitting connectors.
|
||||
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/stable/doc/Connectors.md) for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
||||
|
||||
Development
|
||||
-----------
|
||||
For communication with contacts in networks supporting those (e.g. GNU social, Diaspora and red#matrix) you just need to access the page configuration in the Admin panel and enable them. For networks where communication is only possible the API access to a remote account, you need to activate the fitting connectors.
|
||||
|
||||
The addon interface of Friendica is very flexible and powerful, so if you are
|
||||
missing functionality, your chances are high it may be added with an addon.
|
||||
See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Addons.md) for more informations on the addon development.
|
||||
## Development
|
||||
|
||||
Addons can be translated like any other part of Friendica. Translations for the
|
||||
addons included in this repository are done at the [Transifex project](https://www.transifex.com/projects/p/friendica/) for Friendica.
|
||||
The addon interface of Friendica is very flexible and powerful, so if you are missing functionality, your chances are high it may be added with an addon.
|
||||
See the [documentation](https://github.com/friendica/friendica/blob/stable/doc/Addons.md) for more information on the addon development.
|
||||
|
||||
## Translation
|
||||
|
||||
Addons can be translated like any other part of Friendica.
|
||||
Translation for addons is done at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/).
|
||||
|
||||
Read more about the workflow in the [Friendica translation documentation](https://github.com/friendica/friendica/blob/stable/doc/translations.md#addon).
|
||||
|
|
24
advancedcontentfilter/LICENSE
Normal file
24
advancedcontentfilter/LICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
Copyright (c) 2011-2018 Hypolite Petovan
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Friendica nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL FRIENDICA BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
11
advancedcontentfilter/README.md
Normal file
11
advancedcontentfilter/README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
Advanced Content Filter
|
||||
=======================
|
||||
|
||||
Main author Hypolite Petovan.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
The _Advanced Content Filter_ addon is licensed under the [3-clause BSD license][2] see the LICENSE file in the addons directory.
|
||||
|
||||
[1]: http://opensource.org/licenses/BSD-3-Clause
|
132
advancedcontentfilter/advancedcontentfilter.js
Normal file
132
advancedcontentfilter/advancedcontentfilter.js
Normal file
File diff suppressed because one or more lines are too long
467
advancedcontentfilter/advancedcontentfilter.php
Normal file
467
advancedcontentfilter/advancedcontentfilter.php
Normal file
|
@ -0,0 +1,467 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Advanced content Filter
|
||||
* Description: Expression-based content filter
|
||||
* Version: 1.0
|
||||
* Author: Hypolite Petovan <https://friendica.mrpetovan.com/profile/hypolite>
|
||||
* Maintainer: Hypolite Petovan <https://friendica.mrpetovan.com/profile/hypolite>
|
||||
*
|
||||
* Copyright (c) 2018 Hypolite Petovan
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* * copyright notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Friendica nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL FRIENDICA BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\Text\Markdown;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
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;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Symfony\Component\ExpressionLanguage;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
function advancedcontentfilter_install()
|
||||
{
|
||||
Hook::register('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
|
||||
Hook::register('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings');
|
||||
|
||||
Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
DBStructure::performUpdate();
|
||||
|
||||
Logger::notice('installed advancedcontentfilter');
|
||||
}
|
||||
|
||||
/*
|
||||
* Hooks
|
||||
*/
|
||||
|
||||
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'],
|
||||
],
|
||||
'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 = [];
|
||||
|
||||
// Convert the language JSON text into a filterable format
|
||||
if (!empty($item['language']) && ($languages = json_decode($item['language'], true))) {
|
||||
foreach ($languages as $key => $value) {
|
||||
$vars['language_' . strtolower($key)] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($item as $key => $value) {
|
||||
$vars[str_replace('-', '_', $key)] = $value;
|
||||
}
|
||||
|
||||
ksort($vars);
|
||||
|
||||
return $vars;
|
||||
}
|
||||
|
||||
function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
||||
{
|
||||
static $expressionLanguage;
|
||||
|
||||
if (is_null($expressionLanguage)) {
|
||||
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
|
||||
}
|
||||
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$vars = advancedcontentfilter_get_filter_fields($hook_data['item']);
|
||||
|
||||
$rules = DI::cache()->get('rules_' . DI::userSession()->getLocalUserId());
|
||||
if (!isset($rules)) {
|
||||
$rules = DBA::toArray(DBA::select(
|
||||
'advancedcontentfilter_rules',
|
||||
['name', 'expression', 'serialized'],
|
||||
['uid' => DI::userSession()->getLocalUserId(), 'active' => true]
|
||||
));
|
||||
|
||||
DI::cache()->set('rules_' . DI::userSession()->getLocalUserId(), $rules);
|
||||
}
|
||||
|
||||
if ($rules) {
|
||||
foreach($rules as $rule) {
|
||||
try {
|
||||
$serializedParsedExpression = new ExpressionLanguage\SerializedParsedExpression(
|
||||
$rule['expression'],
|
||||
$rule['serialized']
|
||||
);
|
||||
|
||||
// The error suppression operator is used because of potentially broken user-supplied regular expressions
|
||||
$found = (bool) @$expressionLanguage->evaluate($serializedParsedExpression, $vars);
|
||||
} catch (Exception $e) {
|
||||
$found = false;
|
||||
}
|
||||
|
||||
if ($found) {
|
||||
$hook_data['filter_reasons'][] = DI::l10n()->t('Filtered by rule: %s', $rule['name']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function advancedcontentfilter_addon_settings(array &$data)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
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()
|
||||
{
|
||||
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'api') {
|
||||
$slim = \Slim\Factory\AppFactory::create();
|
||||
|
||||
require __DIR__ . '/src/middlewares.php';
|
||||
|
||||
require __DIR__ . '/src/routes.php';
|
||||
$slim->run();
|
||||
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
function advancedcontentfilter_content()
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return Login::form('/' . implode('/', DI::args()->getArgv()));
|
||||
}
|
||||
|
||||
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';
|
||||
$help_path = $default_dir . $help_file;
|
||||
if (file_exists($default_dir . $lang . '/' . $help_file)) {
|
||||
$help_path = $default_dir . $lang . '/' . $help_file;
|
||||
}
|
||||
|
||||
$content = file_get_contents($help_path);
|
||||
|
||||
$html = Markdown::convert($content, false);
|
||||
|
||||
$html = str_replace('code>', 'key>', $html);
|
||||
|
||||
return $html;
|
||||
} else {
|
||||
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/advancedcontentfilter/');
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$messages' => [
|
||||
'backtosettings' => DI::l10n()->t('Back to Addon Settings'),
|
||||
'title' => DI::l10n()->t('Advanced Content Filter'),
|
||||
'add_a_rule' => DI::l10n()->t('Add a Rule'),
|
||||
'help' => DI::l10n()->t('Help'),
|
||||
'intro' => DI::l10n()->t('Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'),
|
||||
'your_rules' => DI::l10n()->t('Your rules'),
|
||||
'no_rules' => DI::l10n()->t('You have no rules yet! Start adding one by clicking on the button above next to the title.'),
|
||||
'disabled' => DI::l10n()->t('Disabled'),
|
||||
'enabled' => DI::l10n()->t('Enabled'),
|
||||
'disable_this_rule' => DI::l10n()->t('Disable this rule'),
|
||||
'enable_this_rule' => DI::l10n()->t('Enable this rule'),
|
||||
'edit_this_rule' => DI::l10n()->t('Edit this rule'),
|
||||
'edit_the_rule' => DI::l10n()->t('Edit the rule'),
|
||||
'save_this_rule' => DI::l10n()->t('Save this rule'),
|
||||
'delete_this_rule' => DI::l10n()->t('Delete this rule'),
|
||||
'rule' => DI::l10n()->t('Rule'),
|
||||
'close' => DI::l10n()->t('Close'),
|
||||
'addtitle' => DI::l10n()->t('Add new rule'),
|
||||
'rule_name' => DI::l10n()->t('Rule Name'),
|
||||
'rule_expression' => DI::l10n()->t('Rule Expression'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
],
|
||||
'$current_theme' => DI::app()->getCurrentTheme(),
|
||||
'$rules' => DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()])),
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Common functions
|
||||
*/
|
||||
function advancedcontentfilter_build_fields($data)
|
||||
{
|
||||
$fields = [];
|
||||
|
||||
if (!empty($data['name'])) {
|
||||
$fields['name'] = $data['name'];
|
||||
}
|
||||
|
||||
if (!empty($data['expression'])) {
|
||||
// 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'],
|
||||
array_keys(advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row)))
|
||||
);
|
||||
|
||||
$serialized = serialize($parsedExpression->getNodes());
|
||||
|
||||
$fields['expression'] = $data['expression'];
|
||||
$fields['serialized'] = $serialized;
|
||||
}
|
||||
|
||||
if (isset($data['active'])) {
|
||||
$fields['active'] = intval($data['active']);
|
||||
} else {
|
||||
$fields['active'] = 1;
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
/*
|
||||
* API
|
||||
*/
|
||||
|
||||
function advancedcontentfilter_get_rules(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
|
||||
{
|
||||
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' => DI::userSession()->getLocalUserId()]));
|
||||
|
||||
$response->getBody()->write(json_encode($rules));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
function advancedcontentfilter_get_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
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' => DI::userSession()->getLocalUserId()]);
|
||||
|
||||
$response->getBody()->write(json_encode($rule));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
function advancedcontentfilter_post_rules(ServerRequestInterface $request, ResponseInterface $response)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
$data = json_decode($request->getBody(), true);
|
||||
|
||||
try {
|
||||
$fields = advancedcontentfilter_build_fields($data);
|
||||
} catch (Exception $e) {
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), $e);
|
||||
}
|
||||
|
||||
if (empty($fields['name']) || empty($fields['expression'])) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('The rule name and expression are required.'));
|
||||
}
|
||||
|
||||
$fields['uid'] = DI::userSession()->getLocalUserId();
|
||||
$fields['created'] = DateTimeFormat::utcNow();
|
||||
|
||||
if (!DBA::insert('advancedcontentfilter_rules', $fields)) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]);
|
||||
|
||||
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 (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
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.'));
|
||||
}
|
||||
|
||||
$data = json_decode($request->getBody(), true);
|
||||
|
||||
try {
|
||||
$fields = advancedcontentfilter_build_fields($data);
|
||||
} catch (Exception $e) {
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), $e);
|
||||
}
|
||||
|
||||
if (!DBA::update('advancedcontentfilter_rules', $fields, ['id' => $args['id']])) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
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 (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
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.'));
|
||||
}
|
||||
|
||||
if (!DBA::delete('advancedcontentfilter_rules', ['id' => $args['id']])) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
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 (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!isset($args['guid'])) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Missing argument: guid.'));
|
||||
}
|
||||
|
||||
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], 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('Unknown post with guid: %s', $args['guid']));
|
||||
}
|
||||
|
||||
$return = advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row));
|
||||
|
||||
$response->getBody()->write(json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
/**
|
||||
* This mimimcs the processing performed in Model\Item::prepareBody
|
||||
*
|
||||
* @param array $item_row
|
||||
* @return array
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws ImagickException
|
||||
*/
|
||||
function advancedcontentfilter_prepare_item_row(array $item_row): array
|
||||
{
|
||||
$tags = Tag::populateFromItem($item_row);
|
||||
|
||||
$item_row['tags'] = $tags['tags'];
|
||||
$item_row['hashtags'] = $tags['hashtags'];
|
||||
$item_row['mentions'] = $tags['mentions'];
|
||||
$item_row['attachments'] = DI::postMediaRepository()->splitAttachments($item_row['uri-id']);
|
||||
|
||||
return $item_row;
|
||||
}
|
11894
advancedcontentfilter/asset/vue/dist/vue.js
vendored
Normal file
11894
advancedcontentfilter/asset/vue/dist/vue.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
11
advancedcontentfilter/asset/vue/dist/vue.min.js
vendored
Normal file
11
advancedcontentfilter/asset/vue/dist/vue.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
27
advancedcontentfilter/composer.json
Normal file
27
advancedcontentfilter/composer.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "friendica-addons/advancedcontentfilter",
|
||||
"description": "Advanced Content Filter addon for Friendica",
|
||||
"type": "friendica-addon",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Hypolite Petovan",
|
||||
"email": "hypolite@mrpetovan.com",
|
||||
"homepage": "https://friendica.mrpetovan.com/profile/hypolite",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"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"
|
||||
}
|
||||
}
|
1175
advancedcontentfilter/composer.lock
generated
Normal file
1175
advancedcontentfilter/composer.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
512
advancedcontentfilter/doc/advancedcontentfilter.md
Normal file
512
advancedcontentfilter/doc/advancedcontentfilter.md
Normal file
|
@ -0,0 +1,512 @@
|
|||
<style>
|
||||
.advancedcontentfilter-content-wrapper {
|
||||
min-height: calc(100vh - 150px);
|
||||
padding: 15px;
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: none;
|
||||
/*background-color: #fff;*/
|
||||
background-color: rgba(255,255,255,0.95);
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
/*overflow: hidden;*/
|
||||
color: #555;
|
||||
box-shadow: 0 0 3px #dadada;
|
||||
-webkit-box-shadow: 0 0 3px #dadada;
|
||||
-moz-box-shadow: 0 0 3px #dadada;
|
||||
}
|
||||
</style>
|
||||
|
||||
<a href="advancedcontentfilter">🔙 Back to Advanced Content Filter Settings</a>
|
||||
|
||||
# Advanced Content Filter Help
|
||||
|
||||
The advanced Content Filter uses Symfony's Expression Language.
|
||||
This help page includes a summary of [the Symfony's Expression Language documentation page.](https://symfony.com/doc/current/components/expression_language/syntax.html)
|
||||
|
||||
## Basics
|
||||
|
||||
The advanced content filter matches each post that is about to be displayed against each enabled rule you set.
|
||||
|
||||
A rule is a boolean expression that should return either `true` or `false` depending on post variables.
|
||||
|
||||
If the expression using a post variables returns `true`, the post will be collapsed and the matching rule name will be displayed above the collapsed content.
|
||||
|
||||
A post will be collapsed if at least one rule matches, but all matching rule names will be displayed above the collapsed content.
|
||||
|
||||
## Examples
|
||||
|
||||
1. Collapse posts with specific domains `body matches "/\\.example\\.com/"`
|
||||
2. Collapse posts that contains the words `body matches "/Guten Morgen/"`
|
||||
3. Collapse posts with the word facebook that have a space in front and after the word `body matches "//s facebook/s /"`
|
||||
4. Collapse posts that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
|
||||
|
||||
|
||||
## Expression Syntax
|
||||
|
||||
### Supported Literals
|
||||
|
||||
- **strings** - single and double quotes (e.g. `'hello'`).
|
||||
- **numbers** - e.g. `103`.
|
||||
- **arrays** - using JSON-like notation (e.g. `[1, 2]`).
|
||||
- **hashes** - using JSON-like notation (e.g. `{ foo: 'bar' }`).
|
||||
- **booleans** - `true` and `false`.
|
||||
- **null** - `null`.
|
||||
|
||||
A backslash (``\``) must be escaped by 2 backslashes (``\\``) in a string and 4 backslashes (``\\\\``) in a regex::
|
||||
|
||||
`"a\\b" matches "/^a\\\\b$/"`
|
||||
|
||||
Control characters (e.g. ``\n``) in expressions are replaced with whitespace. To avoid this, escape the sequence with a single backslash (e.g. ``\\n``).
|
||||
|
||||
### Supported Operators
|
||||
|
||||
The component comes with a lot of operators:
|
||||
|
||||
#### Arithmetic Operators
|
||||
|
||||
* ``+`` (addition)
|
||||
* ``-`` (subtraction)
|
||||
* ``*`` (multiplication)
|
||||
* ``/`` (division)
|
||||
* ``%`` (modulus)
|
||||
* ``**`` (pow)
|
||||
|
||||
#### Bitwise Operators
|
||||
|
||||
* ``&`` (and)
|
||||
* ``|`` (or)
|
||||
* ``^`` (xor)
|
||||
|
||||
#### Comparison Operators
|
||||
|
||||
* ``==`` (equal)
|
||||
* ``===`` (identical)
|
||||
* ``!=`` (not equal)
|
||||
* ``!==`` (not identical)
|
||||
* ``<`` (less than)
|
||||
* ``>`` (greater than)
|
||||
* ``<=`` (less than or equal to)
|
||||
* ``>=`` (greater than or equal to)
|
||||
* ``matches`` (regex match)
|
||||
|
||||
To test if a string does *not* match a regex, use the logical ``not`` operator in combination with the ``matches`` operator:
|
||||
|
||||
`not ("foo" matches "/bar/")`
|
||||
|
||||
You must use parenthesis because the unary operator ``not`` has precedence over the binary operator ``matches``.
|
||||
|
||||
#### Logical Operators
|
||||
|
||||
* ``not`` or ``!``
|
||||
* ``and`` or ``&&``
|
||||
* ``or`` or ``||``
|
||||
|
||||
#### String Operators
|
||||
|
||||
* ``~`` (concatenation)
|
||||
|
||||
For example: ``firstName ~ " " ~ lastName``
|
||||
|
||||
#### Array Operators
|
||||
|
||||
* ``in`` (contain)
|
||||
* ``not in`` (does not contain)
|
||||
|
||||
For example: ``user.group in ["human_resources", "marketing"]``
|
||||
|
||||
#### Numeric Operators
|
||||
|
||||
* ``..`` (range)
|
||||
|
||||
For example: ``user.age in 18..45``
|
||||
|
||||
#### Ternary Operators
|
||||
|
||||
* ``foo ? 'yes' : 'no'``
|
||||
* ``foo ?: 'no'`` (equal to ``foo ? foo : 'no'``)
|
||||
* ``foo ? 'yes'`` (equal to ``foo ? 'yes' : ''``)
|
||||
|
||||
### Supported variables
|
||||
|
||||
Here are a sample of the available variables you can use in your expressions.
|
||||
You can also retrieve the variables of a specific post by pasting its URL below the rule list.
|
||||
|
||||
<table class="table-bordered table-condensed table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Variable</th>
|
||||
<th>Type</th>
|
||||
<th>Sample Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>author_id</th>
|
||||
<td>number</td>
|
||||
<td>6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>author_link</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/profile/hypolite</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>author_name</th>
|
||||
<td>string</td>
|
||||
<td>Hypolite Petovan</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>author_avatar</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/photo/41084997915a94a8c83cc39708500207-5.png</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>owner_id</th>
|
||||
<td>number</td>
|
||||
<td>6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>owner_link</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/profile/hypolite</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>owner_name</th>
|
||||
<td>string</td>
|
||||
<td>Hypolite Petovan</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>owner_avatar</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/photo/41084997915a94a8c83cc39708500207-5.png</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>contact_id</th>
|
||||
<td>number</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>uid</th>
|
||||
<td>number</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>id</th>
|
||||
<td>number</td>
|
||||
<td>791875</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>parent</th>
|
||||
<td>number</td>
|
||||
<td>791875</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>uri</th>
|
||||
<td>string</td>
|
||||
<td>urn:X-dfrn:friendica.mrpetovan.com:1:twit:978740198937907200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>thr_parent</th>
|
||||
<td>string</td>
|
||||
<td>urn:X-dfrn:friendica.mrpetovan.com:1:twit:978740198937907200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>parent_uri</th>
|
||||
<td>string</td>
|
||||
<td>urn:X-dfrn:friendica.mrpetovan.com:1:twit:978740198937907200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>content_warning</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>commented</th>
|
||||
<td>date</td>
|
||||
<td>2018-03-27 21:10:18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>created</th>
|
||||
<td>date</td>
|
||||
<td>2018-03-27 21:10:18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>edited</th>
|
||||
<td>date</td>
|
||||
<td>2018-03-27 21:10:18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>received</th>
|
||||
<td>date</td>
|
||||
<td>2018-03-27 21:10:18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>verb</th>
|
||||
<td>string</td>
|
||||
<td>http://activitystrea.ms/schema/1.0/post</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>object_type</th>
|
||||
<td>string</td>
|
||||
<td>http://activitystrea.ms/schema/1.0/bookmark</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>postopts</th>
|
||||
<td>string</td>
|
||||
<td>twitter&lang=pidgin;0.24032407407407:english;0.225:french;0.18055555555556</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>plink</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/display/735a2029995abab33a5c006052376776</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>guid</th>
|
||||
<td>string</td>
|
||||
<td>735a2029995abab33a5c006052376776</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>wall</th>
|
||||
<td>boolean</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>private</th>
|
||||
<td>boolean</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>starred</th>
|
||||
<td>boolean</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>title</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>body</th>
|
||||
<td>string</td>
|
||||
<td>Over-compensation #[url=https://friendica.mrpetovan.com/search?tag=Street]Street[/url] #[url=https://friendica.mrpetovan.com/search?tag=Night]Night[/url] #[url=https://friendica.mrpetovan.com/search?tag=CarLights]CarLights[/url] #[url=https://friendica.mrpetovan.com/search?tag=Jeep]Jeep[/url] #[url=https://friendica.mrpetovan.com/search?tag=NoPeople]NoPeople[/url] #[url=https://friendica.mrpetovan.com/search?tag=Close]Close[/url]-up
|
||||
[attachment type='link' url='https://www.eyeem.com/p/120800309' title='Over-compensation Street Night Car Lights Jeep No | EyeEm' image='https://cdn.eyeem.com/thumb/b2f019738cbeef06e2f8c9517c6286a8adcd3a00-1522184820641/640/480']Photo by @[url=https://twitter.com/MrPetovan]MrPetovan[/url][/attachment]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>file</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_id</th>
|
||||
<td>number</td>
|
||||
<td>null
|
||||
<tr>
|
||||
<th>location</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>coord</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>app</th>
|
||||
<td>string</td>
|
||||
<td>EyeEm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>attach</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>rendered_hash</th>
|
||||
<td>string</td>
|
||||
<td>b70abdea8b362dc5dcf63e1b2836ad89</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>rendered_html</th>
|
||||
<td>string</td>
|
||||
<td>
|
||||
Over-compensation #<a href="https://friendica.mrpetovan.com/search?tag=Street" class="tag" title="Street">Street</a> #<a href="https://friendica.mrpetovan.com/search?tag=Night" class="tag" title="Night">Night</a> #<a href="https://friendica.mrpetovan.com/search?tag=CarLights" class="tag" title="CarLights">CarLights</a> #<a href="https://friendica.mrpetovan.com/search?tag=Jeep" class="tag" title="Jeep">Jeep</a> #<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" class="tag" title="NoPeople">NoPeople</a> #<a href="https://friendica.mrpetovan.com/search?tag=Close" class="tag" title="Close">Close</a>-up <div class="type-link"><a href="https://www.eyeem.com/p/120800309" target="_blank" rel="noopener noreferrer"><img src="https://friendica.mrpetovan.com/proxy/bb/aHR0cHM6Ly9jZG4uZXllZW0uY29tL3RodW1iL2IyZjAxOTczOGNiZWVmMDZlMmY4Yzk1MTdjNjI4NmE4YWRjZDNhMDAtMTUyMjE4NDgyMDY0MS82NDAvNDgw" alt="" title="Over-compensation Street Night Car Lights Jeep No | EyeEm" class="attachment-image"></a><br><h4><a href="https://www.eyeem.com/p/120800309">Over-compensation Street Night Car Lights Jeep No | EyeEm</a></h4><blockquote>Photo by @<a href="https://twitter.com/MrPetovan" class="userinfo mention" title="MrPetovan">MrPetovan</a></blockquote><sup><a href="https://www.eyeem.com/p/120800309">www.eyeem.com</a></sup></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>object</th>
|
||||
<td>string</td>
|
||||
<td>{"created_at":"Tue Mar 27 21:07:02 +0000 2018","id":978740198937907200,"id_str":"978740198937907200","full_text":"Over-compensation #Street #Night #CarLights #Jeep #NoPeople #Close-up https:\/\/t.co\/7w4ua13QA7","truncated":false,"display_text_range":[0,93],"entities":{"hashtags":[{"text":"Street","indices":[18,25]},{"text":"Night","indices":[26,32]},{"text":"CarLights","indices":[33,43]},{"text":"Jeep","indices":[44,49]},{"text":"NoPeople","indices":[50,59]},{"text":"Close","indices":[60,66]}],"symbols":[],"user_mentions":[],"urls":[{"url":"https:\/\/t.co\/7w4ua13QA7","expanded_url":"http:\/\/EyeEm.com\/p\/120800309","display_url":"EyeEm.com\/p\/120800309","indices":[70,93]}]},"source":"<a href=\"http:\/\/www.eyeem.com\" rel=\"nofollow\">EyeEm<\/a>","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":403748896,"id_str":"403748896","name":"\ud83d\udc30yp\ud83e\udd5ali\u271d\ufe0fe Pet\ud83e\udd5avan","screen_name":"MrPetovan","location":"NYC","description":"White male form of milquetoast. Avatar by @DearMsDear inspired by @TSG_LAB.\n\nFriendica\/Diaspora\/Mastodon: hypolite@friendica.mrpetovan.com","url":"https:\/\/t.co\/PcARi5OhQO","entities":{"url":{"urls":[{"url":"https:\/\/t.co\/PcARi5OhQO","expanded_url":"https:\/\/mrpetovan.com","display_url":"mrpetovan.com","indices":[0,23]}]},"description":{"urls":[]}},"protected":false,"followers_count":182,"friends_count":146,"listed_count":15,"created_at":"Wed Nov 02 23:13:14 +0000 2011","favourites_count":45826,"utc_offset":-14400,"time_zone":"Eastern Time (US & Canada)","geo_enabled":false,"verified":false,"statuses_count":15554,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"000000","profile_background_image_url":"http:\/\/pbs.twimg.com\/profile_background_images\/370213187\/fond_twitter_mrpetovan.png","profile_background_image_url_https":"https:\/\/pbs.twimg.com\/profile_background_images\/370213187\/fond_twitter_mrpetovan.png","profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/968008546322395136\/6qLCiu0o_normal.jpg","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/968008546322395136\/6qLCiu0o_normal.jpg","profile_banner_url":"https:\/\/pbs.twimg.com\/profile_banners\/403748896\/1464321684","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"000000","profile_use_background_image":true,"has_extended_profile":true,"default_profile":false,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>allow_cid</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>allow_gid</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>deny_cid</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>deny_gid</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>item_id</th>
|
||||
<td>number</td>
|
||||
<td>791875</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>item_network</th>
|
||||
<td>string</td>
|
||||
<td>dfrn</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>author_thumb</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/photo/0cb3d7231eb751139d7d309c7c686c49-5.png?ts=1522941604</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>owner_thumb</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/photo/0cb3d7231eb751139d7d309c7c686c49-5.png?ts=1522941604</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>network</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>url</th>
|
||||
<td>string</td>
|
||||
<td>https://friendica.mrpetovan.com/profile/hypolite</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>name</th>
|
||||
<td>string</td>
|
||||
<td>Hypolite Petovan</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>writable</th>
|
||||
<td>boolean</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>self</th>
|
||||
<td>boolean</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>cid</th>
|
||||
<td>number</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>alias</th>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_created</th>
|
||||
<td>date</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_edited</th>
|
||||
<td>date</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_start</th>
|
||||
<td>date</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_finish</th>
|
||||
<td>date</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_summary</th>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_desc</th>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_location</th>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_type</th>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_nofinish</th>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_ignore</th>
|
||||
<td>boolean</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>pagedrop</th>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>tags</th>
|
||||
<td>list</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer">close</a></li>
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer">mrpetovan</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer">close-up</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>hashtags</th>
|
||||
<td>list</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer">close</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer">close-up</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>mentions</th>
|
||||
<td>string</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer">mrpetovan</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
161
advancedcontentfilter/lang/C/messages.po
Normal file
161
advancedcontentfilter/lang/C/messages.po
Normal file
|
@ -0,0 +1,161 @@
|
|||
# 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: 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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
166
advancedcontentfilter/lang/ar/messages.po
Normal file
166
advancedcontentfilter/lang/ar/messages.po
Normal file
|
@ -0,0 +1,166 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Farida Khalaf <faridakhalaf@hotmail.com>, 2021
|
||||
# abidin toumi <abidin24@tutanota.com>, 2021
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-07-25 13:15+0000\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: abidin toumi <abidin24@tutanota.com>, 2021\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/Friendica/teams/12172/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: advancedcontentfilter.php:153
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "رشّح حسب القاعدة: %s"
|
||||
|
||||
#: advancedcontentfilter.php:167 advancedcontentfilter.php:224
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "ترشيح المحتوى المتقدم"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "الرجوع إلى إعدادات الإضافات"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
msgid "Add a Rule"
|
||||
msgstr "أضف قاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Help"
|
||||
msgstr "مساعدة"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.\n"
|
||||
" القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة."
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid "Your rules"
|
||||
msgstr "القواعد"
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"لا يوجد قواعد!\n"
|
||||
"أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان."
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid "Disabled"
|
||||
msgstr "معطل"
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Enabled"
|
||||
msgstr "مفعل"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Disable this rule"
|
||||
msgstr "عطّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Enable this rule"
|
||||
msgstr "فعّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Edit this rule"
|
||||
msgstr "عدّل هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit the rule"
|
||||
msgstr "عدّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Save this rule"
|
||||
msgstr "احفظ هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Delete this rule"
|
||||
msgstr "احذف هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Rule"
|
||||
msgstr "القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Close"
|
||||
msgstr "اغلق"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Add new rule"
|
||||
msgstr "أضف قاعدة جديدة"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Rule Name"
|
||||
msgstr "اسم القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Expression"
|
||||
msgstr "تعبير القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Cancel"
|
||||
msgstr "الغ"
|
||||
|
||||
#: advancedcontentfilter.php:310 advancedcontentfilter.php:321
|
||||
#: advancedcontentfilter.php:332 advancedcontentfilter.php:366
|
||||
#: advancedcontentfilter.php:395 advancedcontentfilter.php:416
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "عليك الولوج لاستخدام هذه الطريقة"
|
||||
|
||||
#: advancedcontentfilter.php:336 advancedcontentfilter.php:370
|
||||
#: advancedcontentfilter.php:399
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة."
|
||||
|
||||
#: advancedcontentfilter.php:348
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "يلزم اسم وتعبير للقاعدة."
|
||||
|
||||
#: advancedcontentfilter.php:360
|
||||
msgid "Rule successfully added"
|
||||
msgstr "نجحت إضافة القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:374 advancedcontentfilter.php:403
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "القاعدة غير موجودة أو لا تنتمي إليك."
|
||||
|
||||
#: advancedcontentfilter.php:389
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "نجح تحديث القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:410
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "نجح حذف القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:420
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "معامل ناقص: دليل."
|
||||
|
||||
#: advancedcontentfilter.php:428
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "مشاركة غير معروفة ذات الدليل: 1%s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "لم يُعثر على التطبيق"
|
41
advancedcontentfilter/lang/ar/strings.php
Normal file
41
advancedcontentfilter/lang/ar/strings.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ar")) {
|
||||
function string_plural_select_ar($n){
|
||||
$n = intval($n);
|
||||
if ($n==0) { return 0; } else if ($n==1) { return 1; } else if ($n==2) { return 2; } else if ($n%100>=3 && $n%100<=10) { return 3; } else if ($n%100>=11 && $n%100<=99) { return 4; } else { return 5; }
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'رشّح حسب القاعدة: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'ترشيح المحتوى المتقدم';
|
||||
$a->strings['Back to Addon Settings'] = 'الرجوع إلى إعدادات الإضافات';
|
||||
$a->strings['Add a Rule'] = 'أضف قاعدة';
|
||||
$a->strings['Help'] = 'مساعدة';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.
|
||||
القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة.';
|
||||
$a->strings['Your rules'] = 'القواعد';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'لا يوجد قواعد!
|
||||
أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان.';
|
||||
$a->strings['Disabled'] = 'معطل';
|
||||
$a->strings['Enabled'] = 'مفعل';
|
||||
$a->strings['Disable this rule'] = 'عطّل القاعدة';
|
||||
$a->strings['Enable this rule'] = 'فعّل القاعدة';
|
||||
$a->strings['Edit this rule'] = 'عدّل هذه القاعدة';
|
||||
$a->strings['Edit the rule'] = 'عدّل القاعدة';
|
||||
$a->strings['Save this rule'] = 'احفظ هذه القاعدة';
|
||||
$a->strings['Delete this rule'] = 'احذف هذه القاعدة';
|
||||
$a->strings['Rule'] = 'القاعدة';
|
||||
$a->strings['Close'] = 'اغلق';
|
||||
$a->strings['Add new rule'] = 'أضف قاعدة جديدة';
|
||||
$a->strings['Rule Name'] = 'اسم القاعدة';
|
||||
$a->strings['Rule Expression'] = 'تعبير القاعدة';
|
||||
$a->strings['Cancel'] = 'الغ';
|
||||
$a->strings['You must be logged in to use this method'] = 'عليك الولوج لاستخدام هذه الطريقة';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة.';
|
||||
$a->strings['The rule name and expression are required.'] = 'يلزم اسم وتعبير للقاعدة.';
|
||||
$a->strings['Rule successfully added'] = 'نجحت إضافة القاعدة';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'القاعدة غير موجودة أو لا تنتمي إليك.';
|
||||
$a->strings['Rule successfully updated'] = 'نجح تحديث القاعدة';
|
||||
$a->strings['Rule successfully deleted'] = 'نجح حذف القاعدة';
|
||||
$a->strings['Missing argument: guid.'] = 'معامل ناقص: دليل.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'مشاركة غير معروفة ذات الدليل: 1%s';
|
||||
$a->strings['Method not found'] = 'لم يُعثر على التطبيق';
|
177
advancedcontentfilter/lang/ca/messages.po
Normal file
177
advancedcontentfilter/lang/ca/messages.po
Normal file
|
@ -0,0 +1,177 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Joan Bar <friendica@tutanota.com>, 2019
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Joan Bar <friendica@tutanota.com>, 2019\n"
|
||||
"Language-Team: Catalan (https://www.transifex.com/Friendica/teams/12172/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrat per regla: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Contingut avançat Filtre"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Torna Addon Configuració"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Afegiu una regla"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Ajuda"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"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>."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Les seves normes"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Encara no teniu normes. Comenceu a afegir-ne un fent clic al botó situat al "
|
||||
"costat del títol."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivat"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Permetre"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Desactiva aquesta regla"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activa aquesta regla"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Edita aquesta regla"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Edita la regla"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Deseu aquesta regla"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Suprimeix aquesta regla"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Regla"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Tancar"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Add nova regla"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Nom de la regla"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expressió de regla"
|
||||
|
||||
#: 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>Exemples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "cancel·lar"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Per utilitzar aquest mètode, heu d’iniciar sessió"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
"El testimoni de seguretat del formulari no és vàlid. Actualitza la pàgina"
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "El nom i l’expressió de la regla són obligatoris"
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "La regla s'ha afegit correctament"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "La regla no existeix o no us pertany."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "La regla s'ha actualitzat correctament"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "S'ha suprimit la regla correctament"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Falta un argument: guia"
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Publicació desconeguda amb guia: %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Mètode no trobat"
|
40
advancedcontentfilter/lang/ca/strings.php
Normal file
40
advancedcontentfilter/lang/ca/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ca")) {
|
||||
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['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';
|
172
advancedcontentfilter/lang/cs/messages.po
Normal file
172
advancedcontentfilter/lang/cs/messages.po
Normal file
|
@ -0,0 +1,172 @@
|
|||
# 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: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Aditoo, 2018\n"
|
||||
"Language-Team: Czech (https://www.transifex.com/Friendica/teams/12172/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrováno podle pravidla: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Rozšířený filtr obsahu"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Zpět na nastavení doplňku"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Přidat pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Nápověda"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"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>."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Vaše pravidla"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Ještě nemáte žádná pravidla! Přidejte první kliknutím na tlačítko nahoře "
|
||||
"vedle nadpisu."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázáno"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Povoleno"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Zakázat toto pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Povolit toto pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Upravit toto pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Upravit pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Uložit toto pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Smazat toto pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Přidat nové pravidlo"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Název pravidla"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Výraz pravidla"
|
||||
|
||||
#: 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říklady:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Pro použití této metody musíte být přihlášen/a"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Neplatná forma bezpečnostního tokenu, prosím obnovte stránku."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Je požadován název pravidla a výraz."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Pravidlo úspěšně přidáno"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Pravidlo buď neexistuje, nebo Vám nepatří."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Pravidlo úspěšně aktualizováno"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Pravidlo úspěšně smazáno"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Chybí argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Neznámý pžíspěvek s číslem guid: %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Metoda nenalezena"
|
40
advancedcontentfilter/lang/cs/strings.php
Normal file
40
advancedcontentfilter/lang/cs/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_cs")) {
|
||||
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['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';
|
157
advancedcontentfilter/lang/da-dk/messages.po
Normal file
157
advancedcontentfilter/lang/da-dk/messages.po
Normal file
|
@ -0,0 +1,157 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Language-Team: Danish (Denmark) (https://www.transifex.com/Friendica/teams/12172/da_DK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da_DK\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
|
||||
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
|
||||
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:338 advancedcontentfilter.php:374
|
||||
#: advancedcontentfilter.php:405
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:350
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:364
|
||||
msgid "Rule successfully added"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:395
|
||||
msgid "Rule successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:428
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:436
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
7
advancedcontentfilter/lang/da-dk/strings.php
Normal file
7
advancedcontentfilter/lang/da-dk/strings.php
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_da_dk")) {
|
||||
function string_plural_select_da_dk($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
175
advancedcontentfilter/lang/de/messages.po
Normal file
175
advancedcontentfilter/lang/de/messages.po
Normal file
|
@ -0,0 +1,175 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Ulf Rompe <transifex.com@rompe.org>, 2019
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: 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"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Nach dieser Regel gefiltert: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Erweiterter Inhaltsfilter"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Zurück zu den Addon Einstellungen"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Eine Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
|
||||
#: 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 ""
|
||||
"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."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Deine Regeln"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen,"
|
||||
" verwende bitte den Button neben dem Titel."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diese Regel deaktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Diese Regel aktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Diese Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Die Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Regel speichern"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Diese Regel löschen"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Neue Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Name der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Ausdruck der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: 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: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:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Der Name der Regel und der Ausdruck sind erforderlich."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regel erfolgreich hinzugefügt."
|
||||
|
||||
#: 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:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regel wurde erfolgreich aktualisiert."
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regel erfolgreich gelöscht."
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Fehlendes Argument: guid."
|
||||
|
||||
#: 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"
|
40
advancedcontentfilter/lang/de/strings.php
Normal file
40
advancedcontentfilter/lang/de/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$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';
|
175
advancedcontentfilter/lang/en-gb/messages.po
Normal file
175
advancedcontentfilter/lang/en-gb/messages.po
Normal file
|
@ -0,0 +1,175 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Andy H3 <andy@hubup.pro>, 2019
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Andy H3 <andy@hubup.pro>, 2019\n"
|
||||
"Language-Team: English (United Kingdom) (https://www.transifex.com/Friendica/teams/12172/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en_GB\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtered by rule: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Advanced Content Filter"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Back to addon settings"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Add a rule"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"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>."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Your rules"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Disabled"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Enabled"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Disable this rule"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Enable this rule"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Edit this rule"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Edit the rule"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Save this rule"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Delete this rule"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Rule"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Add new rule"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Rule name"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Rule expression"
|
||||
|
||||
#: 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>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "You must be logged in to use this method"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Invalid form security token, please refresh the page."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "The rule name and expression are required."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Rule successfully added"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Rule doesn't exist or doesn't belong to you."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Rule successfully updated"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Rule successfully deleted"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Missing argument: Global Unique Identifier (GUID)."
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Unknown post with Global Unique Identifier (GUID): %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Method not found"
|
40
advancedcontentfilter/lang/en-gb/strings.php
Normal file
40
advancedcontentfilter/lang/en-gb/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_en_gb")) {
|
||||
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['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';
|
173
advancedcontentfilter/lang/es/messages.po
Normal file
173
advancedcontentfilter/lang/es/messages.po
Normal file
|
@ -0,0 +1,173 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Albert, 2018
|
||||
# Yasmine A <yasmine.elachkar@gmail.com>, 2018
|
||||
# Julio Cova, 2019
|
||||
# Boris Daniel Martinez Millàn <borisdanielmartinezmillan@gmail.com>, 2021
|
||||
# Senex Petrovic <javierruizo@hotmail.com>, 2021
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Senex Petrovic <javierruizo@hotmail.com>, 2021\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/Friendica/teams/12172/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Método no encontrado"
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrado por la regla: %s"
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtro de contenido avanzado"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Volver a Ajustes de Complemento"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Add a Rule"
|
||||
msgstr "Añadir una regla"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid "Help"
|
||||
msgstr "Ayuda"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Agregue y administre sus reglas de filtrado de contenido personal en esta "
|
||||
"pantalla. Las reglas tienen un nombre y una expresión arbitraria que se "
|
||||
"comparará con los datos de la publicación. Para obtener una referencia "
|
||||
"completa de las operaciones y variables disponibles, consulte la página de "
|
||||
"ayuda."
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Your rules"
|
||||
msgstr "Tus reglas"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de "
|
||||
"arriba al lado del título. "
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Disable this rule"
|
||||
msgstr "Desactivar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Edit this rule"
|
||||
msgstr "Editar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Edit the rule"
|
||||
msgstr "Editar regla"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Save this rule"
|
||||
msgstr "Guardar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Delete this rule"
|
||||
msgstr "Borrar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule"
|
||||
msgstr "Regla"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid "Add new rule"
|
||||
msgstr "Agregar nueva regla"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Rule Name"
|
||||
msgstr "Nombre de la regla"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expresión de la regla"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Debe estar registrado para usar este método"
|
||||
|
||||
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
"Token de seguridad de formulario inválido, por favor actualice la página."
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "El nombre y la expresión de la regla son obligatorios."
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regla añadida exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "La regla no existe o no te pertenece."
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regla actualizada exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regla eliminada exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Algumento faltante: guía"
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Publicacion desconocida con la guía: %s"
|
39
advancedcontentfilter/lang/es/strings.php
Normal file
39
advancedcontentfilter/lang/es/strings.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Method not found'] = 'Método no encontrado';
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrado por la regla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtro de contenido avanzado';
|
||||
$a->strings['Back to Addon Settings'] = 'Volver a Ajustes de Complemento';
|
||||
$a->strings['Add a Rule'] = 'Añadir una regla';
|
||||
$a->strings['Help'] = 'Ayuda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Agregue y administre sus reglas de filtrado de contenido personal en esta pantalla. Las reglas tienen un nombre y una expresión arbitraria que se comparará con los datos de la publicación. Para obtener una referencia completa de las operaciones y variables disponibles, consulte la página de ayuda.';
|
||||
$a->strings['Your rules'] = 'Tus reglas';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de arriba al lado del título. ';
|
||||
$a->strings['Disabled'] = 'Desactivado';
|
||||
$a->strings['Enabled'] = 'Activado';
|
||||
$a->strings['Disable this rule'] = 'Desactivar esta regla';
|
||||
$a->strings['Enable this rule'] = 'Activar esta regla';
|
||||
$a->strings['Edit this rule'] = 'Editar esta regla';
|
||||
$a->strings['Edit the rule'] = 'Editar regla';
|
||||
$a->strings['Save this rule'] = 'Guardar esta regla';
|
||||
$a->strings['Delete this rule'] = 'Borrar esta regla';
|
||||
$a->strings['Rule'] = 'Regla';
|
||||
$a->strings['Close'] = 'Cerrar';
|
||||
$a->strings['Add new rule'] = 'Agregar nueva regla';
|
||||
$a->strings['Rule Name'] = 'Nombre de la regla';
|
||||
$a->strings['Rule Expression'] = 'Expresión de la regla';
|
||||
$a->strings['Cancel'] = 'Cancelar';
|
||||
$a->strings['You must be logged in to use this method'] = 'Debe estar registrado para usar este método';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token de seguridad de formulario inválido, por favor actualice la página.';
|
||||
$a->strings['The rule name and expression are required.'] = 'El nombre y la expresión de la regla son obligatorios.';
|
||||
$a->strings['Rule successfully added'] = 'Regla añadida exitosamente';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existe o no te pertenece.';
|
||||
$a->strings['Rule successfully updated'] = 'Regla actualizada exitosamente';
|
||||
$a->strings['Rule successfully deleted'] = 'Regla eliminada exitosamente';
|
||||
$a->strings['Missing argument: guid.'] = 'Algumento faltante: guía';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Publicacion desconocida con la guía: %s';
|
164
advancedcontentfilter/lang/fi/messages.po
Normal file
164
advancedcontentfilter/lang/fi/messages.po
Normal file
|
@ -0,0 +1,164 @@
|
|||
# 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: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Kris, 2018\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/Friendica/teams/12172/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi_FI\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Lisää sääntö"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Sääntösi"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Ei käytössä"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Käytössä"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Ota tämä sääntö käyttöön"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Muokkaa tätä sääntöä"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Muokkaa sääntöä"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Tallenna tämä sääntö"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Poista tämä sääntö"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Sääntö"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Lisää uusi sääntö"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Sääntö lisätty"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Sääntö päivitetty"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Sääntö poistettu"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
22
advancedcontentfilter/lang/fi/strings.php
Normal file
22
advancedcontentfilter/lang/fi/strings.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fi")) {
|
||||
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';
|
177
advancedcontentfilter/lang/fr/messages.po
Normal file
177
advancedcontentfilter/lang/fr/messages.po
Normal file
|
@ -0,0 +1,177 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Marie Olive <lacellule101@gmail.com>, 2018
|
||||
# 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: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\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=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtré par règle:%s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtre avancé de contenu"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Retour aux paramètres de l'extension"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Ajouter une règle"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: 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 ""
|
||||
"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."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Vos règles"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-"
|
||||
"dessus près du titre"
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Désactiver cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifier cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifier la règle"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Enregistrer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Supprimer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Règle"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Ajouter nouvelle règle"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nommer règle"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expression de règle"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: 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: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:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Le nom et l'expression de cette règle sont requis"
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Règle bien ajoutée"
|
||||
|
||||
#: 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:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Règle bien mise à jour"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Règle bien supprimée"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument manquant: "
|
||||
|
||||
#: 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"
|
40
advancedcontentfilter/lang/fr/strings.php
Normal file
40
advancedcontentfilter/lang/fr/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
$n = intval($n);
|
||||
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
|
||||
$a->strings['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';
|
173
advancedcontentfilter/lang/hu/messages.po
Normal file
173
advancedcontentfilter/lang/hu/messages.po
Normal file
|
@ -0,0 +1,173 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2022\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/Friendica/teams/12172/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Szűrve a szabály alapján: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Speciális tartalomszűrő"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Vissza a bővítménybeállításokhoz"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Súgó"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A"
|
||||
" szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés "
|
||||
"adataira lesz illesztve. Az elérhető műveletek és változók teljes "
|
||||
"hivatkozásáért nézze meg a súgóoldalt."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Az Ön szabályai"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett "
|
||||
"lévő fenti gombra kattintva."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Letiltva"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Engedélyezve"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "A szabály letiltása"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "A szabály engedélyezése"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "A szabály mentése"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "A szabály törlése"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Szabály"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Új szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Szabály neve"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Szabály kifejezése"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy "
|
||||
"bejegyzése legyen"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Bejelentkezve kell lennie a módszer használatához"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Érvénytelen űrlap biztonsági token. Frissítse az oldalt."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "A szabály neve és kifejezése kötelező."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "A szabály sikeresen hozzáadva"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "A szabály nem létezik vagy nem Önhöz tatozik."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "A szabály sikeresen frissítve"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "A szabály sikeresen törölve"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Hiányzó argumentum: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Ismeretlen bejegyzés a következő guid azonosítóval: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "A módszer nem található"
|
40
advancedcontentfilter/lang/hu/strings.php
Normal file
40
advancedcontentfilter/lang/hu/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_hu")) {
|
||||
function string_plural_select_hu($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Szűrve a szabály alapján: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Speciális tartalomszűrő';
|
||||
$a->strings['Back to Addon Settings'] = 'Vissza a bővítménybeállításokhoz';
|
||||
$a->strings['Add a Rule'] = 'Szabály hozzáadása';
|
||||
$a->strings['Help'] = 'Súgó';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés adataira lesz illesztve. Az elérhető műveletek és változók teljes hivatkozásáért nézze meg a súgóoldalt.';
|
||||
$a->strings['Your rules'] = 'Az Ön szabályai';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett lévő fenti gombra kattintva.';
|
||||
$a->strings['Disabled'] = 'Letiltva';
|
||||
$a->strings['Enabled'] = 'Engedélyezve';
|
||||
$a->strings['Disable this rule'] = 'A szabály letiltása';
|
||||
$a->strings['Enable this rule'] = 'A szabály engedélyezése';
|
||||
$a->strings['Edit this rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Edit the rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Save this rule'] = 'A szabály mentése';
|
||||
$a->strings['Delete this rule'] = 'A szabály törlése';
|
||||
$a->strings['Rule'] = 'Szabály';
|
||||
$a->strings['Close'] = 'Bezárás';
|
||||
$a->strings['Add new rule'] = 'Új szabály hozzáadása';
|
||||
$a->strings['Rule Name'] = 'Szabály neve';
|
||||
$a->strings['Rule Expression'] = 'Szabály kifejezése';
|
||||
$a->strings['Cancel'] = 'Mégse';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy bejegyzése legyen';
|
||||
$a->strings['You must be logged in to use this method'] = 'Bejelentkezve kell lennie a módszer használatához';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Érvénytelen űrlap biztonsági token. Frissítse az oldalt.';
|
||||
$a->strings['The rule name and expression are required.'] = 'A szabály neve és kifejezése kötelező.';
|
||||
$a->strings['Rule successfully added'] = 'A szabály sikeresen hozzáadva';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'A szabály nem létezik vagy nem Önhöz tatozik.';
|
||||
$a->strings['Rule successfully updated'] = 'A szabály sikeresen frissítve';
|
||||
$a->strings['Rule successfully deleted'] = 'A szabály sikeresen törölve';
|
||||
$a->strings['Missing argument: guid.'] = 'Hiányzó argumentum: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Ismeretlen bejegyzés a következő guid azonosítóval: %s';
|
||||
$a->strings['Method not found'] = 'A módszer nem található';
|
172
advancedcontentfilter/lang/it/messages.po
Normal file
172
advancedcontentfilter/lang/it/messages.po
Normal file
|
@ -0,0 +1,172 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2018
|
||||
# Sylke Vicious <silkevicious@gmail.com>, 2021
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Sylke Vicious <silkevicious@gmail.com>, 2021\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/Friendica/teams/12172/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrato dalla regola: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtro Avanzato Contenuti"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Torna alle impostazioni del componente aggiuntivo"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Aggiungi una regola"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
|
||||
#: 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 ""
|
||||
"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."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Le tue regole"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui "
|
||||
"sopra a fianco al titolo."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Disabilitato"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Abilitato"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diabilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Abilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifica questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifica la regola"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Salva questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Elimina questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regola"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Aggiungi nuova regola"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nome Regola"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Espressione Regola"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Devi essere autenticato per usare questo metodo"
|
||||
|
||||
#: advancedcontentfilter.php: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:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Il nome e l'espressione della regola sono richiesti."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regola aggiunta con successo"
|
||||
|
||||
#: 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:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regola aggiornata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regola eliminata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argomento mancante: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Messaggio con guid %s sconosciuto"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Metodo non trovato"
|
39
advancedcontentfilter/lang/it/strings.php
Normal file
39
advancedcontentfilter/lang/it/strings.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
$n = intval($n);
|
||||
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['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un\'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni e variabili disponibili, controlla la pagina di aiuto.';
|
||||
$a->strings['Your rules'] = 'Le tue regole';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui sopra a fianco al titolo.';
|
||||
$a->strings['Disabled'] = 'Disabilitato';
|
||||
$a->strings['Enabled'] = 'Abilitato';
|
||||
$a->strings['Disable this rule'] = 'Diabilita questa regola';
|
||||
$a->strings['Enable this rule'] = 'Abilita questa regola';
|
||||
$a->strings['Edit this rule'] = 'Modifica questa regola';
|
||||
$a->strings['Edit the rule'] = 'Modifica la regola';
|
||||
$a->strings['Save this rule'] = 'Salva questa regola';
|
||||
$a->strings['Delete this rule'] = 'Elimina questa regola';
|
||||
$a->strings['Rule'] = 'Regola';
|
||||
$a->strings['Close'] = 'Chiudi';
|
||||
$a->strings['Add new rule'] = 'Aggiungi nuova regola';
|
||||
$a->strings['Rule Name'] = 'Nome Regola';
|
||||
$a->strings['Rule Expression'] = 'Espressione Regola';
|
||||
$a->strings['Cancel'] = 'Annulla';
|
||||
$a->strings['You must be logged in to use this method'] = 'Devi essere autenticato per usare questo metodo';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token di sicurezza invalido, aggiorna la pagina.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Il nome e l\'espressione della regola sono richiesti.';
|
||||
$a->strings['Rule successfully added'] = 'Regola aggiunta con successo';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regola non esiste o non ti appartiene.';
|
||||
$a->strings['Rule successfully updated'] = 'Regola aggiornata con successo';
|
||||
$a->strings['Rule successfully deleted'] = 'Regola eliminata con successo';
|
||||
$a->strings['Missing argument: guid.'] = 'Argomento mancante: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Messaggio con guid %s sconosciuto';
|
||||
$a->strings['Method not found'] = 'Metodo non trovato';
|
178
advancedcontentfilter/lang/nl/messages.po
Normal file
178
advancedcontentfilter/lang/nl/messages.po
Normal file
|
@ -0,0 +1,178 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Rik 4 <rikviergever@hotmail.com>, 2018
|
||||
# AgnesElisa <agneselisa@disroot.org>, 2018
|
||||
# Jeroen De Meerleer <me@jeroened.be>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Jeroen De Meerleer <me@jeroened.be>, 2018\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/Friendica/teams/12172/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Gefilterd volgens regel: %s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Geavanceerd filter voor berichtsinhoud"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Terug naar Addon instellingen"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Filterregel toevoegen"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"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>."
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Jouw regels"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Je hebt nog geen regels! Klik op de knop bovenin naast de titel om een regel"
|
||||
" toe te voegen."
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Uitgeschakeld"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Geactiveerd"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Deze regel uitschakelen"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Deze regel inschakelen"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Regel bewerken"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Regel bewerken"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Deze regel opslaan"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Deze regel verwijderen"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Voeg nieuwe regel toe"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Regel naam"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Regel bewoording"
|
||||
|
||||
#: 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>Voorbeelden:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>label</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Je moet ingelogd zijn om deze methode te gebruiken"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b."
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "De regelnaam en bewoording zijn vereist."
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regel succesvol toegevoegd"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Deze regel bestaat niet, of is niet van jou."
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regel succesvol opgeslagen"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regel succesvol verwijderd"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Parameter guid niet aanwezig"
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Onbekend bericht met guid: %s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Methode niet gevonden"
|
40
advancedcontentfilter/lang/nl/strings.php
Normal file
40
advancedcontentfilter/lang/nl/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_nl")) {
|
||||
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['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';
|
173
advancedcontentfilter/lang/pl/messages.po
Normal file
173
advancedcontentfilter/lang/pl/messages.po
Normal file
|
@ -0,0 +1,173 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# 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: 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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr " Filtruj według reguły: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Zaawansowany filtr zawartości"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Powrót do ustawień dodatków"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Dodaj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#: 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 ""
|
||||
"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:229
|
||||
msgid "Your rules"
|
||||
msgstr "Twoje zasady"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk "
|
||||
"znajdujący się nad tytułem."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłącz"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Włącz"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Wyłącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Włącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Edytuj tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Edytuj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Zapisz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Usuń tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Reguła"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Dodaj nową regułę"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Nazwa reguły"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Wyrażanie reguły"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: 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: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:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Nazwa reguły i wyrażenie są wymagane."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Reguła została pomyślnie dodana"
|
||||
|
||||
#: 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:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Reguła została pomyślnie zaktualizowana"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Reguła została pomyślnie usunięta"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Brakujący argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Nieznany post z guid:%s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Nie znaleziono metody"
|
40
advancedcontentfilter/lang/pl/strings.php
Normal file
40
advancedcontentfilter/lang/pl/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_pl")) {
|
||||
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['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';
|
173
advancedcontentfilter/lang/ru/messages.po
Normal file
173
advancedcontentfilter/lang/ru/messages.po
Normal file
|
@ -0,0 +1,173 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Alexey Adamov <2077@tutanota.com>, 2019
|
||||
# Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020
|
||||
# Alexander An <ravnina@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Alexander An <ravnina@gmail.com>, 2022\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/Friendica/teams/12172/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Отфильтровано по правилу: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Расширенный фильтр содержимого"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Вернуться к настройкам дополнений"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Добавить правило"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Помощь"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Добавляйте и управляйте своими собственными фильтрами на этой странице. У "
|
||||
"правил есть имя и произвольное выражение, которое будет сопоставляться с "
|
||||
"данными поста. Для полной ссылки на доступные операции и переменные, "
|
||||
"посмотрите страницу справки."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Ваши правила"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку "
|
||||
"выше, рядом с названием."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Отключено"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Включено"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Отключить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Включить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Изменить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Изменить правило"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Сохранить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Удалить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Правило"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Добавить новое правило"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Название правила"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Содержание правила"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Это дополнение требует наличия хотя бы одной записи на этом узле."
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Вы должны авторизоваться для использования этого метода"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Неверный ключ, пожалуйста, перезагрузите страницу"
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Требуется ввести название и значение правила."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Правило успешно добавлено"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Правило не найдено или доступ к нему закрыт"
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Правило успешно обновлено"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Правило успешно удалено"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Отсутствующий аргумент: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Неизвестный пост в ID: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Метод не найден"
|
40
advancedcontentfilter/lang/ru/strings.php
Normal file
40
advancedcontentfilter/lang/ru/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ru")) {
|
||||
function string_plural_select_ru($n){
|
||||
$n = intval($n);
|
||||
if ($n%10==1 && $n%100!=11) { return 0; } else if ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14)) { return 1; } else if ($n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Отфильтровано по правилу: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Расширенный фильтр содержимого';
|
||||
$a->strings['Back to Addon Settings'] = 'Вернуться к настройкам дополнений';
|
||||
$a->strings['Add a Rule'] = 'Добавить правило';
|
||||
$a->strings['Help'] = 'Помощь';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Добавляйте и управляйте своими собственными фильтрами на этой странице. У правил есть имя и произвольное выражение, которое будет сопоставляться с данными поста. Для полной ссылки на доступные операции и переменные, посмотрите страницу справки.';
|
||||
$a->strings['Your rules'] = 'Ваши правила';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку выше, рядом с названием.';
|
||||
$a->strings['Disabled'] = 'Отключено';
|
||||
$a->strings['Enabled'] = 'Включено';
|
||||
$a->strings['Disable this rule'] = 'Отключить это правило';
|
||||
$a->strings['Enable this rule'] = 'Включить это правило';
|
||||
$a->strings['Edit this rule'] = 'Изменить это правило';
|
||||
$a->strings['Edit the rule'] = 'Изменить правило';
|
||||
$a->strings['Save this rule'] = 'Сохранить это правило';
|
||||
$a->strings['Delete this rule'] = 'Удалить это правило';
|
||||
$a->strings['Rule'] = 'Правило';
|
||||
$a->strings['Close'] = 'Закрыть';
|
||||
$a->strings['Add new rule'] = 'Добавить новое правило';
|
||||
$a->strings['Rule Name'] = 'Название правила';
|
||||
$a->strings['Rule Expression'] = 'Содержание правила';
|
||||
$a->strings['Cancel'] = 'Отмена';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Это дополнение требует наличия хотя бы одной записи на этом узле.';
|
||||
$a->strings['You must be logged in to use this method'] = 'Вы должны авторизоваться для использования этого метода';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Неверный ключ, пожалуйста, перезагрузите страницу';
|
||||
$a->strings['The rule name and expression are required.'] = 'Требуется ввести название и значение правила.';
|
||||
$a->strings['Rule successfully added'] = 'Правило успешно добавлено';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Правило не найдено или доступ к нему закрыт';
|
||||
$a->strings['Rule successfully updated'] = 'Правило успешно обновлено';
|
||||
$a->strings['Rule successfully deleted'] = 'Правило успешно удалено';
|
||||
$a->strings['Missing argument: guid.'] = 'Отсутствующий аргумент: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Неизвестный пост в ID: %s';
|
||||
$a->strings['Method not found'] = 'Метод не найден';
|
172
advancedcontentfilter/lang/sv/messages.po
Normal file
172
advancedcontentfilter/lang/sv/messages.po
Normal file
|
@ -0,0 +1,172 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# 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: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrerat efter regel: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Avancerat innehållsfiter"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "TIllbaka till Tilläggsinställningar"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Lägg till en regel"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Hjälp"
|
||||
|
||||
#: 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 ""
|
||||
"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>."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Dina regler"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför,"
|
||||
" bredvid överskriften."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Inaktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Inaktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Aktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Spara den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Ta bort den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Lägg till ny regel"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Regelnamn"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Regeluttryck"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: 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: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:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Regelns namn och uttryck krävs."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regeln kunde läggas till"
|
||||
|
||||
#: 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:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Uppdatering av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Borttagning av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument saknas: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Okänt inlägg med guid: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Metod hittades inte"
|
40
advancedcontentfilter/lang/sv/strings.php
Normal file
40
advancedcontentfilter/lang/sv/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_sv")) {
|
||||
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['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';
|
171
advancedcontentfilter/lang/zh-cn/messages.po
Normal file
171
advancedcontentfilter/lang/zh-cn/messages.po
Normal file
|
@ -0,0 +1,171 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Tom <hxxtom@gmail.com>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Tom <hxxtom@gmail.com>, 2020\n"
|
||||
"Language-Team: Chinese (China) (https://www.transifex.com/Friendica/teams/12172/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "通过规则过滤:%s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "高级内容过滤"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "返回扩展设置"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "添加规则"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "帮助"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a "
|
||||
"href=\"advancedcontentfilter/help\">帮助页面</a>。"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "你的规则"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr "你还没有规则!点击标题上方的按钮开始新增规则。"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "禁用"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "启用"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "禁用此规则"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "启用此规则"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "编辑此规则"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "编辑规则"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "保存规则"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "删除此规则"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "规则"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "新增规则"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "规则名"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "规则表达式"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>例子:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "使用此模式您必须先登录。"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "无效的安全令牌,请刷新页面。"
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "规则名和表达式必填。"
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "规则添加成功。"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "规则不存在或不属于你。"
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "规则更新成功"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "规则删除成功"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "缺少参数:guid。"
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "未知帖子 guid:%s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "未找到模式"
|
40
advancedcontentfilter/lang/zh-cn/strings.php
Normal file
40
advancedcontentfilter/lang/zh-cn/strings.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_zh_cn")) {
|
||||
function string_plural_select_zh_cn($n){
|
||||
$n = intval($n);
|
||||
return intval(0);
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = '通过规则过滤:%s';
|
||||
$a->strings['Advanced Content Filter'] = '高级内容过滤';
|
||||
$a->strings['Back to Addon Settings'] = '返回扩展设置';
|
||||
$a->strings['Add a Rule'] = '添加规则';
|
||||
$a->strings['Help'] = '帮助';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = '在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a href="advancedcontentfilter/help">帮助页面</a>。';
|
||||
$a->strings['Your rules'] = '你的规则';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '你还没有规则!点击标题上方的按钮开始新增规则。';
|
||||
$a->strings['Disabled'] = '禁用';
|
||||
$a->strings['Enabled'] = '启用';
|
||||
$a->strings['Disable this rule'] = '禁用此规则';
|
||||
$a->strings['Enable this rule'] = '启用此规则';
|
||||
$a->strings['Edit this rule'] = '编辑此规则';
|
||||
$a->strings['Edit the rule'] = '编辑规则';
|
||||
$a->strings['Save this rule'] = '保存规则';
|
||||
$a->strings['Delete this rule'] = '删除此规则';
|
||||
$a->strings['Rule'] = '规则';
|
||||
$a->strings['Close'] = '关闭';
|
||||
$a->strings['Add new rule'] = '新增规则';
|
||||
$a->strings['Rule Name'] = '规则名';
|
||||
$a->strings['Rule Expression'] = '规则表达式';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>例子:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = '取消';
|
||||
$a->strings['You must be logged in to use this method'] = '使用此模式您必须先登录。';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = '无效的安全令牌,请刷新页面。';
|
||||
$a->strings['The rule name and expression are required.'] = '规则名和表达式必填。';
|
||||
$a->strings['Rule successfully added'] = '规则添加成功。';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = '规则不存在或不属于你。';
|
||||
$a->strings['Rule successfully updated'] = '规则更新成功';
|
||||
$a->strings['Rule successfully deleted'] = '规则删除成功';
|
||||
$a->strings['Missing argument: guid.'] = '缺少参数:guid。';
|
||||
$a->strings['Unknown post with guid: %s'] = '未知帖子 guid:%s';
|
||||
$a->strings['Method not found'] = '未找到模式';
|
32
advancedcontentfilter/src/middlewares.php
Normal file
32
advancedcontentfilter/src/middlewares.php
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2020, Friendica
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\DI;
|
||||
|
||||
/** @var $slim \Slim\App */
|
||||
|
||||
/**
|
||||
* The routing middleware should be added before the ErrorMiddleware
|
||||
* Otherwise exceptions thrown from it will not be handled
|
||||
*/
|
||||
$slim->addRoutingMiddleware();
|
||||
|
||||
$errorMiddleware = $slim->addErrorMiddleware(true, true, true, DI::logger());
|
36
advancedcontentfilter/src/routes.php
Normal file
36
advancedcontentfilter/src/routes.php
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2020, Friendica
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/* @var $slim Slim\App */
|
||||
$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');
|
||||
|
||||
$app->get('/{id}', 'advancedcontentfilter_get_rules_id');
|
||||
$app->put('/{id}', 'advancedcontentfilter_put_rules_id');
|
||||
$app->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
|
||||
});
|
||||
|
||||
$app->group('/variables', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
|
||||
});
|
||||
});
|
96
advancedcontentfilter/templates/advancedcontentfilter.vue
Normal file
96
advancedcontentfilter/templates/advancedcontentfilter.vue
Normal file
|
@ -0,0 +1,96 @@
|
|||
<!--
|
||||
This the the source HTML for the render functions defined in advancedcontentfilter.js
|
||||
This file is only for reference only and editing it won't change the addon display.
|
||||
Here's the workflow to change the actual display:
|
||||
1. Edit this file
|
||||
2. Run it through https://vuejs.org/v2/guide/render-function.html#Template-Compilation
|
||||
3. Replace the render and staticRenderFns members in advancedcontentfilter.js by the contents of the anonymous() functions
|
||||
-->
|
||||
<div id="rules">
|
||||
<p><a href="settings/addons">🔙 {{ messages.backtosettings }}</a></p>
|
||||
<h1>
|
||||
{{ messages.title }}
|
||||
|
||||
<a href="advancedcontentfilter/help" class="btn btn-default btn-sm" :title="messages.help">
|
||||
<i class="fa fa-question fa-2x" aria-hidden="true"></i>
|
||||
</a>
|
||||
</h1>
|
||||
<div>{{ messages.intro }}</div>
|
||||
<h2>
|
||||
{{ messages.your_rules }}
|
||||
|
||||
<button class="btn btn-primary btn-sm" :title="messages.add_a_rule" @click="showModal = true">
|
||||
<i class="fa fa-plus fa-2x" aria-hidden="true"></i>
|
||||
</button>
|
||||
</h2>
|
||||
<div v-if="rules.length === 0" v-cloak>
|
||||
{{ messages.no_rules }}
|
||||
</div>
|
||||
|
||||
<ul class="list-group" v-cloak>
|
||||
<li class="list-group-item" v-for="rule in rules">
|
||||
<p class="pull-right">
|
||||
<button type="button" class="btn btn-xs btn-primary" v-on:click="toggleActive(rule)" :aria-label="messages.disable_this_rule" :title="messages.disable_this_rule" v-if="parseInt(rule.active)">
|
||||
<i class="fa fa-toggle-on" aria-hidden="true"></i> {{ messages.enabled }}
|
||||
</button>
|
||||
<button type="button" class="btn btn-xs btn-default" v-on:click="toggleActive(rule)" :aria-label="messages.enable_this_rule" :title="messages.enable_this_rule" v-else>
|
||||
<i class="fa fa-toggle-off" aria-hidden="true"></i> {{ messages.disabled }}
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-xs btn-primary" v-on:click="editRule(rule)" :aria-label="messages.edit_this_rule" :title="messages.edit_this_rule">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-xs btn-default" v-on:click="deleteRule(rule)" :aria-label="messages.delete_this_rule" :title="messages.delete_this_rule">
|
||||
<i class="fa fa-trash-o" aria-hidden="true"></i>
|
||||
</button>
|
||||
</p>
|
||||
<h3 class="list-group-item-heading">
|
||||
{{ messages.rule }} #{{ rule.id }}: {{ rule.name }}
|
||||
</h3>
|
||||
<pre class="list-group-item-text" v-if="rule.expression">{{ rule.expression }}</pre>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="modal fade" ref="vuemodal" tabindex="-1" role="dialog" v-cloak>
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" :aria-label="messages.close" @click="showModal = false" v-if="currentTheme === 'frio'"><span aria-hidden="true">×</span></button>
|
||||
<h3 v-if="rule.id">{{ messages.edit_the_rule }} "{{ rule.name }}"</h3>
|
||||
<h3 v-if="!rule.id">{{ messages.add_a_rule }}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form>
|
||||
<div class="alert alert-danger" role="alert" v-if="errorMessage">{{ errorMessage }}</div>
|
||||
<div class="form-group">
|
||||
<input class="form-control" :placeholder="messages.rule_name" v-model="rule.name">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="form-control" :placeholder="messages.rule_expression" v-model="rule.expression">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal" aria-label="Close" @click="resetForm()">{{ messages.cancel }}</button>
|
||||
<button slot="button" class="btn btn-primary" type="button" v-if="rule.id" v-on:click="saveRule(rule)">{{ messages.save_this_rule }}</button>
|
||||
<button slot="button" class="btn btn-primary" type="button" v-if="!rule.id" v-on:click="addRule()">{{ messages.add_a_rule }}</button>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal -->
|
||||
|
||||
<form class="form-inline" v-on:submit.prevent="showVariables()">
|
||||
<fieldset>
|
||||
<legend>Show post variables</legend>
|
||||
<div class="form-group" style="width: 50%">
|
||||
<label for="itemUrl" class="sr-only">Post URL or item guid</label>
|
||||
<input class="form-control" id="itemUrl" placeholder="Post URL or item guid" v-model="itemUrl" style="width: 100%">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Show Variables</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<pre v-cloak>
|
||||
{{ itemJson }}
|
||||
</pre>
|
||||
</div>
|
22
advancedcontentfilter/templates/settings.tpl
Normal file
22
advancedcontentfilter/templates/settings.tpl
Normal file
|
@ -0,0 +1,22 @@
|
|||
<div id="adminpage">
|
||||
<style>[v-cloak] { display: none; }</style>
|
||||
<div id="rules"></div>
|
||||
|
||||
<script>
|
||||
var existingRules = {{$rules|json_encode nofilter}};
|
||||
|
||||
var messages = {
|
||||
{{foreach $messages as $key => $value}}
|
||||
{{$key}}: "{{$value}}",
|
||||
{{/foreach}}
|
||||
};
|
||||
|
||||
var csrfToken = "{{$form_security_token}}";
|
||||
|
||||
var currentTheme = "{{$current_theme}}";
|
||||
</script>
|
||||
|
||||
<!-- JS -->
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script>
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script>
|
||||
</div>
|
7
advancedcontentfilter/vendor/autoload.php
vendored
Normal file
7
advancedcontentfilter/vendor/autoload.php
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitAdvancedContentFilterAddon::getLoader();
|
445
advancedcontentfilter/vendor/composer/ClassLoader.php
vendored
Normal file
445
advancedcontentfilter/vendor/composer/ClassLoader.php
vendored
Normal file
|
@ -0,0 +1,445 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
/**
|
||||
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
||||
*
|
||||
* $loader = new \Composer\Autoload\ClassLoader();
|
||||
*
|
||||
* // register classes with namespaces
|
||||
* $loader->add('Symfony\Component', __DIR__.'/component');
|
||||
* $loader->add('Symfony', __DIR__.'/framework');
|
||||
*
|
||||
* // activate the autoloader
|
||||
* $loader->register();
|
||||
*
|
||||
* // to enable searching the include path (eg. for PEAR packages)
|
||||
* $loader->setUseIncludePath(true);
|
||||
*
|
||||
* In this example, if you try to use a class in the Symfony\Component
|
||||
* namespace or one of its children (Symfony\Component\Console for instance),
|
||||
* the autoloader will first look for the class under the component/
|
||||
* directory, and it will then fallback to the framework/ directory if not
|
||||
* found before giving up.
|
||||
*
|
||||
* This class is loosely based on the Symfony UniversalClassLoader.
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see http://www.php-fig.org/psr/psr-0/
|
||||
* @see http://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
private $prefixesPsr0 = array();
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
private $useIncludePath = false;
|
||||
private $classMap = array();
|
||||
private $classMapAuthoritative = false;
|
||||
private $missingClasses = array();
|
||||
private $apcuPrefix;
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classMap Class to filename map
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
if ($this->classMap) {
|
||||
$this->classMap = array_merge($this->classMap, $classMap);
|
||||
} else {
|
||||
$this->classMap = $classMap;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
// Register directories for a new namespace.
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr0 = (array) $paths;
|
||||
} else {
|
||||
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr4 = (array) $paths;
|
||||
} else {
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
$this->useIncludePath = $useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can be used to check if the autoloader uses the include path to check
|
||||
* for classes.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function getUseIncludePath()
|
||||
{
|
||||
return $this->useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns off searching the prefix and fallback directories for classes
|
||||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
$this->classMapAuthoritative = $classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should class lookup fail if not found in the current class map?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isClassMapAuthoritative()
|
||||
{
|
||||
return $this->classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||
*
|
||||
* @param string|null $apcuPrefix
|
||||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* The APCu prefix in use, or null if APCu caching is not enabled.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getApcuPrefix()
|
||||
{
|
||||
return $this->apcuPrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the path to the file where the class is defined.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
*
|
||||
* @return string|false The path if found, false otherwise
|
||||
*/
|
||||
public function findFile($class)
|
||||
{
|
||||
// class map lookup
|
||||
if (isset($this->classMap[$class])) {
|
||||
return $this->classMap[$class];
|
||||
}
|
||||
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
||||
return false;
|
||||
}
|
||||
if (null !== $this->apcuPrefix) {
|
||||
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
||||
if ($hit) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
$file = $this->findFileWithExtension($class, '.php');
|
||||
|
||||
// Search for Hack files if we are running on HHVM
|
||||
if (false === $file && defined('HHVM_VERSION')) {
|
||||
$file = $this->findFileWithExtension($class, '.hh');
|
||||
}
|
||||
|
||||
if (null !== $this->apcuPrefix) {
|
||||
apcu_add($this->apcuPrefix.$class, $file);
|
||||
}
|
||||
|
||||
if (false === $file) {
|
||||
// Remember that this class does not exist.
|
||||
$this->missingClasses[$class] = true;
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
||||
|
||||
$first = $class[0];
|
||||
if (isset($this->prefixLengthsPsr4[$first])) {
|
||||
$subPath = $class;
|
||||
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
||||
$subPath = substr($subPath, 0, $lastPos);
|
||||
$search = $subPath . '\\';
|
||||
if (isset($this->prefixDirsPsr4[$search])) {
|
||||
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
||||
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
||||
if (file_exists($file = $dir . $pathEnd)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-4 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr4 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 lookup
|
||||
if (false !== $pos = strrpos($class, '\\')) {
|
||||
// namespaced class name
|
||||
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
||||
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
||||
} else {
|
||||
// PEAR-like class name
|
||||
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
||||
}
|
||||
|
||||
if (isset($this->prefixesPsr0[$first])) {
|
||||
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($dirs as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr0 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 include paths.
|
||||
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
263
advancedcontentfilter/vendor/composer/autoload_classmap.php
vendored
Normal file
263
advancedcontentfilter/vendor/composer/autoload_classmap.php
vendored
Normal file
|
@ -0,0 +1,263 @@
|
|||
<?php
|
||||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$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',
|
||||
'FastRoute\\DataGenerator\\GroupCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/GroupCountBased.php',
|
||||
'FastRoute\\DataGenerator\\GroupPosBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/GroupPosBased.php',
|
||||
'FastRoute\\DataGenerator\\MarkBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/MarkBased.php',
|
||||
'FastRoute\\DataGenerator\\RegexBasedAbstract' => $vendorDir . '/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php',
|
||||
'FastRoute\\Dispatcher' => $vendorDir . '/nikic/fast-route/src/Dispatcher.php',
|
||||
'FastRoute\\Dispatcher\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/Dispatcher/CharCountBased.php',
|
||||
'FastRoute\\Dispatcher\\GroupCountBased' => $vendorDir . '/nikic/fast-route/src/Dispatcher/GroupCountBased.php',
|
||||
'FastRoute\\Dispatcher\\GroupPosBased' => $vendorDir . '/nikic/fast-route/src/Dispatcher/GroupPosBased.php',
|
||||
'FastRoute\\Dispatcher\\MarkBased' => $vendorDir . '/nikic/fast-route/src/Dispatcher/MarkBased.php',
|
||||
'FastRoute\\Dispatcher\\RegexBasedAbstract' => $vendorDir . '/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php',
|
||||
'FastRoute\\Route' => $vendorDir . '/nikic/fast-route/src/Route.php',
|
||||
'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',
|
||||
'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',
|
||||
'Psr\\Cache\\InvalidArgumentException' => $vendorDir . '/psr/cache/src/InvalidArgumentException.php',
|
||||
'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php',
|
||||
'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',
|
||||
'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php',
|
||||
'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php',
|
||||
'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/DummyTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.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\\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\\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\\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\\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',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\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',
|
||||
'Symfony\\Component\\Cache\\Simple\\ArrayCache' => $vendorDir . '/symfony/cache/Simple/ArrayCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ChainCache' => $vendorDir . '/symfony/cache/Simple/ChainCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\DoctrineCache' => $vendorDir . '/symfony/cache/Simple/DoctrineCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\FilesystemCache' => $vendorDir . '/symfony/cache/Simple/FilesystemCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\MemcachedCache' => $vendorDir . '/symfony/cache/Simple/MemcachedCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\NullCache' => $vendorDir . '/symfony/cache/Simple/NullCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PdoCache' => $vendorDir . '/symfony/cache/Simple/PdoCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PhpArrayCache' => $vendorDir . '/symfony/cache/Simple/PhpArrayCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PhpFilesCache' => $vendorDir . '/symfony/cache/Simple/PhpFilesCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => $vendorDir . '/symfony/cache/Simple/Psr6Cache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => $vendorDir . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\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',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Expression' => $vendorDir . '/symfony/expression-language/Expression.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionFunction' => $vendorDir . '/symfony/expression-language/ExpressionFunction.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionFunctionProviderInterface' => $vendorDir . '/symfony/expression-language/ExpressionFunctionProviderInterface.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionLanguage' => $vendorDir . '/symfony/expression-language/ExpressionLanguage.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Lexer' => $vendorDir . '/symfony/expression-language/Lexer.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ArgumentsNode' => $vendorDir . '/symfony/expression-language/Node/ArgumentsNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ArrayNode' => $vendorDir . '/symfony/expression-language/Node/ArrayNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\BinaryNode' => $vendorDir . '/symfony/expression-language/Node/BinaryNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ConditionalNode' => $vendorDir . '/symfony/expression-language/Node/ConditionalNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ConstantNode' => $vendorDir . '/symfony/expression-language/Node/ConstantNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\FunctionNode' => $vendorDir . '/symfony/expression-language/Node/FunctionNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\GetAttrNode' => $vendorDir . '/symfony/expression-language/Node/GetAttrNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\NameNode' => $vendorDir . '/symfony/expression-language/Node/NameNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\Node' => $vendorDir . '/symfony/expression-language/Node/Node.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\UnaryNode' => $vendorDir . '/symfony/expression-language/Node/UnaryNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParsedExpression' => $vendorDir . '/symfony/expression-language/ParsedExpression.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Parser' => $vendorDir . '/symfony/expression-language/Parser.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ArrayParserCache' => $vendorDir . '/symfony/expression-language/ParserCache/ArrayParserCache.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ParserCacheAdapter' => $vendorDir . '/symfony/expression-language/ParserCache/ParserCacheAdapter.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ParserCacheInterface' => $vendorDir . '/symfony/expression-language/ParserCache/ParserCacheInterface.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\SerializedParsedExpression' => $vendorDir . '/symfony/expression-language/SerializedParsedExpression.php',
|
||||
'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\\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',
|
||||
);
|
13
advancedcontentfilter/vendor/composer/autoload_files.php
vendored
Normal file
13
advancedcontentfilter/vendor/composer/autoload_files.php
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'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',
|
||||
);
|
23
advancedcontentfilter/vendor/composer/autoload_psr4.php
vendored
Normal file
23
advancedcontentfilter/vendor/composer/autoload_psr4.php
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'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\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
||||
'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'),
|
||||
'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'),
|
||||
);
|
73
advancedcontentfilter/vendor/composer/autoload_real.php
vendored
Normal file
73
advancedcontentfilter/vendor/composer/autoload_real.php
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInitAdvancedContentFilterAddon
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
public static function loadClassLoader($class)
|
||||
{
|
||||
if ('Composer\Autoload\ClassLoader' === $class) {
|
||||
require __DIR__ . '/ClassLoader.php';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Composer\Autoload\ClassLoader
|
||||
*/
|
||||
public static function getLoader()
|
||||
{
|
||||
if (null !== self::$loader) {
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->register(true);
|
||||
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequireAdvancedContentFilterAddon($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequireAdvancedContentFilterAddon($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
}
|
||||
}
|
369
advancedcontentfilter/vendor/composer/autoload_static.php
vendored
Normal file
369
advancedcontentfilter/vendor/composer/autoload_static.php
vendored
Normal file
|
@ -0,0 +1,369 @@
|
|||
<?php
|
||||
|
||||
// autoload_static.php @generated by Composer
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInitAdvancedContentFilterAddon
|
||||
{
|
||||
public static $files = array (
|
||||
'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\\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\\Log\\' => 8,
|
||||
'Psr\\Http\\Server\\' => 16,
|
||||
'Psr\\Http\\Message\\' => 17,
|
||||
'Psr\\Container\\' => 14,
|
||||
'Psr\\Cache\\' => 10,
|
||||
),
|
||||
'F' =>
|
||||
array (
|
||||
'FastRoute\\' => 10,
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
'Symfony\\Polyfill\\Php80\\' =>
|
||||
array (
|
||||
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 (
|
||||
0 => __DIR__ . '/..' . '/symfony/expression-language',
|
||||
),
|
||||
'Symfony\\Component\\Cache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/cache',
|
||||
),
|
||||
'Slim\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/slim/slim/Slim',
|
||||
),
|
||||
'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-factory/src',
|
||||
1 => __DIR__ . '/..' . '/psr/http-message/src',
|
||||
),
|
||||
'Psr\\Container\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/container/src',
|
||||
),
|
||||
'Psr\\Cache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/cache/src',
|
||||
),
|
||||
'FastRoute\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/nikic/fast-route/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',
|
||||
'FastRoute\\DataGenerator\\GroupCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/GroupCountBased.php',
|
||||
'FastRoute\\DataGenerator\\GroupPosBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/GroupPosBased.php',
|
||||
'FastRoute\\DataGenerator\\MarkBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/MarkBased.php',
|
||||
'FastRoute\\DataGenerator\\RegexBasedAbstract' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php',
|
||||
'FastRoute\\Dispatcher' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher.php',
|
||||
'FastRoute\\Dispatcher\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher/CharCountBased.php',
|
||||
'FastRoute\\Dispatcher\\GroupCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher/GroupCountBased.php',
|
||||
'FastRoute\\Dispatcher\\GroupPosBased' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher/GroupPosBased.php',
|
||||
'FastRoute\\Dispatcher\\MarkBased' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher/MarkBased.php',
|
||||
'FastRoute\\Dispatcher\\RegexBasedAbstract' => __DIR__ . '/..' . '/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php',
|
||||
'FastRoute\\Route' => __DIR__ . '/..' . '/nikic/fast-route/src/Route.php',
|
||||
'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',
|
||||
'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',
|
||||
'Psr\\Cache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/cache/src/InvalidArgumentException.php',
|
||||
'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php',
|
||||
'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',
|
||||
'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareInterface.php',
|
||||
'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareTrait.php',
|
||||
'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/DummyTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.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\\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\\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\\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\\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',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\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',
|
||||
'Symfony\\Component\\Cache\\Simple\\ArrayCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ArrayCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ChainCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ChainCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\DoctrineCache' => __DIR__ . '/..' . '/symfony/cache/Simple/DoctrineCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\FilesystemCache' => __DIR__ . '/..' . '/symfony/cache/Simple/FilesystemCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\MemcachedCache' => __DIR__ . '/..' . '/symfony/cache/Simple/MemcachedCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\NullCache' => __DIR__ . '/..' . '/symfony/cache/Simple/NullCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PdoCache' => __DIR__ . '/..' . '/symfony/cache/Simple/PdoCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PhpArrayCache' => __DIR__ . '/..' . '/symfony/cache/Simple/PhpArrayCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\PhpFilesCache' => __DIR__ . '/..' . '/symfony/cache/Simple/PhpFilesCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => __DIR__ . '/..' . '/symfony/cache/Simple/Psr6Cache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => __DIR__ . '/..' . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\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',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Expression' => __DIR__ . '/..' . '/symfony/expression-language/Expression.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionFunction' => __DIR__ . '/..' . '/symfony/expression-language/ExpressionFunction.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionFunctionProviderInterface' => __DIR__ . '/..' . '/symfony/expression-language/ExpressionFunctionProviderInterface.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ExpressionLanguage' => __DIR__ . '/..' . '/symfony/expression-language/ExpressionLanguage.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Lexer' => __DIR__ . '/..' . '/symfony/expression-language/Lexer.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ArgumentsNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/ArgumentsNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ArrayNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/ArrayNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\BinaryNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/BinaryNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ConditionalNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/ConditionalNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\ConstantNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/ConstantNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\FunctionNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/FunctionNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\GetAttrNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/GetAttrNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\NameNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/NameNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\Node' => __DIR__ . '/..' . '/symfony/expression-language/Node/Node.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Node\\UnaryNode' => __DIR__ . '/..' . '/symfony/expression-language/Node/UnaryNode.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParsedExpression' => __DIR__ . '/..' . '/symfony/expression-language/ParsedExpression.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Parser' => __DIR__ . '/..' . '/symfony/expression-language/Parser.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ArrayParserCache' => __DIR__ . '/..' . '/symfony/expression-language/ParserCache/ArrayParserCache.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ParserCacheAdapter' => __DIR__ . '/..' . '/symfony/expression-language/ParserCache/ParserCacheAdapter.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ParserCacheInterface' => __DIR__ . '/..' . '/symfony/expression-language/ParserCache/ParserCacheInterface.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\SerializedParsedExpression' => __DIR__ . '/..' . '/symfony/expression-language/SerializedParsedExpression.php',
|
||||
'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\\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)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
}
|
1190
advancedcontentfilter/vendor/composer/installed.json
vendored
Normal file
1190
advancedcontentfilter/vendor/composer/installed.json
vendored
Normal file
File diff suppressed because it is too large
Load diff
5
advancedcontentfilter/vendor/nikic/fast-route/.gitignore
vendored
Normal file
5
advancedcontentfilter/vendor/nikic/fast-route/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
/vendor/
|
||||
.idea/
|
||||
|
||||
# ignore lock file since we have no extra dependencies
|
||||
composer.lock
|
1
advancedcontentfilter/vendor/nikic/fast-route/.hhconfig
vendored
Normal file
1
advancedcontentfilter/vendor/nikic/fast-route/.hhconfig
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
assume_php=false
|
20
advancedcontentfilter/vendor/nikic/fast-route/.travis.yml
vendored
Normal file
20
advancedcontentfilter/vendor/nikic/fast-route/.travis.yml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
sudo: false
|
||||
language: php
|
||||
|
||||
php:
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
- hhvm
|
||||
|
||||
script:
|
||||
- ./vendor/bin/phpunit
|
||||
|
||||
before_install:
|
||||
- travis_retry composer self-update
|
||||
|
||||
install:
|
||||
- composer install
|
126
advancedcontentfilter/vendor/nikic/fast-route/FastRoute.hhi
vendored
Normal file
126
advancedcontentfilter/vendor/nikic/fast-route/FastRoute.hhi
vendored
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?hh // decl
|
||||
|
||||
namespace FastRoute {
|
||||
class BadRouteException extends \LogicException {
|
||||
}
|
||||
|
||||
interface RouteParser {
|
||||
public function parse(string $route): array<array>;
|
||||
}
|
||||
|
||||
class RouteCollector {
|
||||
public function __construct(RouteParser $routeParser, DataGenerator $dataGenerator);
|
||||
public function addRoute(mixed $httpMethod, string $route, mixed $handler): void;
|
||||
public function getData(): array;
|
||||
}
|
||||
|
||||
class Route {
|
||||
public function __construct(string $httpMethod, mixed $handler, string $regex, array $variables);
|
||||
public function matches(string $str): bool;
|
||||
}
|
||||
|
||||
interface DataGenerator {
|
||||
public function addRoute(string $httpMethod, array $routeData, mixed $handler);
|
||||
public function getData(): array;
|
||||
}
|
||||
|
||||
interface Dispatcher {
|
||||
const int NOT_FOUND = 0;
|
||||
const int FOUND = 1;
|
||||
const int METHOD_NOT_ALLOWED = 2;
|
||||
public function dispatch(string $httpMethod, string $uri): array;
|
||||
}
|
||||
|
||||
function simpleDispatcher(
|
||||
(function(RouteCollector): void) $routeDefinitionCallback,
|
||||
shape(
|
||||
?'routeParser' => classname<RouteParser>,
|
||||
?'dataGenerator' => classname<DataGenerator>,
|
||||
?'dispatcher' => classname<Dispatcher>,
|
||||
?'routeCollector' => classname<RouteCollector>,
|
||||
) $options = shape()): Dispatcher;
|
||||
|
||||
function cachedDispatcher(
|
||||
(function(RouteCollector): void) $routeDefinitionCallback,
|
||||
shape(
|
||||
?'routeParser' => classname<RouteParser>,
|
||||
?'dataGenerator' => classname<DataGenerator>,
|
||||
?'dispatcher' => classname<Dispatcher>,
|
||||
?'routeCollector' => classname<RouteCollector>,
|
||||
?'cacheDisabled' => bool,
|
||||
?'cacheFile' => string,
|
||||
) $options = shape()): Dispatcher;
|
||||
}
|
||||
|
||||
namespace FastRoute\DataGenerator {
|
||||
abstract class RegexBasedAbstract implements \FastRoute\DataGenerator {
|
||||
protected abstract function getApproxChunkSize();
|
||||
protected abstract function processChunk($regexToRoutesMap);
|
||||
|
||||
public function addRoute(string $httpMethod, array $routeData, mixed $handler): void;
|
||||
public function getData(): array;
|
||||
}
|
||||
|
||||
class CharCountBased extends RegexBasedAbstract {
|
||||
protected function getApproxChunkSize(): int;
|
||||
protected function processChunk(array<string, string> $regexToRoutesMap): array<string, mixed>;
|
||||
}
|
||||
|
||||
class GroupCountBased extends RegexBasedAbstract {
|
||||
protected function getApproxChunkSize(): int;
|
||||
protected function processChunk(array<string, string> $regexToRoutesMap): array<string, mixed>;
|
||||
}
|
||||
|
||||
class GroupPosBased extends RegexBasedAbstract {
|
||||
protected function getApproxChunkSize(): int;
|
||||
protected function processChunk(array<string, string> $regexToRoutesMap): array<string, mixed>;
|
||||
}
|
||||
|
||||
class MarkBased extends RegexBasedAbstract {
|
||||
protected function getApproxChunkSize(): int;
|
||||
protected function processChunk(array<string, string> $regexToRoutesMap): array<string, mixed>;
|
||||
}
|
||||
}
|
||||
|
||||
namespace FastRoute\Dispatcher {
|
||||
abstract class RegexBasedAbstract implements \FastRoute\Dispatcher {
|
||||
protected abstract function dispatchVariableRoute(array<array> $routeData, string $uri): array;
|
||||
|
||||
public function dispatch(string $httpMethod, string $uri): array;
|
||||
}
|
||||
|
||||
class GroupPosBased extends RegexBasedAbstract {
|
||||
public function __construct(array $data);
|
||||
protected function dispatchVariableRoute(array<array> $routeData, string $uri): array;
|
||||
}
|
||||
|
||||
class GroupCountBased extends RegexBasedAbstract {
|
||||
public function __construct(array $data);
|
||||
protected function dispatchVariableRoute(array<array> $routeData, string $uri): array;
|
||||
}
|
||||
|
||||
class CharCountBased extends RegexBasedAbstract {
|
||||
public function __construct(array $data);
|
||||
protected function dispatchVariableRoute(array<array> $routeData, string $uri): array;
|
||||
}
|
||||
|
||||
class MarkBased extends RegexBasedAbstract {
|
||||
public function __construct(array $data);
|
||||
protected function dispatchVariableRoute(array<array> $routeData, string $uri): array;
|
||||
}
|
||||
}
|
||||
|
||||
namespace FastRoute\RouteParser {
|
||||
class Std implements \FastRoute\RouteParser {
|
||||
const string VARIABLE_REGEX = <<<'REGEX'
|
||||
\{
|
||||
\s* ([a-zA-Z][a-zA-Z0-9_]*) \s*
|
||||
(?:
|
||||
: \s* ([^{}]*(?:\{(?-1)\}[^{}]*)*)
|
||||
)?
|
||||
\}
|
||||
REGEX;
|
||||
const string DEFAULT_DISPATCH_REGEX = '[^/]+';
|
||||
public function parse(string $route): array<array>;
|
||||
}
|
||||
}
|
31
advancedcontentfilter/vendor/nikic/fast-route/LICENSE
vendored
Normal file
31
advancedcontentfilter/vendor/nikic/fast-route/LICENSE
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
Copyright (c) 2013 by Nikita Popov.
|
||||
|
||||
Some rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
|
||||
* The names of the contributors may not be used to endorse or
|
||||
promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
313
advancedcontentfilter/vendor/nikic/fast-route/README.md
vendored
Normal file
313
advancedcontentfilter/vendor/nikic/fast-route/README.md
vendored
Normal file
|
@ -0,0 +1,313 @@
|
|||
FastRoute - Fast request router for PHP
|
||||
=======================================
|
||||
|
||||
This library provides a fast implementation of a regular expression based router. [Blog post explaining how the
|
||||
implementation works and why it is fast.][blog_post]
|
||||
|
||||
Install
|
||||
-------
|
||||
|
||||
To install with composer:
|
||||
|
||||
```sh
|
||||
composer require nikic/fast-route
|
||||
```
|
||||
|
||||
Requires PHP 5.4 or newer.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Here's a basic usage example:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
require '/path/to/vendor/autoload.php';
|
||||
|
||||
$dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {
|
||||
$r->addRoute('GET', '/users', 'get_all_users_handler');
|
||||
// {id} must be a number (\d+)
|
||||
$r->addRoute('GET', '/user/{id:\d+}', 'get_user_handler');
|
||||
// The /{title} suffix is optional
|
||||
$r->addRoute('GET', '/articles/{id:\d+}[/{title}]', 'get_article_handler');
|
||||
});
|
||||
|
||||
// Fetch method and URI from somewhere
|
||||
$httpMethod = $_SERVER['REQUEST_METHOD'];
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
|
||||
// Strip query string (?foo=bar) and decode URI
|
||||
if (false !== $pos = strpos($uri, '?')) {
|
||||
$uri = substr($uri, 0, $pos);
|
||||
}
|
||||
$uri = rawurldecode($uri);
|
||||
|
||||
$routeInfo = $dispatcher->dispatch($httpMethod, $uri);
|
||||
switch ($routeInfo[0]) {
|
||||
case FastRoute\Dispatcher::NOT_FOUND:
|
||||
// ... 404 Not Found
|
||||
break;
|
||||
case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
|
||||
$allowedMethods = $routeInfo[1];
|
||||
// ... 405 Method Not Allowed
|
||||
break;
|
||||
case FastRoute\Dispatcher::FOUND:
|
||||
$handler = $routeInfo[1];
|
||||
$vars = $routeInfo[2];
|
||||
// ... call $handler with $vars
|
||||
break;
|
||||
}
|
||||
```
|
||||
|
||||
### Defining routes
|
||||
|
||||
The routes are defined by calling the `FastRoute\simpleDispatcher()` function, which accepts
|
||||
a callable taking a `FastRoute\RouteCollector` instance. The routes are added by calling
|
||||
`addRoute()` on the collector instance:
|
||||
|
||||
```php
|
||||
$r->addRoute($method, $routePattern, $handler);
|
||||
```
|
||||
|
||||
The `$method` is an uppercase HTTP method string for which a certain route should match. It
|
||||
is possible to specify multiple valid methods using an array:
|
||||
|
||||
```php
|
||||
// These two calls
|
||||
$r->addRoute('GET', '/test', 'handler');
|
||||
$r->addRoute('POST', '/test', 'handler');
|
||||
// Are equivalent to this one call
|
||||
$r->addRoute(['GET', 'POST'], '/test', 'handler');
|
||||
```
|
||||
|
||||
By default the `$routePattern` uses a syntax where `{foo}` specifies a placeholder with name `foo`
|
||||
and matching the regex `[^/]+`. To adjust the pattern the placeholder matches, you can specify
|
||||
a custom pattern by writing `{bar:[0-9]+}`. Some examples:
|
||||
|
||||
```php
|
||||
// Matches /user/42, but not /user/xyz
|
||||
$r->addRoute('GET', '/user/{id:\d+}', 'handler');
|
||||
|
||||
// Matches /user/foobar, but not /user/foo/bar
|
||||
$r->addRoute('GET', '/user/{name}', 'handler');
|
||||
|
||||
// Matches /user/foo/bar as well
|
||||
$r->addRoute('GET', '/user/{name:.+}', 'handler');
|
||||
```
|
||||
|
||||
Custom patterns for route placeholders cannot use capturing groups. For example `{lang:(en|de)}`
|
||||
is not a valid placeholder, because `()` is a capturing group. Instead you can use either
|
||||
`{lang:en|de}` or `{lang:(?:en|de)}`.
|
||||
|
||||
Furthermore parts of the route enclosed in `[...]` are considered optional, so that `/foo[bar]`
|
||||
will match both `/foo` and `/foobar`. Optional parts are only supported in a trailing position,
|
||||
not in the middle of a route.
|
||||
|
||||
```php
|
||||
// This route
|
||||
$r->addRoute('GET', '/user/{id:\d+}[/{name}]', 'handler');
|
||||
// Is equivalent to these two routes
|
||||
$r->addRoute('GET', '/user/{id:\d+}', 'handler');
|
||||
$r->addRoute('GET', '/user/{id:\d+}/{name}', 'handler');
|
||||
|
||||
// Multiple nested optional parts are possible as well
|
||||
$r->addRoute('GET', '/user[/{id:\d+}[/{name}]]', 'handler');
|
||||
|
||||
// This route is NOT valid, because optional parts can only occur at the end
|
||||
$r->addRoute('GET', '/user[/{id:\d+}]/{name}', 'handler');
|
||||
```
|
||||
|
||||
The `$handler` parameter does not necessarily have to be a callback, it could also be a controller
|
||||
class name or any other kind of data you wish to associate with the route. FastRoute only tells you
|
||||
which handler corresponds to your URI, how you interpret it is up to you.
|
||||
|
||||
#### Shorcut methods for common request methods
|
||||
|
||||
For the `GET`, `POST`, `PUT`, `PATCH`, `DELETE` and `HEAD` request methods shortcut methods are available. For example:
|
||||
|
||||
```php
|
||||
$r->get('/get-route', 'get_handler');
|
||||
$r->post('/post-route', 'post_handler');
|
||||
```
|
||||
|
||||
Is equivalent to:
|
||||
|
||||
```php
|
||||
$r->addRoute('GET', '/get-route', 'get_handler');
|
||||
$r->addRoute('POST', '/post-route', 'post_handler');
|
||||
```
|
||||
|
||||
#### Route Groups
|
||||
|
||||
Additionally, you can specify routes inside of a group. All routes defined inside a group will have a common prefix.
|
||||
|
||||
For example, defining your routes as:
|
||||
|
||||
```php
|
||||
$r->addGroup('/admin', function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/do-something', 'handler');
|
||||
$r->addRoute('GET', '/do-another-thing', 'handler');
|
||||
$r->addRoute('GET', '/do-something-else', 'handler');
|
||||
});
|
||||
```
|
||||
|
||||
Will have the same result as:
|
||||
|
||||
```php
|
||||
$r->addRoute('GET', '/admin/do-something', 'handler');
|
||||
$r->addRoute('GET', '/admin/do-another-thing', 'handler');
|
||||
$r->addRoute('GET', '/admin/do-something-else', 'handler');
|
||||
```
|
||||
|
||||
Nested groups are also supported, in which case the prefixes of all the nested groups are combined.
|
||||
|
||||
### Caching
|
||||
|
||||
The reason `simpleDispatcher` accepts a callback for defining the routes is to allow seamless
|
||||
caching. By using `cachedDispatcher` instead of `simpleDispatcher` you can cache the generated
|
||||
routing data and construct the dispatcher from the cached information:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
$dispatcher = FastRoute\cachedDispatcher(function(FastRoute\RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}/{id:[0-9]+}', 'handler0');
|
||||
$r->addRoute('GET', '/user/{id:[0-9]+}', 'handler1');
|
||||
$r->addRoute('GET', '/user/{name}', 'handler2');
|
||||
}, [
|
||||
'cacheFile' => __DIR__ . '/route.cache', /* required */
|
||||
'cacheDisabled' => IS_DEBUG_ENABLED, /* optional, enabled by default */
|
||||
]);
|
||||
```
|
||||
|
||||
The second parameter to the function is an options array, which can be used to specify the cache
|
||||
file location, among other things.
|
||||
|
||||
### Dispatching a URI
|
||||
|
||||
A URI is dispatched by calling the `dispatch()` method of the created dispatcher. This method
|
||||
accepts the HTTP method and a URI. Getting those two bits of information (and normalizing them
|
||||
appropriately) is your job - this library is not bound to the PHP web SAPIs.
|
||||
|
||||
The `dispatch()` method returns an array whose first element contains a status code. It is one
|
||||
of `Dispatcher::NOT_FOUND`, `Dispatcher::METHOD_NOT_ALLOWED` and `Dispatcher::FOUND`. For the
|
||||
method not allowed status the second array element contains a list of HTTP methods allowed for
|
||||
the supplied URI. For example:
|
||||
|
||||
[FastRoute\Dispatcher::METHOD_NOT_ALLOWED, ['GET', 'POST']]
|
||||
|
||||
> **NOTE:** The HTTP specification requires that a `405 Method Not Allowed` response include the
|
||||
`Allow:` header to detail available methods for the requested resource. Applications using FastRoute
|
||||
should use the second array element to add this header when relaying a 405 response.
|
||||
|
||||
For the found status the second array element is the handler that was associated with the route
|
||||
and the third array element is a dictionary of placeholder names to their values. For example:
|
||||
|
||||
/* Routing against GET /user/nikic/42 */
|
||||
|
||||
[FastRoute\Dispatcher::FOUND, 'handler0', ['name' => 'nikic', 'id' => '42']]
|
||||
|
||||
### Overriding the route parser and dispatcher
|
||||
|
||||
The routing process makes use of three components: A route parser, a data generator and a
|
||||
dispatcher. The three components adhere to the following interfaces:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
interface RouteParser {
|
||||
public function parse($route);
|
||||
}
|
||||
|
||||
interface DataGenerator {
|
||||
public function addRoute($httpMethod, $routeData, $handler);
|
||||
public function getData();
|
||||
}
|
||||
|
||||
interface Dispatcher {
|
||||
const NOT_FOUND = 0, FOUND = 1, METHOD_NOT_ALLOWED = 2;
|
||||
|
||||
public function dispatch($httpMethod, $uri);
|
||||
}
|
||||
```
|
||||
|
||||
The route parser takes a route pattern string and converts it into an array of route infos, where
|
||||
each route info is again an array of it's parts. The structure is best understood using an example:
|
||||
|
||||
/* The route /user/{id:\d+}[/{name}] converts to the following array: */
|
||||
[
|
||||
[
|
||||
'/user/',
|
||||
['id', '\d+'],
|
||||
],
|
||||
[
|
||||
'/user/',
|
||||
['id', '\d+'],
|
||||
'/',
|
||||
['name', '[^/]+'],
|
||||
],
|
||||
]
|
||||
|
||||
This array can then be passed to the `addRoute()` method of a data generator. After all routes have
|
||||
been added the `getData()` of the generator is invoked, which returns all the routing data required
|
||||
by the dispatcher. The format of this data is not further specified - it is tightly coupled to
|
||||
the corresponding dispatcher.
|
||||
|
||||
The dispatcher accepts the routing data via a constructor and provides a `dispatch()` method, which
|
||||
you're already familiar with.
|
||||
|
||||
The route parser can be overwritten individually (to make use of some different pattern syntax),
|
||||
however the data generator and dispatcher should always be changed as a pair, as the output from
|
||||
the former is tightly coupled to the input of the latter. The reason the generator and the
|
||||
dispatcher are separate is that only the latter is needed when using caching (as the output of
|
||||
the former is what is being cached.)
|
||||
|
||||
When using the `simpleDispatcher` / `cachedDispatcher` functions from above the override happens
|
||||
through the options array:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
$dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {
|
||||
/* ... */
|
||||
}, [
|
||||
'routeParser' => 'FastRoute\\RouteParser\\Std',
|
||||
'dataGenerator' => 'FastRoute\\DataGenerator\\GroupCountBased',
|
||||
'dispatcher' => 'FastRoute\\Dispatcher\\GroupCountBased',
|
||||
]);
|
||||
```
|
||||
|
||||
The above options array corresponds to the defaults. By replacing `GroupCountBased` by
|
||||
`GroupPosBased` you could switch to a different dispatching strategy.
|
||||
|
||||
### A Note on HEAD Requests
|
||||
|
||||
The HTTP spec requires servers to [support both GET and HEAD methods][2616-511]:
|
||||
|
||||
> The methods GET and HEAD MUST be supported by all general-purpose servers
|
||||
|
||||
To avoid forcing users to manually register HEAD routes for each resource we fallback to matching an
|
||||
available GET route for a given resource. The PHP web SAPI transparently removes the entity body
|
||||
from HEAD responses so this behavior has no effect on the vast majority of users.
|
||||
|
||||
However, implementers using FastRoute outside the web SAPI environment (e.g. a custom server) MUST
|
||||
NOT send entity bodies generated in response to HEAD requests. If you are a non-SAPI user this is
|
||||
*your responsibility*; FastRoute has no purview to prevent you from breaking HTTP in such cases.
|
||||
|
||||
Finally, note that applications MAY always specify their own HEAD method route for a given
|
||||
resource to bypass this behavior entirely.
|
||||
|
||||
### Credits
|
||||
|
||||
This library is based on a router that [Levi Morrison][levi] implemented for the Aerys server.
|
||||
|
||||
A large number of tests, as well as HTTP compliance considerations, were provided by [Daniel Lowrey][rdlowrey].
|
||||
|
||||
|
||||
[2616-511]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.1 "RFC 2616 Section 5.1.1"
|
||||
[blog_post]: http://nikic.github.io/2014/02/18/Fast-request-routing-using-regular-expressions.html
|
||||
[levi]: https://github.com/morrisonlevi
|
||||
[rdlowrey]: https://github.com/rdlowrey
|
24
advancedcontentfilter/vendor/nikic/fast-route/composer.json
vendored
Normal file
24
advancedcontentfilter/vendor/nikic/fast-route/composer.json
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "nikic/fast-route",
|
||||
"description": "Fast request router for PHP",
|
||||
"keywords": ["routing", "router"],
|
||||
"license": "BSD-3-Clause",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nikita Popov",
|
||||
"email": "nikic@php.net"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"FastRoute\\": "src/"
|
||||
},
|
||||
"files": ["src/functions.php"]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8.35|~5.7"
|
||||
}
|
||||
}
|
24
advancedcontentfilter/vendor/nikic/fast-route/phpunit.xml
vendored
Normal file
24
advancedcontentfilter/vendor/nikic/fast-route/phpunit.xml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<phpunit backupGlobals="false"
|
||||
backupStaticAttributes="false"
|
||||
colors="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
processIsolation="false"
|
||||
syntaxCheck="false"
|
||||
bootstrap="test/bootstrap.php"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="FastRoute Tests">
|
||||
<directory>./test/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<filter>
|
||||
<whitelist>
|
||||
<directory>./src/</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
</phpunit>
|
28
advancedcontentfilter/vendor/nikic/fast-route/psalm.xml
vendored
Normal file
28
advancedcontentfilter/vendor/nikic/fast-route/psalm.xml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0"?>
|
||||
<psalm
|
||||
name="Example Psalm config with recommended defaults"
|
||||
stopOnFirstError="false"
|
||||
useDocblockTypes="true"
|
||||
totallyTyped="false"
|
||||
requireVoidReturnType="false"
|
||||
>
|
||||
<projectFiles>
|
||||
<directory name="src" />
|
||||
</projectFiles>
|
||||
|
||||
<issueHandlers>
|
||||
<LessSpecificReturnType errorLevel="info" />
|
||||
|
||||
<!-- level 3 issues - slightly lazy code writing, but provably low false-negatives -->
|
||||
<DeprecatedMethod errorLevel="info" />
|
||||
|
||||
<MissingClosureReturnType errorLevel="info" />
|
||||
<MissingReturnType errorLevel="info" />
|
||||
<MissingPropertyType errorLevel="info" />
|
||||
<InvalidDocblock errorLevel="info" />
|
||||
<MisplacedRequiredParam errorLevel="info" />
|
||||
|
||||
<PropertyNotSetInConstructor errorLevel="info" />
|
||||
<MissingConstructor errorLevel="info" />
|
||||
</issueHandlers>
|
||||
</psalm>
|
7
advancedcontentfilter/vendor/nikic/fast-route/src/BadRouteException.php
vendored
Normal file
7
advancedcontentfilter/vendor/nikic/fast-route/src/BadRouteException.php
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
class BadRouteException extends \LogicException
|
||||
{
|
||||
}
|
26
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator.php
vendored
Normal file
26
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator.php
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
interface DataGenerator
|
||||
{
|
||||
/**
|
||||
* Adds a route to the data generator. The route data uses the
|
||||
* same format that is returned by RouterParser::parser().
|
||||
*
|
||||
* The handler doesn't necessarily need to be a callable, it
|
||||
* can be arbitrary data that will be returned when the route
|
||||
* matches.
|
||||
*
|
||||
* @param string $httpMethod
|
||||
* @param array $routeData
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function addRoute($httpMethod, $routeData, $handler);
|
||||
|
||||
/**
|
||||
* Returns dispatcher data in some unspecified format, which
|
||||
* depends on the used method of dispatch.
|
||||
*/
|
||||
public function getData();
|
||||
}
|
31
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/CharCountBased.php
vendored
Normal file
31
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/CharCountBased.php
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\DataGenerator;
|
||||
|
||||
class CharCountBased extends RegexBasedAbstract
|
||||
{
|
||||
protected function getApproxChunkSize()
|
||||
{
|
||||
return 30;
|
||||
}
|
||||
|
||||
protected function processChunk($regexToRoutesMap)
|
||||
{
|
||||
$routeMap = [];
|
||||
$regexes = [];
|
||||
|
||||
$suffixLen = 0;
|
||||
$suffix = '';
|
||||
$count = count($regexToRoutesMap);
|
||||
foreach ($regexToRoutesMap as $regex => $route) {
|
||||
$suffixLen++;
|
||||
$suffix .= "\t";
|
||||
|
||||
$regexes[] = '(?:' . $regex . '/(\t{' . $suffixLen . '})\t{' . ($count - $suffixLen) . '})';
|
||||
$routeMap[$suffix] = [$route->handler, $route->variables];
|
||||
}
|
||||
|
||||
$regex = '~^(?|' . implode('|', $regexes) . ')$~';
|
||||
return ['regex' => $regex, 'suffix' => '/' . $suffix, 'routeMap' => $routeMap];
|
||||
}
|
||||
}
|
30
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/GroupCountBased.php
vendored
Normal file
30
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/GroupCountBased.php
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\DataGenerator;
|
||||
|
||||
class GroupCountBased extends RegexBasedAbstract
|
||||
{
|
||||
protected function getApproxChunkSize()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
||||
protected function processChunk($regexToRoutesMap)
|
||||
{
|
||||
$routeMap = [];
|
||||
$regexes = [];
|
||||
$numGroups = 0;
|
||||
foreach ($regexToRoutesMap as $regex => $route) {
|
||||
$numVariables = count($route->variables);
|
||||
$numGroups = max($numGroups, $numVariables);
|
||||
|
||||
$regexes[] = $regex . str_repeat('()', $numGroups - $numVariables);
|
||||
$routeMap[$numGroups + 1] = [$route->handler, $route->variables];
|
||||
|
||||
++$numGroups;
|
||||
}
|
||||
|
||||
$regex = '~^(?|' . implode('|', $regexes) . ')$~';
|
||||
return ['regex' => $regex, 'routeMap' => $routeMap];
|
||||
}
|
||||
}
|
27
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/GroupPosBased.php
vendored
Normal file
27
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/GroupPosBased.php
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\DataGenerator;
|
||||
|
||||
class GroupPosBased extends RegexBasedAbstract
|
||||
{
|
||||
protected function getApproxChunkSize()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
||||
protected function processChunk($regexToRoutesMap)
|
||||
{
|
||||
$routeMap = [];
|
||||
$regexes = [];
|
||||
$offset = 1;
|
||||
foreach ($regexToRoutesMap as $regex => $route) {
|
||||
$regexes[] = $regex;
|
||||
$routeMap[$offset] = [$route->handler, $route->variables];
|
||||
|
||||
$offset += count($route->variables);
|
||||
}
|
||||
|
||||
$regex = '~^(?:' . implode('|', $regexes) . ')$~';
|
||||
return ['regex' => $regex, 'routeMap' => $routeMap];
|
||||
}
|
||||
}
|
27
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/MarkBased.php
vendored
Normal file
27
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/MarkBased.php
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\DataGenerator;
|
||||
|
||||
class MarkBased extends RegexBasedAbstract
|
||||
{
|
||||
protected function getApproxChunkSize()
|
||||
{
|
||||
return 30;
|
||||
}
|
||||
|
||||
protected function processChunk($regexToRoutesMap)
|
||||
{
|
||||
$routeMap = [];
|
||||
$regexes = [];
|
||||
$markName = 'a';
|
||||
foreach ($regexToRoutesMap as $regex => $route) {
|
||||
$regexes[] = $regex . '(*MARK:' . $markName . ')';
|
||||
$routeMap[$markName] = [$route->handler, $route->variables];
|
||||
|
||||
++$markName;
|
||||
}
|
||||
|
||||
$regex = '~^(?|' . implode('|', $regexes) . ')$~';
|
||||
return ['regex' => $regex, 'routeMap' => $routeMap];
|
||||
}
|
||||
}
|
186
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php
vendored
Normal file
186
advancedcontentfilter/vendor/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php
vendored
Normal file
|
@ -0,0 +1,186 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\DataGenerator;
|
||||
|
||||
use FastRoute\BadRouteException;
|
||||
use FastRoute\DataGenerator;
|
||||
use FastRoute\Route;
|
||||
|
||||
abstract class RegexBasedAbstract implements DataGenerator
|
||||
{
|
||||
/** @var mixed[][] */
|
||||
protected $staticRoutes = [];
|
||||
|
||||
/** @var Route[][] */
|
||||
protected $methodToRegexToRoutesMap = [];
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
abstract protected function getApproxChunkSize();
|
||||
|
||||
/**
|
||||
* @return mixed[]
|
||||
*/
|
||||
abstract protected function processChunk($regexToRoutesMap);
|
||||
|
||||
public function addRoute($httpMethod, $routeData, $handler)
|
||||
{
|
||||
if ($this->isStaticRoute($routeData)) {
|
||||
$this->addStaticRoute($httpMethod, $routeData, $handler);
|
||||
} else {
|
||||
$this->addVariableRoute($httpMethod, $routeData, $handler);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed[]
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
if (empty($this->methodToRegexToRoutesMap)) {
|
||||
return [$this->staticRoutes, []];
|
||||
}
|
||||
|
||||
return [$this->staticRoutes, $this->generateVariableRouteData()];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed[]
|
||||
*/
|
||||
private function generateVariableRouteData()
|
||||
{
|
||||
$data = [];
|
||||
foreach ($this->methodToRegexToRoutesMap as $method => $regexToRoutesMap) {
|
||||
$chunkSize = $this->computeChunkSize(count($regexToRoutesMap));
|
||||
$chunks = array_chunk($regexToRoutesMap, $chunkSize, true);
|
||||
$data[$method] = array_map([$this, 'processChunk'], $chunks);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int
|
||||
* @return int
|
||||
*/
|
||||
private function computeChunkSize($count)
|
||||
{
|
||||
$numParts = max(1, round($count / $this->getApproxChunkSize()));
|
||||
return (int) ceil($count / $numParts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed[]
|
||||
* @return bool
|
||||
*/
|
||||
private function isStaticRoute($routeData)
|
||||
{
|
||||
return count($routeData) === 1 && is_string($routeData[0]);
|
||||
}
|
||||
|
||||
private function addStaticRoute($httpMethod, $routeData, $handler)
|
||||
{
|
||||
$routeStr = $routeData[0];
|
||||
|
||||
if (isset($this->staticRoutes[$httpMethod][$routeStr])) {
|
||||
throw new BadRouteException(sprintf(
|
||||
'Cannot register two routes matching "%s" for method "%s"',
|
||||
$routeStr, $httpMethod
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($this->methodToRegexToRoutesMap[$httpMethod])) {
|
||||
foreach ($this->methodToRegexToRoutesMap[$httpMethod] as $route) {
|
||||
if ($route->matches($routeStr)) {
|
||||
throw new BadRouteException(sprintf(
|
||||
'Static route "%s" is shadowed by previously defined variable route "%s" for method "%s"',
|
||||
$routeStr, $route->regex, $httpMethod
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->staticRoutes[$httpMethod][$routeStr] = $handler;
|
||||
}
|
||||
|
||||
private function addVariableRoute($httpMethod, $routeData, $handler)
|
||||
{
|
||||
list($regex, $variables) = $this->buildRegexForRoute($routeData);
|
||||
|
||||
if (isset($this->methodToRegexToRoutesMap[$httpMethod][$regex])) {
|
||||
throw new BadRouteException(sprintf(
|
||||
'Cannot register two routes matching "%s" for method "%s"',
|
||||
$regex, $httpMethod
|
||||
));
|
||||
}
|
||||
|
||||
$this->methodToRegexToRoutesMap[$httpMethod][$regex] = new Route(
|
||||
$httpMethod, $handler, $regex, $variables
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed[]
|
||||
* @return mixed[]
|
||||
*/
|
||||
private function buildRegexForRoute($routeData)
|
||||
{
|
||||
$regex = '';
|
||||
$variables = [];
|
||||
foreach ($routeData as $part) {
|
||||
if (is_string($part)) {
|
||||
$regex .= preg_quote($part, '~');
|
||||
continue;
|
||||
}
|
||||
|
||||
list($varName, $regexPart) = $part;
|
||||
|
||||
if (isset($variables[$varName])) {
|
||||
throw new BadRouteException(sprintf(
|
||||
'Cannot use the same placeholder "%s" twice', $varName
|
||||
));
|
||||
}
|
||||
|
||||
if ($this->regexHasCapturingGroups($regexPart)) {
|
||||
throw new BadRouteException(sprintf(
|
||||
'Regex "%s" for parameter "%s" contains a capturing group',
|
||||
$regexPart, $varName
|
||||
));
|
||||
}
|
||||
|
||||
$variables[$varName] = $varName;
|
||||
$regex .= '(' . $regexPart . ')';
|
||||
}
|
||||
|
||||
return [$regex, $variables];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string
|
||||
* @return bool
|
||||
*/
|
||||
private function regexHasCapturingGroups($regex)
|
||||
{
|
||||
if (false === strpos($regex, '(')) {
|
||||
// Needs to have at least a ( to contain a capturing group
|
||||
return false;
|
||||
}
|
||||
|
||||
// Semi-accurate detection for capturing groups
|
||||
return (bool) preg_match(
|
||||
'~
|
||||
(?:
|
||||
\(\?\(
|
||||
| \[ [^\]\\\\]* (?: \\\\ . [^\]\\\\]* )* \]
|
||||
| \\\\ .
|
||||
) (*SKIP)(*FAIL) |
|
||||
\(
|
||||
(?!
|
||||
\? (?! <(?![!=]) | P< | \' )
|
||||
| \*
|
||||
)
|
||||
~x',
|
||||
$regex
|
||||
);
|
||||
}
|
||||
}
|
26
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher.php
vendored
Normal file
26
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher.php
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
interface Dispatcher
|
||||
{
|
||||
const NOT_FOUND = 0;
|
||||
const FOUND = 1;
|
||||
const METHOD_NOT_ALLOWED = 2;
|
||||
|
||||
/**
|
||||
* Dispatches against the provided HTTP method verb and URI.
|
||||
*
|
||||
* Returns array with one of the following formats:
|
||||
*
|
||||
* [self::NOT_FOUND]
|
||||
* [self::METHOD_NOT_ALLOWED, ['GET', 'OTHER_ALLOWED_METHODS']]
|
||||
* [self::FOUND, $handler, ['varName' => 'value', ...]]
|
||||
*
|
||||
* @param string $httpMethod
|
||||
* @param string $uri
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function dispatch($httpMethod, $uri);
|
||||
}
|
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/CharCountBased.php
vendored
Normal file
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/CharCountBased.php
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class CharCountBased extends RegexBasedAbstract
|
||||
{
|
||||
public function __construct($data)
|
||||
{
|
||||
list($this->staticRouteMap, $this->variableRouteData) = $data;
|
||||
}
|
||||
|
||||
protected function dispatchVariableRoute($routeData, $uri)
|
||||
{
|
||||
foreach ($routeData as $data) {
|
||||
if (!preg_match($data['regex'], $uri . $data['suffix'], $matches)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
list($handler, $varNames) = $data['routeMap'][end($matches)];
|
||||
|
||||
$vars = [];
|
||||
$i = 0;
|
||||
foreach ($varNames as $varName) {
|
||||
$vars[$varName] = $matches[++$i];
|
||||
}
|
||||
return [self::FOUND, $handler, $vars];
|
||||
}
|
||||
|
||||
return [self::NOT_FOUND];
|
||||
}
|
||||
}
|
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/GroupCountBased.php
vendored
Normal file
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/GroupCountBased.php
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class GroupCountBased extends RegexBasedAbstract
|
||||
{
|
||||
public function __construct($data)
|
||||
{
|
||||
list($this->staticRouteMap, $this->variableRouteData) = $data;
|
||||
}
|
||||
|
||||
protected function dispatchVariableRoute($routeData, $uri)
|
||||
{
|
||||
foreach ($routeData as $data) {
|
||||
if (!preg_match($data['regex'], $uri, $matches)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
list($handler, $varNames) = $data['routeMap'][count($matches)];
|
||||
|
||||
$vars = [];
|
||||
$i = 0;
|
||||
foreach ($varNames as $varName) {
|
||||
$vars[$varName] = $matches[++$i];
|
||||
}
|
||||
return [self::FOUND, $handler, $vars];
|
||||
}
|
||||
|
||||
return [self::NOT_FOUND];
|
||||
}
|
||||
}
|
33
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/GroupPosBased.php
vendored
Normal file
33
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/GroupPosBased.php
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class GroupPosBased extends RegexBasedAbstract
|
||||
{
|
||||
public function __construct($data)
|
||||
{
|
||||
list($this->staticRouteMap, $this->variableRouteData) = $data;
|
||||
}
|
||||
|
||||
protected function dispatchVariableRoute($routeData, $uri)
|
||||
{
|
||||
foreach ($routeData as $data) {
|
||||
if (!preg_match($data['regex'], $uri, $matches)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// find first non-empty match
|
||||
for ($i = 1; '' === $matches[$i]; ++$i);
|
||||
|
||||
list($handler, $varNames) = $data['routeMap'][$i];
|
||||
|
||||
$vars = [];
|
||||
foreach ($varNames as $varName) {
|
||||
$vars[$varName] = $matches[$i++];
|
||||
}
|
||||
return [self::FOUND, $handler, $vars];
|
||||
}
|
||||
|
||||
return [self::NOT_FOUND];
|
||||
}
|
||||
}
|
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/MarkBased.php
vendored
Normal file
31
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/MarkBased.php
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class MarkBased extends RegexBasedAbstract
|
||||
{
|
||||
public function __construct($data)
|
||||
{
|
||||
list($this->staticRouteMap, $this->variableRouteData) = $data;
|
||||
}
|
||||
|
||||
protected function dispatchVariableRoute($routeData, $uri)
|
||||
{
|
||||
foreach ($routeData as $data) {
|
||||
if (!preg_match($data['regex'], $uri, $matches)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
list($handler, $varNames) = $data['routeMap'][$matches['MARK']];
|
||||
|
||||
$vars = [];
|
||||
$i = 0;
|
||||
foreach ($varNames as $varName) {
|
||||
$vars[$varName] = $matches[++$i];
|
||||
}
|
||||
return [self::FOUND, $handler, $vars];
|
||||
}
|
||||
|
||||
return [self::NOT_FOUND];
|
||||
}
|
||||
}
|
88
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php
vendored
Normal file
88
advancedcontentfilter/vendor/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php
vendored
Normal file
|
@ -0,0 +1,88 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
use FastRoute\Dispatcher;
|
||||
|
||||
abstract class RegexBasedAbstract implements Dispatcher
|
||||
{
|
||||
/** @var mixed[][] */
|
||||
protected $staticRouteMap = [];
|
||||
|
||||
/** @var mixed[] */
|
||||
protected $variableRouteData = [];
|
||||
|
||||
/**
|
||||
* @return mixed[]
|
||||
*/
|
||||
abstract protected function dispatchVariableRoute($routeData, $uri);
|
||||
|
||||
public function dispatch($httpMethod, $uri)
|
||||
{
|
||||
if (isset($this->staticRouteMap[$httpMethod][$uri])) {
|
||||
$handler = $this->staticRouteMap[$httpMethod][$uri];
|
||||
return [self::FOUND, $handler, []];
|
||||
}
|
||||
|
||||
$varRouteData = $this->variableRouteData;
|
||||
if (isset($varRouteData[$httpMethod])) {
|
||||
$result = $this->dispatchVariableRoute($varRouteData[$httpMethod], $uri);
|
||||
if ($result[0] === self::FOUND) {
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
// For HEAD requests, attempt fallback to GET
|
||||
if ($httpMethod === 'HEAD') {
|
||||
if (isset($this->staticRouteMap['GET'][$uri])) {
|
||||
$handler = $this->staticRouteMap['GET'][$uri];
|
||||
return [self::FOUND, $handler, []];
|
||||
}
|
||||
if (isset($varRouteData['GET'])) {
|
||||
$result = $this->dispatchVariableRoute($varRouteData['GET'], $uri);
|
||||
if ($result[0] === self::FOUND) {
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If nothing else matches, try fallback routes
|
||||
if (isset($this->staticRouteMap['*'][$uri])) {
|
||||
$handler = $this->staticRouteMap['*'][$uri];
|
||||
return [self::FOUND, $handler, []];
|
||||
}
|
||||
if (isset($varRouteData['*'])) {
|
||||
$result = $this->dispatchVariableRoute($varRouteData['*'], $uri);
|
||||
if ($result[0] === self::FOUND) {
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
// Find allowed methods for this URI by matching against all other HTTP methods as well
|
||||
$allowedMethods = [];
|
||||
|
||||
foreach ($this->staticRouteMap as $method => $uriMap) {
|
||||
if ($method !== $httpMethod && isset($uriMap[$uri])) {
|
||||
$allowedMethods[] = $method;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($varRouteData as $method => $routeData) {
|
||||
if ($method === $httpMethod) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$result = $this->dispatchVariableRoute($routeData, $uri);
|
||||
if ($result[0] === self::FOUND) {
|
||||
$allowedMethods[] = $method;
|
||||
}
|
||||
}
|
||||
|
||||
// If there are no allowed methods the route simply does not exist
|
||||
if ($allowedMethods) {
|
||||
return [self::METHOD_NOT_ALLOWED, $allowedMethods];
|
||||
}
|
||||
|
||||
return [self::NOT_FOUND];
|
||||
}
|
||||
}
|
47
advancedcontentfilter/vendor/nikic/fast-route/src/Route.php
vendored
Normal file
47
advancedcontentfilter/vendor/nikic/fast-route/src/Route.php
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
class Route
|
||||
{
|
||||
/** @var string */
|
||||
public $httpMethod;
|
||||
|
||||
/** @var string */
|
||||
public $regex;
|
||||
|
||||
/** @var array */
|
||||
public $variables;
|
||||
|
||||
/** @var mixed */
|
||||
public $handler;
|
||||
|
||||
/**
|
||||
* Constructs a route (value object).
|
||||
*
|
||||
* @param string $httpMethod
|
||||
* @param mixed $handler
|
||||
* @param string $regex
|
||||
* @param array $variables
|
||||
*/
|
||||
public function __construct($httpMethod, $handler, $regex, $variables)
|
||||
{
|
||||
$this->httpMethod = $httpMethod;
|
||||
$this->handler = $handler;
|
||||
$this->regex = $regex;
|
||||
$this->variables = $variables;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests whether this route matches the given string.
|
||||
*
|
||||
* @param string $str
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches($str)
|
||||
{
|
||||
$regex = '~^' . $this->regex . '$~';
|
||||
return (bool) preg_match($regex, $str);
|
||||
}
|
||||
}
|
152
advancedcontentfilter/vendor/nikic/fast-route/src/RouteCollector.php
vendored
Normal file
152
advancedcontentfilter/vendor/nikic/fast-route/src/RouteCollector.php
vendored
Normal file
|
@ -0,0 +1,152 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
class RouteCollector
|
||||
{
|
||||
/** @var RouteParser */
|
||||
protected $routeParser;
|
||||
|
||||
/** @var DataGenerator */
|
||||
protected $dataGenerator;
|
||||
|
||||
/** @var string */
|
||||
protected $currentGroupPrefix;
|
||||
|
||||
/**
|
||||
* Constructs a route collector.
|
||||
*
|
||||
* @param RouteParser $routeParser
|
||||
* @param DataGenerator $dataGenerator
|
||||
*/
|
||||
public function __construct(RouteParser $routeParser, DataGenerator $dataGenerator)
|
||||
{
|
||||
$this->routeParser = $routeParser;
|
||||
$this->dataGenerator = $dataGenerator;
|
||||
$this->currentGroupPrefix = '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a route to the collection.
|
||||
*
|
||||
* The syntax used in the $route string depends on the used route parser.
|
||||
*
|
||||
* @param string|string[] $httpMethod
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function addRoute($httpMethod, $route, $handler)
|
||||
{
|
||||
$route = $this->currentGroupPrefix . $route;
|
||||
$routeDatas = $this->routeParser->parse($route);
|
||||
foreach ((array) $httpMethod as $method) {
|
||||
foreach ($routeDatas as $routeData) {
|
||||
$this->dataGenerator->addRoute($method, $routeData, $handler);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a route group with a common prefix.
|
||||
*
|
||||
* All routes created in the passed callback will have the given group prefix prepended.
|
||||
*
|
||||
* @param string $prefix
|
||||
* @param callable $callback
|
||||
*/
|
||||
public function addGroup($prefix, callable $callback)
|
||||
{
|
||||
$previousGroupPrefix = $this->currentGroupPrefix;
|
||||
$this->currentGroupPrefix = $previousGroupPrefix . $prefix;
|
||||
$callback($this);
|
||||
$this->currentGroupPrefix = $previousGroupPrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a GET route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('GET', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function get($route, $handler)
|
||||
{
|
||||
$this->addRoute('GET', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a POST route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('POST', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function post($route, $handler)
|
||||
{
|
||||
$this->addRoute('POST', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a PUT route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('PUT', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function put($route, $handler)
|
||||
{
|
||||
$this->addRoute('PUT', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a DELETE route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('DELETE', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function delete($route, $handler)
|
||||
{
|
||||
$this->addRoute('DELETE', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a PATCH route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('PATCH', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function patch($route, $handler)
|
||||
{
|
||||
$this->addRoute('PATCH', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a HEAD route to the collection
|
||||
*
|
||||
* This is simply an alias of $this->addRoute('HEAD', $route, $handler)
|
||||
*
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
public function head($route, $handler)
|
||||
{
|
||||
$this->addRoute('HEAD', $route, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the collected route data, as provided by the data generator.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
return $this->dataGenerator->getData();
|
||||
}
|
||||
}
|
37
advancedcontentfilter/vendor/nikic/fast-route/src/RouteParser.php
vendored
Normal file
37
advancedcontentfilter/vendor/nikic/fast-route/src/RouteParser.php
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
interface RouteParser
|
||||
{
|
||||
/**
|
||||
* Parses a route string into multiple route data arrays.
|
||||
*
|
||||
* The expected output is defined using an example:
|
||||
*
|
||||
* For the route string "/fixedRoutePart/{varName}[/moreFixed/{varName2:\d+}]", if {varName} is interpreted as
|
||||
* a placeholder and [...] is interpreted as an optional route part, the expected result is:
|
||||
*
|
||||
* [
|
||||
* // first route: without optional part
|
||||
* [
|
||||
* "/fixedRoutePart/",
|
||||
* ["varName", "[^/]+"],
|
||||
* ],
|
||||
* // second route: with optional part
|
||||
* [
|
||||
* "/fixedRoutePart/",
|
||||
* ["varName", "[^/]+"],
|
||||
* "/moreFixed/",
|
||||
* ["varName2", [0-9]+"],
|
||||
* ],
|
||||
* ]
|
||||
*
|
||||
* Here one route string was converted into two route data arrays.
|
||||
*
|
||||
* @param string $route Route string to parse
|
||||
*
|
||||
* @return mixed[][] Array of route data arrays
|
||||
*/
|
||||
public function parse($route);
|
||||
}
|
87
advancedcontentfilter/vendor/nikic/fast-route/src/RouteParser/Std.php
vendored
Normal file
87
advancedcontentfilter/vendor/nikic/fast-route/src/RouteParser/Std.php
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\RouteParser;
|
||||
|
||||
use FastRoute\BadRouteException;
|
||||
use FastRoute\RouteParser;
|
||||
|
||||
/**
|
||||
* Parses route strings of the following form:
|
||||
*
|
||||
* "/user/{name}[/{id:[0-9]+}]"
|
||||
*/
|
||||
class Std implements RouteParser
|
||||
{
|
||||
const VARIABLE_REGEX = <<<'REGEX'
|
||||
\{
|
||||
\s* ([a-zA-Z_][a-zA-Z0-9_-]*) \s*
|
||||
(?:
|
||||
: \s* ([^{}]*(?:\{(?-1)\}[^{}]*)*)
|
||||
)?
|
||||
\}
|
||||
REGEX;
|
||||
const DEFAULT_DISPATCH_REGEX = '[^/]+';
|
||||
|
||||
public function parse($route)
|
||||
{
|
||||
$routeWithoutClosingOptionals = rtrim($route, ']');
|
||||
$numOptionals = strlen($route) - strlen($routeWithoutClosingOptionals);
|
||||
|
||||
// Split on [ while skipping placeholders
|
||||
$segments = preg_split('~' . self::VARIABLE_REGEX . '(*SKIP)(*F) | \[~x', $routeWithoutClosingOptionals);
|
||||
if ($numOptionals !== count($segments) - 1) {
|
||||
// If there are any ] in the middle of the route, throw a more specific error message
|
||||
if (preg_match('~' . self::VARIABLE_REGEX . '(*SKIP)(*F) | \]~x', $routeWithoutClosingOptionals)) {
|
||||
throw new BadRouteException('Optional segments can only occur at the end of a route');
|
||||
}
|
||||
throw new BadRouteException("Number of opening '[' and closing ']' does not match");
|
||||
}
|
||||
|
||||
$currentRoute = '';
|
||||
$routeDatas = [];
|
||||
foreach ($segments as $n => $segment) {
|
||||
if ($segment === '' && $n !== 0) {
|
||||
throw new BadRouteException('Empty optional part');
|
||||
}
|
||||
|
||||
$currentRoute .= $segment;
|
||||
$routeDatas[] = $this->parsePlaceholders($currentRoute);
|
||||
}
|
||||
return $routeDatas;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a route string that does not contain optional segments.
|
||||
*
|
||||
* @param string
|
||||
* @return mixed[]
|
||||
*/
|
||||
private function parsePlaceholders($route)
|
||||
{
|
||||
if (!preg_match_all(
|
||||
'~' . self::VARIABLE_REGEX . '~x', $route, $matches,
|
||||
PREG_OFFSET_CAPTURE | PREG_SET_ORDER
|
||||
)) {
|
||||
return [$route];
|
||||
}
|
||||
|
||||
$offset = 0;
|
||||
$routeData = [];
|
||||
foreach ($matches as $set) {
|
||||
if ($set[0][1] > $offset) {
|
||||
$routeData[] = substr($route, $offset, $set[0][1] - $offset);
|
||||
}
|
||||
$routeData[] = [
|
||||
$set[1][0],
|
||||
isset($set[2]) ? trim($set[2][0]) : self::DEFAULT_DISPATCH_REGEX
|
||||
];
|
||||
$offset = $set[0][1] + strlen($set[0][0]);
|
||||
}
|
||||
|
||||
if ($offset !== strlen($route)) {
|
||||
$routeData[] = substr($route, $offset);
|
||||
}
|
||||
|
||||
return $routeData;
|
||||
}
|
||||
}
|
12
advancedcontentfilter/vendor/nikic/fast-route/src/bootstrap.php
vendored
Normal file
12
advancedcontentfilter/vendor/nikic/fast-route/src/bootstrap.php
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
require __DIR__ . '/functions.php';
|
||||
|
||||
spl_autoload_register(function ($class) {
|
||||
if (strpos($class, 'FastRoute\\') === 0) {
|
||||
$name = substr($class, strlen('FastRoute'));
|
||||
require __DIR__ . strtr($name, '\\', DIRECTORY_SEPARATOR) . '.php';
|
||||
}
|
||||
});
|
74
advancedcontentfilter/vendor/nikic/fast-route/src/functions.php
vendored
Normal file
74
advancedcontentfilter/vendor/nikic/fast-route/src/functions.php
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
if (!function_exists('FastRoute\simpleDispatcher')) {
|
||||
/**
|
||||
* @param callable $routeDefinitionCallback
|
||||
* @param array $options
|
||||
*
|
||||
* @return Dispatcher
|
||||
*/
|
||||
function simpleDispatcher(callable $routeDefinitionCallback, array $options = [])
|
||||
{
|
||||
$options += [
|
||||
'routeParser' => 'FastRoute\\RouteParser\\Std',
|
||||
'dataGenerator' => 'FastRoute\\DataGenerator\\GroupCountBased',
|
||||
'dispatcher' => 'FastRoute\\Dispatcher\\GroupCountBased',
|
||||
'routeCollector' => 'FastRoute\\RouteCollector',
|
||||
];
|
||||
|
||||
/** @var RouteCollector $routeCollector */
|
||||
$routeCollector = new $options['routeCollector'](
|
||||
new $options['routeParser'], new $options['dataGenerator']
|
||||
);
|
||||
$routeDefinitionCallback($routeCollector);
|
||||
|
||||
return new $options['dispatcher']($routeCollector->getData());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param callable $routeDefinitionCallback
|
||||
* @param array $options
|
||||
*
|
||||
* @return Dispatcher
|
||||
*/
|
||||
function cachedDispatcher(callable $routeDefinitionCallback, array $options = [])
|
||||
{
|
||||
$options += [
|
||||
'routeParser' => 'FastRoute\\RouteParser\\Std',
|
||||
'dataGenerator' => 'FastRoute\\DataGenerator\\GroupCountBased',
|
||||
'dispatcher' => 'FastRoute\\Dispatcher\\GroupCountBased',
|
||||
'routeCollector' => 'FastRoute\\RouteCollector',
|
||||
'cacheDisabled' => false,
|
||||
];
|
||||
|
||||
if (!isset($options['cacheFile'])) {
|
||||
throw new \LogicException('Must specify "cacheFile" option');
|
||||
}
|
||||
|
||||
if (!$options['cacheDisabled'] && file_exists($options['cacheFile'])) {
|
||||
$dispatchData = require $options['cacheFile'];
|
||||
if (!is_array($dispatchData)) {
|
||||
throw new \RuntimeException('Invalid cache file "' . $options['cacheFile'] . '"');
|
||||
}
|
||||
return new $options['dispatcher']($dispatchData);
|
||||
}
|
||||
|
||||
$routeCollector = new $options['routeCollector'](
|
||||
new $options['routeParser'], new $options['dataGenerator']
|
||||
);
|
||||
$routeDefinitionCallback($routeCollector);
|
||||
|
||||
/** @var RouteCollector $routeCollector */
|
||||
$dispatchData = $routeCollector->getData();
|
||||
if (!$options['cacheDisabled']) {
|
||||
file_put_contents(
|
||||
$options['cacheFile'],
|
||||
'<?php return ' . var_export($dispatchData, true) . ';'
|
||||
);
|
||||
}
|
||||
|
||||
return new $options['dispatcher']($dispatchData);
|
||||
}
|
||||
}
|
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/CharCountBasedTest.php
vendored
Normal file
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/CharCountBasedTest.php
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class CharCountBasedTest extends DispatcherTest
|
||||
{
|
||||
protected function getDispatcherClass()
|
||||
{
|
||||
return 'FastRoute\\Dispatcher\\CharCountBased';
|
||||
}
|
||||
|
||||
protected function getDataGeneratorClass()
|
||||
{
|
||||
return 'FastRoute\\DataGenerator\\CharCountBased';
|
||||
}
|
||||
}
|
581
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/DispatcherTest.php
vendored
Normal file
581
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/DispatcherTest.php
vendored
Normal file
|
@ -0,0 +1,581 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
use FastRoute\RouteCollector;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
abstract class DispatcherTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Delegate dispatcher selection to child test classes
|
||||
*/
|
||||
abstract protected function getDispatcherClass();
|
||||
|
||||
/**
|
||||
* Delegate dataGenerator selection to child test classes
|
||||
*/
|
||||
abstract protected function getDataGeneratorClass();
|
||||
|
||||
/**
|
||||
* Set appropriate options for the specific Dispatcher class we're testing
|
||||
*/
|
||||
private function generateDispatcherOptions()
|
||||
{
|
||||
return [
|
||||
'dataGenerator' => $this->getDataGeneratorClass(),
|
||||
'dispatcher' => $this->getDispatcherClass()
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideFoundDispatchCases
|
||||
*/
|
||||
public function testFoundDispatches($method, $uri, $callback, $handler, $argDict)
|
||||
{
|
||||
$dispatcher = \FastRoute\simpleDispatcher($callback, $this->generateDispatcherOptions());
|
||||
$info = $dispatcher->dispatch($method, $uri);
|
||||
$this->assertSame($dispatcher::FOUND, $info[0]);
|
||||
$this->assertSame($handler, $info[1]);
|
||||
$this->assertSame($argDict, $info[2]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideNotFoundDispatchCases
|
||||
*/
|
||||
public function testNotFoundDispatches($method, $uri, $callback)
|
||||
{
|
||||
$dispatcher = \FastRoute\simpleDispatcher($callback, $this->generateDispatcherOptions());
|
||||
$routeInfo = $dispatcher->dispatch($method, $uri);
|
||||
$this->assertArrayNotHasKey(1, $routeInfo,
|
||||
'NOT_FOUND result must only contain a single element in the returned info array'
|
||||
);
|
||||
$this->assertSame($dispatcher::NOT_FOUND, $routeInfo[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideMethodNotAllowedDispatchCases
|
||||
*/
|
||||
public function testMethodNotAllowedDispatches($method, $uri, $callback, $availableMethods)
|
||||
{
|
||||
$dispatcher = \FastRoute\simpleDispatcher($callback, $this->generateDispatcherOptions());
|
||||
$routeInfo = $dispatcher->dispatch($method, $uri);
|
||||
$this->assertArrayHasKey(1, $routeInfo,
|
||||
'METHOD_NOT_ALLOWED result must return an array of allowed methods at index 1'
|
||||
);
|
||||
|
||||
list($routedStatus, $methodArray) = $dispatcher->dispatch($method, $uri);
|
||||
$this->assertSame($dispatcher::METHOD_NOT_ALLOWED, $routedStatus);
|
||||
$this->assertSame($availableMethods, $methodArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \FastRoute\BadRouteException
|
||||
* @expectedExceptionMessage Cannot use the same placeholder "test" twice
|
||||
*/
|
||||
public function testDuplicateVariableNameError()
|
||||
{
|
||||
\FastRoute\simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/foo/{test}/{test:\d+}', 'handler0');
|
||||
}, $this->generateDispatcherOptions());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \FastRoute\BadRouteException
|
||||
* @expectedExceptionMessage Cannot register two routes matching "/user/([^/]+)" for method "GET"
|
||||
*/
|
||||
public function testDuplicateVariableRoute()
|
||||
{
|
||||
\FastRoute\simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{id}', 'handler0'); // oops, forgot \d+ restriction ;)
|
||||
$r->addRoute('GET', '/user/{name}', 'handler1');
|
||||
}, $this->generateDispatcherOptions());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \FastRoute\BadRouteException
|
||||
* @expectedExceptionMessage Cannot register two routes matching "/user" for method "GET"
|
||||
*/
|
||||
public function testDuplicateStaticRoute()
|
||||
{
|
||||
\FastRoute\simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user', 'handler0');
|
||||
$r->addRoute('GET', '/user', 'handler1');
|
||||
}, $this->generateDispatcherOptions());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \FastRoute\BadRouteException
|
||||
* @expectedExceptionMessage Static route "/user/nikic" is shadowed by previously defined variable route "/user/([^/]+)" for method "GET"
|
||||
*/
|
||||
public function testShadowedStaticRoute()
|
||||
{
|
||||
\FastRoute\simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}', 'handler0');
|
||||
$r->addRoute('GET', '/user/nikic', 'handler1');
|
||||
}, $this->generateDispatcherOptions());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \FastRoute\BadRouteException
|
||||
* @expectedExceptionMessage Regex "(en|de)" for parameter "lang" contains a capturing group
|
||||
*/
|
||||
public function testCapturing()
|
||||
{
|
||||
\FastRoute\simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/{lang:(en|de)}', 'handler0');
|
||||
}, $this->generateDispatcherOptions());
|
||||
}
|
||||
|
||||
public function provideFoundDispatchCases()
|
||||
{
|
||||
$cases = [];
|
||||
|
||||
// 0 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/resource/123/456', 'handler0');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/resource/123/456';
|
||||
$handler = 'handler0';
|
||||
$argDict = [];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 1 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/handler0', 'handler0');
|
||||
$r->addRoute('GET', '/handler1', 'handler1');
|
||||
$r->addRoute('GET', '/handler2', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/handler2';
|
||||
$handler = 'handler2';
|
||||
$argDict = [];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 2 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}/{id:[0-9]+}', 'handler0');
|
||||
$r->addRoute('GET', '/user/{id:[0-9]+}', 'handler1');
|
||||
$r->addRoute('GET', '/user/{name}', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/rdlowrey';
|
||||
$handler = 'handler2';
|
||||
$argDict = ['name' => 'rdlowrey'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 3 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse $callback from #2
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/12345';
|
||||
$handler = 'handler1';
|
||||
$argDict = ['id' => '12345'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 4 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse $callback from #3
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/NaN';
|
||||
$handler = 'handler2';
|
||||
$argDict = ['name' => 'NaN'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 5 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse $callback from #4
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/rdlowrey/12345';
|
||||
$handler = 'handler0';
|
||||
$argDict = ['name' => 'rdlowrey', 'id' => '12345'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 6 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{id:[0-9]+}', 'handler0');
|
||||
$r->addRoute('GET', '/user/12345/extension', 'handler1');
|
||||
$r->addRoute('GET', '/user/{id:[0-9]+}.{extension}', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/12345.svg';
|
||||
$handler = 'handler2';
|
||||
$argDict = ['id' => '12345', 'extension' => 'svg'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 7 ----- Test GET method fallback on HEAD route miss ------------------------------------>
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}', 'handler0');
|
||||
$r->addRoute('GET', '/user/{name}/{id:[0-9]+}', 'handler1');
|
||||
$r->addRoute('GET', '/static0', 'handler2');
|
||||
$r->addRoute('GET', '/static1', 'handler3');
|
||||
$r->addRoute('HEAD', '/static1', 'handler4');
|
||||
};
|
||||
|
||||
$method = 'HEAD';
|
||||
$uri = '/user/rdlowrey';
|
||||
$handler = 'handler0';
|
||||
$argDict = ['name' => 'rdlowrey'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 8 ----- Test GET method fallback on HEAD route miss ------------------------------------>
|
||||
|
||||
// reuse $callback from #7
|
||||
|
||||
$method = 'HEAD';
|
||||
$uri = '/user/rdlowrey/1234';
|
||||
$handler = 'handler1';
|
||||
$argDict = ['name' => 'rdlowrey', 'id' => '1234'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 9 ----- Test GET method fallback on HEAD route miss ------------------------------------>
|
||||
|
||||
// reuse $callback from #8
|
||||
|
||||
$method = 'HEAD';
|
||||
$uri = '/static0';
|
||||
$handler = 'handler2';
|
||||
$argDict = [];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 10 ---- Test existing HEAD route used if available (no fallback) ----------------------->
|
||||
|
||||
// reuse $callback from #9
|
||||
|
||||
$method = 'HEAD';
|
||||
$uri = '/static1';
|
||||
$handler = 'handler4';
|
||||
$argDict = [];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 11 ---- More specified routes are not shadowed by less specific of another method ------>
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}', 'handler0');
|
||||
$r->addRoute('POST', '/user/{name:[a-z]+}', 'handler1');
|
||||
};
|
||||
|
||||
$method = 'POST';
|
||||
$uri = '/user/rdlowrey';
|
||||
$handler = 'handler1';
|
||||
$argDict = ['name' => 'rdlowrey'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 12 ---- Handler of more specific routes is used, if it occurs first -------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}', 'handler0');
|
||||
$r->addRoute('POST', '/user/{name:[a-z]+}', 'handler1');
|
||||
$r->addRoute('POST', '/user/{name}', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'POST';
|
||||
$uri = '/user/rdlowrey';
|
||||
$handler = 'handler1';
|
||||
$argDict = ['name' => 'rdlowrey'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 13 ---- Route with constant suffix ----------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}', 'handler0');
|
||||
$r->addRoute('GET', '/user/{name}/edit', 'handler1');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/rdlowrey/edit';
|
||||
$handler = 'handler1';
|
||||
$argDict = ['name' => 'rdlowrey'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $handler, $argDict];
|
||||
|
||||
// 14 ---- Handle multiple methods with the same handler ---------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute(['GET', 'POST'], '/user', 'handlerGetPost');
|
||||
$r->addRoute(['DELETE'], '/user', 'handlerDelete');
|
||||
$r->addRoute([], '/user', 'handlerNone');
|
||||
};
|
||||
|
||||
$argDict = [];
|
||||
$cases[] = ['GET', '/user', $callback, 'handlerGetPost', $argDict];
|
||||
$cases[] = ['POST', '/user', $callback, 'handlerGetPost', $argDict];
|
||||
$cases[] = ['DELETE', '/user', $callback, 'handlerDelete', $argDict];
|
||||
|
||||
// 17 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('POST', '/user.json', 'handler0');
|
||||
$r->addRoute('GET', '/{entity}.json', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['GET', '/user.json', $callback, 'handler1', ['entity' => 'user']];
|
||||
|
||||
// 18 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '', 'handler0');
|
||||
};
|
||||
|
||||
$cases[] = ['GET', '', $callback, 'handler0', []];
|
||||
|
||||
// 19 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('HEAD', '/a/{foo}', 'handler0');
|
||||
$r->addRoute('GET', '/b/{foo}', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['HEAD', '/b/bar', $callback, 'handler1', ['foo' => 'bar']];
|
||||
|
||||
// 20 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('HEAD', '/a', 'handler0');
|
||||
$r->addRoute('GET', '/b', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['HEAD', '/b', $callback, 'handler1', []];
|
||||
|
||||
// 21 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/foo', 'handler0');
|
||||
$r->addRoute('HEAD', '/{bar}', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['HEAD', '/foo', $callback, 'handler1', ['bar' => 'foo']];
|
||||
|
||||
// 22 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('*', '/user', 'handler0');
|
||||
$r->addRoute('*', '/{user}', 'handler1');
|
||||
$r->addRoute('GET', '/user', 'handler2');
|
||||
};
|
||||
|
||||
$cases[] = ['GET', '/user', $callback, 'handler2', []];
|
||||
|
||||
// 23 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('*', '/user', 'handler0');
|
||||
$r->addRoute('GET', '/user', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['POST', '/user', $callback, 'handler0', []];
|
||||
|
||||
// 24 ----
|
||||
|
||||
$cases[] = ['HEAD', '/user', $callback, 'handler1', []];
|
||||
|
||||
// 25 ----
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/{bar}', 'handler0');
|
||||
$r->addRoute('*', '/foo', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['GET', '/foo', $callback, 'handler0', ['bar' => 'foo']];
|
||||
|
||||
// 26 ----
|
||||
|
||||
$callback = function(RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user', 'handler0');
|
||||
$r->addRoute('*', '/{foo:.*}', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['POST', '/bar', $callback, 'handler1', ['foo' => 'bar']];
|
||||
|
||||
// x -------------------------------------------------------------------------------------->
|
||||
|
||||
return $cases;
|
||||
}
|
||||
|
||||
public function provideNotFoundDispatchCases()
|
||||
{
|
||||
$cases = [];
|
||||
|
||||
// 0 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/resource/123/456', 'handler0');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 1 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse callback from #0
|
||||
$method = 'POST';
|
||||
$uri = '/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 2 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse callback from #1
|
||||
$method = 'PUT';
|
||||
$uri = '/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 3 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/handler0', 'handler0');
|
||||
$r->addRoute('GET', '/handler1', 'handler1');
|
||||
$r->addRoute('GET', '/handler2', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 4 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}/{id:[0-9]+}', 'handler0');
|
||||
$r->addRoute('GET', '/user/{id:[0-9]+}', 'handler1');
|
||||
$r->addRoute('GET', '/user/{name}', 'handler2');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 5 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse callback from #4
|
||||
$method = 'GET';
|
||||
$uri = '/user/rdlowrey/12345/not-found';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// 6 -------------------------------------------------------------------------------------->
|
||||
|
||||
// reuse callback from #5
|
||||
$method = 'HEAD';
|
||||
|
||||
$cases[] = [$method, $uri, $callback];
|
||||
|
||||
// x -------------------------------------------------------------------------------------->
|
||||
|
||||
return $cases;
|
||||
}
|
||||
|
||||
public function provideMethodNotAllowedDispatchCases()
|
||||
{
|
||||
$cases = [];
|
||||
|
||||
// 0 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/resource/123/456', 'handler0');
|
||||
};
|
||||
|
||||
$method = 'POST';
|
||||
$uri = '/resource/123/456';
|
||||
$allowedMethods = ['GET'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $allowedMethods];
|
||||
|
||||
// 1 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/resource/123/456', 'handler0');
|
||||
$r->addRoute('POST', '/resource/123/456', 'handler1');
|
||||
$r->addRoute('PUT', '/resource/123/456', 'handler2');
|
||||
$r->addRoute('*', '/', 'handler3');
|
||||
};
|
||||
|
||||
$method = 'DELETE';
|
||||
$uri = '/resource/123/456';
|
||||
$allowedMethods = ['GET', 'POST', 'PUT'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $allowedMethods];
|
||||
|
||||
// 2 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('GET', '/user/{name}/{id:[0-9]+}', 'handler0');
|
||||
$r->addRoute('POST', '/user/{name}/{id:[0-9]+}', 'handler1');
|
||||
$r->addRoute('PUT', '/user/{name}/{id:[0-9]+}', 'handler2');
|
||||
$r->addRoute('PATCH', '/user/{name}/{id:[0-9]+}', 'handler3');
|
||||
};
|
||||
|
||||
$method = 'DELETE';
|
||||
$uri = '/user/rdlowrey/42';
|
||||
$allowedMethods = ['GET', 'POST', 'PUT', 'PATCH'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $allowedMethods];
|
||||
|
||||
// 3 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('POST', '/user/{name}', 'handler1');
|
||||
$r->addRoute('PUT', '/user/{name:[a-z]+}', 'handler2');
|
||||
$r->addRoute('PATCH', '/user/{name:[a-z]+}', 'handler3');
|
||||
};
|
||||
|
||||
$method = 'GET';
|
||||
$uri = '/user/rdlowrey';
|
||||
$allowedMethods = ['POST', 'PUT', 'PATCH'];
|
||||
|
||||
$cases[] = [$method, $uri, $callback, $allowedMethods];
|
||||
|
||||
// 4 -------------------------------------------------------------------------------------->
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute(['GET', 'POST'], '/user', 'handlerGetPost');
|
||||
$r->addRoute(['DELETE'], '/user', 'handlerDelete');
|
||||
$r->addRoute([], '/user', 'handlerNone');
|
||||
};
|
||||
|
||||
$cases[] = ['PUT', '/user', $callback, ['GET', 'POST', 'DELETE']];
|
||||
|
||||
// 5
|
||||
|
||||
$callback = function (RouteCollector $r) {
|
||||
$r->addRoute('POST', '/user.json', 'handler0');
|
||||
$r->addRoute('GET', '/{entity}.json', 'handler1');
|
||||
};
|
||||
|
||||
$cases[] = ['PUT', '/user.json', $callback, ['POST', 'GET']];
|
||||
|
||||
// x -------------------------------------------------------------------------------------->
|
||||
|
||||
return $cases;
|
||||
}
|
||||
}
|
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/GroupCountBasedTest.php
vendored
Normal file
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/GroupCountBasedTest.php
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class GroupCountBasedTest extends DispatcherTest
|
||||
{
|
||||
protected function getDispatcherClass()
|
||||
{
|
||||
return 'FastRoute\\Dispatcher\\GroupCountBased';
|
||||
}
|
||||
|
||||
protected function getDataGeneratorClass()
|
||||
{
|
||||
return 'FastRoute\\DataGenerator\\GroupCountBased';
|
||||
}
|
||||
}
|
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/GroupPosBasedTest.php
vendored
Normal file
16
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/GroupPosBasedTest.php
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class GroupPosBasedTest extends DispatcherTest
|
||||
{
|
||||
protected function getDispatcherClass()
|
||||
{
|
||||
return 'FastRoute\\Dispatcher\\GroupPosBased';
|
||||
}
|
||||
|
||||
protected function getDataGeneratorClass()
|
||||
{
|
||||
return 'FastRoute\\DataGenerator\\GroupPosBased';
|
||||
}
|
||||
}
|
24
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/MarkBasedTest.php
vendored
Normal file
24
advancedcontentfilter/vendor/nikic/fast-route/test/Dispatcher/MarkBasedTest.php
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute\Dispatcher;
|
||||
|
||||
class MarkBasedTest extends DispatcherTest
|
||||
{
|
||||
public function setUp()
|
||||
{
|
||||
preg_match('/(*MARK:A)a/', 'a', $matches);
|
||||
if (!isset($matches['MARK'])) {
|
||||
$this->markTestSkipped('PHP 5.6 required for MARK support');
|
||||
}
|
||||
}
|
||||
|
||||
protected function getDispatcherClass()
|
||||
{
|
||||
return 'FastRoute\\Dispatcher\\MarkBased';
|
||||
}
|
||||
|
||||
protected function getDataGeneratorClass()
|
||||
{
|
||||
return 'FastRoute\\DataGenerator\\MarkBased';
|
||||
}
|
||||
}
|
44
advancedcontentfilter/vendor/nikic/fast-route/test/HackTypechecker/HackTypecheckerTest.php
vendored
Normal file
44
advancedcontentfilter/vendor/nikic/fast-route/test/HackTypechecker/HackTypecheckerTest.php
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace FastRoute;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class HackTypecheckerTest extends TestCase
|
||||
{
|
||||
const SERVER_ALREADY_RUNNING_CODE = 77;
|
||||
|
||||
public function testTypechecks($recurse = true)
|
||||
{
|
||||
if (!defined('HHVM_VERSION')) {
|
||||
$this->markTestSkipped('HHVM only');
|
||||
}
|
||||
if (!version_compare(HHVM_VERSION, '3.9.0', '>=')) {
|
||||
$this->markTestSkipped('classname<T> requires HHVM 3.9+');
|
||||
}
|
||||
|
||||
// The typechecker recurses the whole tree, so it makes sure
|
||||
// that everything in fixtures/ is valid when this runs.
|
||||
|
||||
$output = [];
|
||||
$exit_code = null;
|
||||
exec(
|
||||
'hh_server --check ' . escapeshellarg(__DIR__ . '/../../') . ' 2>&1',
|
||||
$output,
|
||||
$exit_code
|
||||
);
|
||||
if ($exit_code === self::SERVER_ALREADY_RUNNING_CODE) {
|
||||
$this->assertTrue(
|
||||
$recurse,
|
||||
'Typechecker still running after running hh_client stop'
|
||||
);
|
||||
// Server already running - 3.10 => 3.11 regression:
|
||||
// https://github.com/facebook/hhvm/issues/6646
|
||||
exec('hh_client stop 2>/dev/null');
|
||||
$this->testTypechecks(/* recurse = */ false);
|
||||
return;
|
||||
|
||||
}
|
||||
$this->assertSame(0, $exit_code, implode("\n", $output));
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue