371 Commits

Author SHA1 Message Date
Hypolite Petovan
f2cc0312ca Merge pull request 'Bluesky: readme is added' (#1387) from heluecht/friendica-addons:bluesky-readme into 2023.05-rc
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1387
2023-05-23 13:26:08 +02:00
heluecht
e3ca7c73ce Merge pull request 'HU translation updates THX Balázs Úr' (#1386) from tobias/friendica-addons:20230523-hu into 2023.05-rc
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1386
2023-05-23 07:47:43 +02:00
Michael
654a9da297 Bluesky: readme is added 2023-05-23 05:45:18 +00:00
Tobias Diekershoff
7a1af5fb5b HU translation updates 2023-05-23 06:46:36 +02:00
Hypolite Petovan
a4b91826ba Merge pull request 'Bluesky: Basic connector for Bluesky is added' (#1385) from heluecht/friendica-addons:bluesky into 2023.05-rc
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1385
2023-05-22 02:59:36 +02:00
Michael
a7ea815642 Post up to 4 images 2023-05-21 20:14:20 +00:00
Michael
ea6e79448d Simplify token creation 2023-05-21 19:25:57 +00:00
Michael
77813a2acd Make the host readonly 2023-05-21 18:58:05 +00:00
Michael
dff48c3295 Bluesky: Basic connector for Bluesky is added 2023-05-21 18:54:02 +00:00
heluecht
e91962b0b6 Merge pull request '[various] Ensure probe_detect hook functions don't set the result key with an empty array' (#1382) from MrPetovan/friendica-addons:bug/13080-probe_detect-result into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1382
2023-05-06 12:24:07 +02:00
Hypolite Petovan
e0778d2bdd Merge pull request 'use new style of accessing baseUrl' (#1384) from mexon/friendica-addons:mailstream-fix-3 into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1384
2023-05-05 18:46:25 +02:00
Matthew Exon
631bfd83e9 use new style of accessing baseUrl 2023-05-05 18:08:51 +02:00
Hypolite Petovan
4b31588484 Merge pull request 'remove App arguments' (#1383) from mexon/friendica-addons:mailstream-fix-2 into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1383
2023-05-05 17:40:52 +02:00
Matthew Exon
8886c90d1e remove App arguments 2023-05-05 17:36:11 +02:00
Hypolite Petovan
f5d8604e59 [twitter] Return null in the probe_detect hook result key on unsuccessful probe
- Add authoritative probe result setting
2023-05-05 00:08:17 -04:00
Hypolite Petovan
a0574ab045 [tumblr] Have tumblr_get_contact_by_url return null for unsuccessful probe
- Add result setting for unsuccessful authoritative probe
2023-05-05 00:07:24 -04:00
Hypolite Petovan
e1de842ffb Merge pull request '[piwik] updated DE translation' (#1381) from tobias/friendica-addons:20230501-de into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1381
2023-05-01 16:42:03 +02:00
Tobias Diekershoff
ca134e9ed3 [piwik] updated DE translation 2023-05-01 10:05:20 +02:00
Tobias Diekershoff
1a2554fe95 Merge pull request '[piwiki] regenerated messages-po file' (#1380) from 20230501-piwik into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1380
2023-05-01 07:42:53 +02:00
Tobias Diekershoff
13da605435 [piwiki] regenerated messages-po file 2023-05-01 07:40:12 +02:00
Hypolite Petovan
df2e9863ed Merge pull request '[piwik] Short Endpoint option' (#1379) from EntropyEngineer/friendica-addons:piwik-Short-Endpoint-option into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1379
2023-04-30 13:43:35 +02:00
Entropy Engineer
199205a07c [piwik] Short Endpoint option 2023-04-30 10:34:28 +02:00
Hypolite Petovan
94eb2ec197 Merge pull request 'Tumblr: Users can now follow tags' (#1378) from heluecht/friendica-addons:tumblr-tags into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1378
2023-04-29 21:23:58 +02:00
Michael
58fce248c1 Use ?? instead of the parameter for the default value 2023-04-29 19:16:51 +00:00
Michael
dcd097b5b0 Tumblr: Users can now follow tags 2023-04-29 06:56:51 +00:00
Hypolite Petovan
040c735243 Merge pull request 'Repair broken log line' (#1377) from mexon/friendica-addons:mailstream-fix into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1377
2023-04-28 23:14:58 +02:00
Matthew Exon
4eedc9423a Repair broken log line 2023-04-28 23:09:40 +02:00
Hypolite Petovan
c4876d46b4 Merge pull request 'Tumblr: Added support for hook "support_probe"' (#1376) from heluecht/friendica-addons:tumblr-support-probe into develop
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1376
2023-04-27 13:59:07 +02:00
Michael
8400258f07 Tumblr: Added support for hook "support_probe" 2023-04-27 05:28:05 +00:00
Tobias Diekershoff
8f29a51277 Merge branch 'develop' into stable 2023-04-27 07:24:05 +02:00
Tobias Diekershoff
b34c9131ca recovered [mailstream] various modernisations
These changes where made on github as #1354 but got lost due mirroring
issued from the development branch. Original author is mexon.

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

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

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-06-11 09:08:16 -04:00
Hypolite Petovan
612272ef80 Merge pull request #1259 from tobiasd/20220611-winphone
mark the whindowsphonepush as unsupported
2022-06-11 08:02:44 -04:00
Tobias Diekershoff
bea8d103bf mark the whindowsphonepush as unsupported
The Windows Phone app for Friendica does not seem to exist anymore (see https://www.microsoft.com/store/p/friendica-mobile/9nblggh0fhmn) which was linked from a promo video as store location. So lets set it to unsupported and deprecate it once 2022.09 was released.
2022-06-11 13:56:52 +02:00
Hypolite Petovan
7bb3595d46 Merge pull request #1257 from loma-one/patch-1
Update unicode_smilies.php
2022-06-08 14:48:45 -04:00
loma-one
14baddba32 Update unicode_smilies.php
changed
2022-06-08 20:07:32 +02:00
loma-one
8d84f2a557 Update unicode_smilies.php
The plain ASCII emoticons are not enclosed by a :
2022-06-08 13:17:05 +02:00
loma-one
357c7e7597 Update unicode_smilies.php
:p in re:pubica was interpreted as emoji and output in text
2022-06-08 12:24:53 +02:00
Michael Vogel
8089989083 Merge pull request #1256 from tobiasd/20220607-lng
RU translation updates
2022-06-07 07:13:00 +02:00
Tobias Diekershoff
6d3c4e51ac planets translation update THX SpcCw 2022-06-07 06:42:10 +02:00
Tobias Diekershoff
ecc841b5f7 startpage translation update THX SpcCw 2022-06-07 06:42:10 +02:00
Tobias Diekershoff
682ce12ac2 ijpost translation update THX SpcCw 2022-06-07 06:42:04 +02:00
Tobias Diekershoff
169081d503 Merge pull request #1255 from annando/twitter-extid
Twitter: Only search for comments with extid to avoid problems with mirrored posts
2022-06-02 15:21:41 +02:00
Michael
c71e29a772 Twitter: Only search for comments with extid to avoid problems with mirrored posts 2022-06-02 13:16:45 +00:00
Philipp
07300cb9c9 Merge pull request #1254 from tobiasd/20220531-ru
RU translation updates THX Alexander An
2022-05-31 07:35:27 +02:00
Tobias Diekershoff
58d40a1d81 RU translation of curweather addon THX Alexander An 2022-05-31 07:07:44 +02:00
Tobias Diekershoff
c5d19154f2 RU translation of webrtc addon updated THX Alexander An 2022-05-31 07:06:56 +02:00
Tobias Diekershoff
d304873049 advanced content filter added RU translation THX Alexander An 2022-05-31 07:05:28 +02:00
Hypolite Petovan
ffe62a2577 Merge pull request #1253 from tobiasd/20220525-frhu
FR and HU translation updates
2022-05-25 09:05:16 -04:00
Tobias Diekershoff
19ae3851e8 advancedcontentfilter addon HU translation update THX Balázs Úr 2022-05-25 08:37:28 +02:00
Tobias Diekershoff
348ca80292 markdown addon FR translation updated THX kalon33 2022-05-25 08:36:54 +02:00
Tobias Diekershoff
91f5ba9eab notifyall addon FR translation updated THX kalon33 2022-05-25 08:36:09 +02:00
Michael Vogel
640cc4c717 Merge pull request #1252 from tobiasd/20220525-fr
FR translation updates THX  kalon33
2022-05-24 08:55:34 +02:00
Tobias Diekershoff
886c56e4b7 twitter addon FR translation updated THX kalon33 2022-05-24 08:01:18 +02:00
Tobias Diekershoff
53a806af87 notifyall addon FR translation updated THX kalon33 2022-05-24 08:00:56 +02:00
Tobias Diekershoff
d0dfb04585 mailstream addon FR translation updated THX kalon33 2022-05-24 07:59:53 +02:00
Tobias Diekershoff
96637b30a4 tictac addon FR translation updated THX kalon33 2022-05-24 07:59:32 +02:00
Tobias Diekershoff
ab2eaf136e morechoice addon FR translation updated THX kalon33 2022-05-24 07:59:10 +02:00
Tobias Diekershoff
6481b384ee langfilter addon FR translation updated THX kalon33 2022-05-24 07:58:37 +02:00
Hypolite Petovan
efd654d08e Merge pull request #1251 from tobiasd/20220513-lngs
Translation Updates
2022-05-13 11:28:54 -04:00
Tobias Diekershoff
1a8925b0aa langfilter ZH CN translation update THX shykana 2022-05-13 16:38:26 +02:00
Tobias Diekershoff
bb1ca9ee92 PL translation advancedcontentfilter THX strebski 2022-05-13 16:32:32 +02:00
Tobias Diekershoff
4eec2841f4 DE translation advancedcontentfilter updated 2022-05-13 16:31:57 +02:00
Tobias Diekershoff
3ce438f4d6 Merge pull request #1250 from MrPetovan/bug/11491-advancedcontentfilter-variables-mismatch
[advancedcontentfilter] Use a random item to validate fields on rule save
2022-05-11 15:12:34 +02:00
Hypolite Petovan
444330d91f [advancedcontentfilter] Update main translation file after string was added 2022-05-11 09:00:41 -04:00
Hypolite Petovan
3455871f40 [advancedcontentfilter] Use a random item to validate fields on rule save
- Remove hard-coded list of allowed fields
2022-05-11 09:00:19 -04:00
Michael Vogel
99a3ddfefa Merge pull request #1249 from tobiasd/20220503-pl
PL translation webrtc THX strebski
2022-05-03 13:15:52 +02:00
Tobias Diekershoff
ffb8e897cf PL translation webrtc THX strebski 2022-05-03 09:15:05 +02:00
1401 changed files with 92256 additions and 40445 deletions

View File

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

View File

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

View File

@@ -1,9 +1,7 @@
matrix:
include:
- PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.18
platform: releaser/release # This prevents executing this pipeline at other servers than ci.friendi.ca
# This prevents executing this pipeline at other servers than ci.friendi.ca
labels:
location: friendica
type: releaser
skip_clone: true
@@ -36,7 +34,7 @@ pipeline:
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
@@ -47,7 +45,7 @@ pipeline:
branch: [ develop, '*-rc' ]
event: push
composer_install:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
image: friendicaci/php7.4:php7.4.33
commands:
- export COMPOSER_HOME=.composer
- composer validate
@@ -102,37 +100,12 @@ pipeline:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]
event: push
upload_artifacts:
publish_artifacts:
image: alpine
secrets:
- source: sftp_host
target: lftp_host
- source: sftp_user
target: lftp_user
- source: ssh_key
target: lftp_key
environment:
LFTP_PORT: "22"
LFTP_SOURCE: "build"
LFTP_TARGET: "/http"
volumes:
- /etc/hosts:/etc/hosts
commands:
- apk add lftp openssh openssl
- touch drone.key
- chmod 400 drone.key
- echo "$LFTP_KEY" | openssl base64 -A -d > drone.key
- lftp -c "
set net:timeout 5;
set net:max-retries 2;
set net:reconnect-interval-base 5;
set sftp:auto-confirm true;
set sftp:connect-program 'ssh -q -a -x -i drone.key';
connect sftp://$LFTP_USER:@$LFTP_HOST:$LFTP_PORT;
cd $LFTP_TARGET;
mput $LFTP_SOURCE/*;
"
- rm drone.key
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica-addons
branch: [ develop, '*-rc' ]

View File

@@ -1,9 +1,7 @@
matrix:
include:
- PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.18
platform: releaser/release # This prevents executing this pipeline at other servers than ci.friendi.ca
# This prevents executing this pipeline at other servers than ci.friendi.ca
labels:
location: friendica
type: releaser
skip_clone: true
@@ -34,7 +32,7 @@ pipeline:
settings:
backend: "filesystem"
restore: true
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
archive_format: "gzip"
mount:
- '.composer'
@@ -44,7 +42,7 @@ pipeline:
repo: friendica/friendica-addons
event: tag
composer_install:
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
image: friendicaci/php7.4:php7.4.33
commands:
- export COMPOSER_HOME=.composer
- composer validate
@@ -96,37 +94,12 @@ pipeline:
when:
repo: friendica/friendica-addons
event: tag
upload_artifacts:
publish_artifacts:
image: alpine
secrets:
- source: sftp_host
target: lftp_host
- source: sftp_user
target: lftp_user
- source: ssh_key
target: lftp_key
environment:
LFTP_PORT: "22"
LFTP_SOURCE: "build"
LFTP_TARGET: "/http"
volumes:
- /etc/hosts:/etc/hosts
commands:
- apk add lftp openssh openssl
- touch drone.key
- chmod 400 drone.key
- echo "$LFTP_KEY" | openssl base64 -A -d > drone.key
- lftp -c "
set net:timeout 5;
set net:max-retries 2;
set net:reconnect-interval-base 5;
set sftp:auto-confirm true;
set sftp:connect-program 'ssh -q -a -x -i drone.key';
connect sftp://$LFTP_USER:@$LFTP_HOST:$LFTP_PORT;
cd $LFTP_TARGET;
mput $LFTP_SOURCE/*;
"
- rm drone.key
- cp -fr build/* /tmp/friendica_files/
volumes:
- files:/tmp/friendica_files
when:
repo: friendica/friendica-addons
event: tag

File diff suppressed because one or more lines are too long

View File

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

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

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:13-0500\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"
@@ -112,42 +112,46 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
#: 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:338 advancedcontentfilter.php:374
#: advancedcontentfilter.php:405
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
#: advancedcontentfilter.php:418
msgid "Invalid form security token, please refresh the page."
msgstr ""
#: advancedcontentfilter.php:350
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr ""
#: advancedcontentfilter.php:364
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr ""
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
msgid "Rule doesn't exist or doesn't belong to you."
msgstr ""
#: advancedcontentfilter.php:395
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr ""
#: advancedcontentfilter.php:418
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr ""
#: advancedcontentfilter.php:428
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr ""
#: advancedcontentfilter.php:436
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr ""

View File

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

View File

@@ -5,7 +5,6 @@ function string_plural_select_de($n){
$n = intval($n);
return intval($n != 1);
}}
$a->strings['Method not found'] = 'Methode nicht gefunden';
$a->strings['Filtered by rule: %s'] = 'Nach dieser Regel gefiltert: %s';
$a->strings['Advanced Content Filter'] = 'Erweiterter Inhaltsfilter';
$a->strings['Back to Addon Settings'] = 'Zurück zu den Addon Einstellungen';
@@ -28,6 +27,7 @@ $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.';
@@ -37,3 +37,4 @@ $a->strings['Rule successfully updated'] = 'Regel wurde erfolgreich aktualisiert
$a->strings['Rule successfully deleted'] = 'Regel erfolgreich gelöscht.';
$a->strings['Missing argument: guid.'] = 'Fehlendes Argument: guid.';
$a->strings['Unknown post with guid: %s'] = 'Unbekannter Beitrag mit der guid: %s';
$a->strings['Method not found'] = 'Methode nicht gefunden';

View File

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

View File

@@ -3,9 +3,8 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Method not found'] = 'Méthode non trouvée';
$a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
$a->strings['Advanced Content Filter'] = 'Filtre avancé de contenu';
$a->strings['Back to Addon Settings'] = 'Retour aux paramètres de l\'extension';
@@ -28,6 +27,7 @@ $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';
@@ -37,3 +37,4 @@ $a->strings['Rule successfully updated'] = 'Règle bien mise à jour';
$a->strings['Rule successfully deleted'] = 'Règle bien supprimée';
$a->strings['Missing argument: guid.'] = 'Argument manquant: ';
$a->strings['Unknown post with guid: %s'] = 'Post inconnu avec guid : %s';
$a->strings['Method not found'] = 'Méthode non trouvée';

View File

@@ -4,16 +4,16 @@
#
#
# Translators:
# Balázs Úr, 2021
# Balázs Úr, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Balázs Úr, 2021\n"
"Last-Translator: Balázs Úr, 2022\n"
"Language-Team: Hungarian (https://www.transifex.com/Friendica/teams/12172/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -122,42 +122,48 @@ msgstr "Szabály kifejezése"
msgid "Cancel"
msgstr "Mégse"
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
#: 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:338 advancedcontentfilter.php:374
#: advancedcontentfilter.php:405
#: 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:350
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "A szabály neve és kifejezése kötelező."
#: advancedcontentfilter.php:364
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "A szabály sikeresen hozzáadva"
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
#: 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:395
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "A szabály sikeresen frissítve"
#: advancedcontentfilter.php:418
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "A szabály sikeresen törölve"
#: advancedcontentfilter.php:428
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Hiányzó argumentum: guid."
#: advancedcontentfilter.php:436
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Ismeretlen bejegyzés a következő guid azonosítóval: %s"

View File

@@ -27,6 +27,7 @@ $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ő.';

View File

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

View File

@@ -3,14 +3,14 @@
if(! function_exists("string_plural_select_it")) {
function string_plural_select_it($n){
$n = intval($n);
return intval($n != 1);
if ($n == 1) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Filtered by rule: %s'] = 'Filtrato dalla regola: %s';
$a->strings['Advanced Content Filter'] = 'Filtro Avanzato Contenuti';
$a->strings['Back to Addon Settings'] = 'Torna alle impostazioni del componente aggiuntivo';
$a->strings['Add a Rule'] = 'Aggiungi una regola';
$a->strings['Help'] = 'Aiuto';
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un\'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni disponibili, controlla la <a href="advancedcontentfilter/help">pagina di aiuto</a>.';
$a->strings['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';
@@ -26,7 +26,6 @@ $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['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Esempi:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
$a->strings['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.';

View File

@@ -6,15 +6,16 @@
# 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: 2021-11-21 19:13-0500\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Joe Doe, 2021\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"
@@ -123,42 +124,46 @@ msgstr "Wyrażanie reguły"
msgid "Cancel"
msgstr "Anuluj"
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
#: 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:338 advancedcontentfilter.php:374
#: advancedcontentfilter.php:405
#: 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:350
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Nazwa reguły i wyrażenie są wymagane."
#: advancedcontentfilter.php:364
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Reguła została pomyślnie dodana"
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
#: 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:395
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Reguła została pomyślnie zaktualizowana"
#: advancedcontentfilter.php:418
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Reguła została pomyślnie usunięta"
#: advancedcontentfilter.php:428
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Brakujący argument: guid."
#: advancedcontentfilter.php:436
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Nieznany post z guid:%s"

View File

@@ -27,6 +27,7 @@ $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.';

View File

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

View File

@@ -10,7 +10,7 @@ $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['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'] = 'Отключено';
@@ -26,8 +26,8 @@ $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['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.'] = 'Требуется ввести название и значение правила.';

View File

@@ -5,15 +5,16 @@
#
# Translators:
# Bjoessi <torbjorn.andersson@syte.se>, 2019
# Viktor Nilsson, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
"Last-Translator: Bjoessi <torbjorn.andersson@syte.se>, 2019\n"
"Last-Translator: Viktor Nilsson, 2022\n"
"Language-Team: Swedish (https://www.transifex.com/Friendica/teams/12172/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,6 +50,10 @@ msgid ""
"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"
@@ -118,42 +123,46 @@ msgstr "Regeluttryck"
msgid "Cancel"
msgstr "Avbryt"
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
#: 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:338 advancedcontentfilter.php:374
#: advancedcontentfilter.php:405
#: 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:350
#: advancedcontentfilter.php:363
msgid "The rule name and expression are required."
msgstr "Regelns namn och uttryck krävs."
#: advancedcontentfilter.php:364
#: advancedcontentfilter.php:377
msgid "Rule successfully added"
msgstr "Regeln kunde läggas till"
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
#: 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:395
#: advancedcontentfilter.php:408
msgid "Rule successfully updated"
msgstr "Uppdatering av regel lyckades"
#: advancedcontentfilter.php:418
#: advancedcontentfilter.php:431
msgid "Rule successfully deleted"
msgstr "Borttagning av regel lyckades"
#: advancedcontentfilter.php:428
#: advancedcontentfilter.php:441
msgid "Missing argument: guid."
msgstr "Argument saknas: guid."
#: advancedcontentfilter.php:436
#: advancedcontentfilter.php:449
#, php-format
msgid "Unknown post with guid: %s"
msgstr "Okänt inlägg med guid: %s"

View File

@@ -10,6 +10,7 @@ $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';
@@ -26,6 +27,7 @@ $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.';

View File

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

View File

@@ -17,6 +17,6 @@
</script>
<!-- JS -->
<script src="{{$baseurl}}/view/asset/vue/dist/vue.min.js"></script>
<script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script>
<script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -34,16 +34,16 @@ function birdavatar_install()
/**
* Bird avatar user settings page
*/
function birdavatar_addon_settings(App $a, array &$data)
function birdavatar_addon_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/birdavatar/');
$html = Renderer::replaceMacros($t, [
'$uncache' => time(),
'$uid' => local_user(),
'$uid' => DI::userSession()->getLocalUserId(),
'$setrandomize' => DI::l10n()->t('Set default profile avatar or randomize the bird.'),
]);
@@ -54,7 +54,7 @@ function birdavatar_addon_settings(App $a, array &$data)
'submit' => [
'birdavatar-usebird' => DI::l10n()->t('Use Bird as Avatar'),
'birdavatar-morebird' => DI::l10n()->t('More Random Bird!'),
'birdavatar-emailbird' => DI::pConfig()->get(local_user(), 'birdavatar', 'seed', false) ? DI::l10n()->t('Reset to email Bird') : null,
'birdavatar-emailbird' => DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'birdavatar', 'seed', false) ? DI::l10n()->t('Reset to email Bird') : null,
],
];
}
@@ -62,68 +62,67 @@ function birdavatar_addon_settings(App $a, array &$data)
/**
* Bird avatar user settings POST handle
*/
function birdavatar_addon_settings_post(App $a, &$s)
function birdavatar_addon_settings_post(&$s)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (!empty($_POST['birdavatar-usebird'])) {
$url = DI::baseUrl()->get() . '/birdavatar/' . local_user() . '?ts=' . time();
$url = DI::baseUrl() . '/birdavatar/' . DI::userSession()->getLocalUserId() . '?ts=' . time();
$self = DBA::selectFirst('contact', ['id'], ['uid' => local_user(), 'self' => true]);
$self = DBA::selectFirst('contact', ['id'], ['uid' => DI::userSession()->getLocalUserId(), 'self' => true]);
if (!DBA::isResult($self)) {
notice(DI::l10n()->t("The bird has not found itself."));
DI::sysmsg()->addNotice(DI::l10n()->t("The bird has not found itself."));
return;
}
Photo::importProfilePhoto($url, local_user(), $self['id']);
Photo::importProfilePhoto($url, DI::userSession()->getLocalUserId(), $self['id']);
$condition = ['uid' => local_user(), 'contact-id' => $self['id']];
$condition = ['uid' => DI::userSession()->getLocalUserId(), 'contact-id' => $self['id']];
$photo = DBA::selectFirst('photo', ['resource-id'], $condition);
if (!DBA::isResult($photo)) {
notice(DI::l10n()->t('There was an error, the bird flew away.'));
DI::sysmsg()->addNotice(DI::l10n()->t('There was an error, the bird flew away.'));
return;
}
DBA::update('photo', ['profile' => false], ['profile' => true, 'uid' => local_user()]);
DBA::update('photo', ['profile' => false], ['profile' => true, 'uid' => DI::userSession()->getLocalUserId()]);
$fields = ['profile' => true, 'album' => DI::l10n()->t('Profile Photos'), 'contact-id' => 0];
DBA::update('photo', $fields, ['uid' => local_user(), 'resource-id' => $photo['resource-id']]);
DBA::update('photo', $fields, ['uid' => DI::userSession()->getLocalUserId(), 'resource-id' => $photo['resource-id']]);
Photo::importProfilePhoto($url, local_user(), $self['id']);
Photo::importProfilePhoto($url, DI::userSession()->getLocalUserId(), $self['id']);
Contact::updateSelfFromUserID(local_user(), true);
Contact::updateSelfFromUserID(DI::userSession()->getLocalUserId(), true);
// Update global directory in background
Profile::publishUpdate(local_user());
Profile::publishUpdate(DI::userSession()->getLocalUserId());
info(DI::l10n()->t('Meow!'));
DI::sysmsg()->addInfo(DI::l10n()->t('Meow!'));
return;
}
if (!empty($_POST['birdavatar-morebird'])) {
DI::pConfig()->set(local_user(), 'birdavatar', 'seed', time());
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'birdavatar', 'seed', time());
}
if (!empty($_POST['birdavatar-emailbird'])) {
DI::pConfig()->delete(local_user(), 'birdavatar', 'seed');
DI::pConfig()->delete(DI::userSession()->getLocalUserId(), 'birdavatar', 'seed');
}
}
/**
* Returns the URL to the bird avatar
*
* @param $a array
* @param &$b array
*/
function birdavatar_lookup(App $a, &$b)
function birdavatar_lookup(array &$b)
{
$user = DBA::selectFirst('user', ['uid'], ['email' => $b['email']]);
if (DBA::isResult($user)) {
$url = DI::baseUrl()->get() . '/birdavatar/' . $user['uid'];
$url = DI::baseUrl() . '/birdavatar/' . $user['uid'];
} else {
$url = DI::baseUrl()->get() . '/birdavatar/' . md5(trim(strtolower($b['email'])));
$url = DI::baseUrl() . '/birdavatar/' . md5(trim(strtolower($b['email'])));
}
switch ($b['size']) {
@@ -136,9 +135,12 @@ function birdavatar_lookup(App $a, &$b)
$b['success'] = true;
}
function birdavatar_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 birdavatar_module() {}
/**
* Returns image for user id
@@ -146,7 +148,7 @@ function birdavatar_module()
* @throws NotFoundException
*
*/
function birdavatar_content(App $a)
function birdavatar_content()
{
if (DI::args()->getArgc() < 2 || DI::args()->getArgc() > 3) {
throw new NotFoundException(); // this should be catched on index and show default "not found" page.

View File

@@ -44,6 +44,7 @@
* THE SOFTWARE.
*/
use Friendica\App;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Renderer;
@@ -54,9 +55,10 @@ function blackout_install() {
Hook::register('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
}
function blackout_redirect ($a, $b) {
function blackout_redirect ($b)
{
// if we have a logged in user, don't throw her out
if (local_user()) {
if (DI::userSession()->getLocalUserId()) {
return true;
}
@@ -67,32 +69,34 @@ function blackout_redirect ($a, $b) {
$now = time();
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
if ( $date1 && $date2 ) {
if ($date1 && $date2) {
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart)->format('U');
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend)->format('U');
} else {
$date1 = 0;
$date2 = 0;
$date1 = 0;
$date2 = 0;
}
if (( $date1 <= $now ) && ( $now <= $date2 )) {
Logger::notice('redirecting user to blackout page');
System::externalRedirect($myurl);
}
}
function blackout_addon_admin(&$a, &$o) {
function blackout_addon_admin(string &$o)
{
$mystart = DI::config()->get('blackout','begindate');
if (! is_string($mystart)) { $mystart = "YYYY-MM-DD hh:mm"; }
if (! is_string($mystart)) { $mystart = 'YYYY-MM-DD hh:mm'; }
$myend = DI::config()->get('blackout','enddate');
if (! is_string($myend)) { $myend = "YYYY-MM-DD hh:mm"; }
if (! is_string($myend)) { $myend = 'YYYY-MM-DD hh:mm'; }
$myurl = DI::config()->get('blackout','url');
if (! is_string($myurl)) { $myurl = "https://www.example.com"; }
$t = Renderer::getMarkupTemplate( "admin.tpl", "addon/blackout/" );
if (! is_string($myurl)) { $myurl = 'https://www.example.com'; }
$t = Renderer::getMarkupTemplate( 'admin.tpl', 'addon/blackout/' );
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
// a note for the admin
$adminnote = "";
$adminnote = '';
if ($date2 < $date1) {
$adminnote = DI::l10n()->t("The end-date is prior to the start-date of the blackout, you should fix this.");
} else {
@@ -100,18 +104,17 @@ function blackout_addon_admin(&$a, &$o) {
}
$o = Renderer::replaceMacros($t, [
'$submit' => DI::l10n()->t('Save Settings'),
'$rurl' => ["rurl", DI::l10n()->t("Redirect URL"), $myurl, DI::l10n()->t("All your visitors from the web will be redirected to this URL."), "", "", "url"],
'$startdate' => ["startdate", DI::l10n()->t("Begin of the Blackout"), $mystart, DI::l10n()->t("Format is <tt>YYYY-MM-DD hh:mm</tt>; <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute.")],
'$enddate' => ["enddate", DI::l10n()->t("End of the Blackout"), $myend, ""],
'$rurl' => ['rurl', DI::l10n()->t("Redirect URL"), $myurl, DI::l10n()->t("All your visitors from the web will be redirected to this URL."), '', '', 'url'],
'$startdate' => ['startdate', DI::l10n()->t("Begin of the Blackout"), $mystart, DI::l10n()->t("Format is <tt>YYYY-MM-DD hh:mm</tt>; <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute.")],
'$enddate' => ['enddate', DI::l10n()->t("End of the Blackout"), $myend, ''],
'$adminnote' => $adminnote,
'$aboutredirect' => DI::l10n()->t("<strong>Note</strong>: The redirect will be active from the moment you press the submit button. Users currently logged in will <strong>not</strong> be thrown out but can't login again after logging out while the blackout is still in place."),
]);
}
function blackout_addon_admin_post (&$a) {
$begindate = trim($_POST['startdate']);
$enddate = trim($_POST['enddate']);
$url = trim($_POST['rurl']);
DI::config()->set('blackout','begindate',$begindate);
DI::config()->set('blackout','enddate',$enddate);
DI::config()->set('blackout','url',$url);
function blackout_addon_admin_post ()
{
DI::config()->set('blackout', 'begindate', trim($_POST['startdate']));
DI::config()->set('blackout', 'enddate', trim($_POST['enddate']));
DI::config()->set('blackout', 'url', trim($_POST['rurl']));
}

View File

@@ -12,9 +12,9 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-05-23 19:26+0000\n"
"Last-Translator: Till Mohr <tmtrfx@till-mohr.de>\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"PO-Revision-Date: 2014-06-22 11:19+0000\n"
"Last-Translator: Till Mohr <tmtrfx@till-mohr.de>, 2021\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -14,14 +14,14 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-03-22 08:14+0000\n"
"Last-Translator: bob lebonche <lebonche@tutanota.com>\n"
"PO-Revision-Date: 2014-06-22 11:19+0000\n"
"Last-Translator: bob lebonche <lebonche@tutanota.com>, 2021\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: blackout.php:97
msgid ""

View File

@@ -3,7 +3,7 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['The end-date is prior to the start-date of the blackout, you should fix this.'] = 'La date de fin est antérieure à la date de début du blackout, vous devriez changer ça.';
$a->strings['Please double check the current settings for the blackout. It will begin on <strong>%s</strong> and end on <strong>%s</strong>.'] = 'S\'il vous plaît, vérifiez à nouveau les réglages actuels du blackout. Il commencera à <strong>%s</strong> finira à <strong>%s</strong>.';

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-12-23 11:12+0000\n"
"Last-Translator: Balázs Úr\n"
"PO-Revision-Date: 2014-06-22 11:19+0000\n"
"Last-Translator: Balázs Úr, 2020-2021\n"
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -8,9 +8,7 @@
*
*/
use Friendica\App;
use Friendica\Core\Hook;
use Friendica\Core\System;
use Friendica\DI;
use Jaybizzle\CrawlerDetect\CrawlerDetect;
use Friendica\Core\Logger;
@@ -19,12 +17,14 @@ use Friendica\Network\HTTPException\ForbiddenException;
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
function blockbot_install() {
function blockbot_install()
{
Hook::register('init_1', __FILE__, 'blockbot_init_1');
}
function blockbot_addon_admin(&$a, &$o) {
$t = Renderer::getMarkupTemplate("admin.tpl", "addon/blockbot/");
function blockbot_addon_admin(string &$o)
{
$t = Renderer::getMarkupTemplate('admin.tpl', 'addon/blockbot/');
$o = Renderer::replaceMacros($t, [
'$submit' => DI::l10n()->t('Save Settings'),
@@ -34,13 +34,15 @@ function blockbot_addon_admin(&$a, &$o) {
]);
}
function blockbot_addon_admin_post(&$a) {
function blockbot_addon_admin_post()
{
DI::config()->set('blockbot', 'good_crawlers', $_POST['good_crawlers'] ?? false);
DI::config()->set('blockbot', 'block_gab', $_POST['block_gab'] ?? false);
DI::config()->set('blockbot', 'training', $_POST['training'] ?? false);
}
function blockbot_init_1(App $a) {
function blockbot_init_1()
{
if (empty($_SERVER['HTTP_USER_AGENT'])) {
return;
}
@@ -48,12 +50,15 @@ function blockbot_init_1(App $a) {
$logdata = ['agent' => $_SERVER['HTTP_USER_AGENT'], 'uri' => $_SERVER['REQUEST_URI']];
// List of "good" crawlers
$good_agents = ['fediverse.space crawler', 'fediverse.network crawler', 'Active_Pods_CheckBot_3.0',
$good_agents = [
'fediverse.space crawler', 'fediverse.network crawler', 'Active_Pods_CheckBot_3.0',
'Social-Relay/', 'Test Certificate Info', 'Uptimebot/', 'GNUSocialBot', 'UptimeRobot/',
'PTST/', 'Zabbix', 'Poduptime/'];
'PTST/', 'Zabbix', 'Poduptime/'
];
// List of known crawlers.
$agents = ['SemrushBot', 's~feedly-nikon3', 'Qwantify/Bleriot/', 'ltx71', 'Sogou web spider/',
$agents = [
'SemrushBot', 's~feedly-nikon3', 'Qwantify/Bleriot/', 'ltx71', 'Sogou web spider/',
'Diffbot/', 'Twitterbot/', 'YisouSpider', 'evc-batch/', 'LivelapBot/', 'TrendsmapResolver/',
'PaperLiBot/', 'Nuzzel', 'um-LN/', 'Google Favicon', 'Datanyze', 'BLEXBot/', '360Spider',
'adscanner/', 'HeadlessChrome', 'wpif', 'startmebot/', 'Googlebot/', 'Applebot/',
@@ -75,7 +80,8 @@ function blockbot_init_1(App $a) {
'Google-Apps-Script; beanserver;', 'woorankreview/', 'Seekport Crawler;', 'AHC/',
'SkypeUriPreview Preview/', 'Semanticbot/', 'Embed PHP library', 'XoviOnpageCrawler;',
'GetHPinfo.com-Bot/', 'BoardReader Favicon Fetcher', 'Google-Adwords-Instant', 'newspaper/',
'YurichevBot/', 'Crawling at Home Project', 'InfoTigerBot/'];
'YurichevBot/', 'Crawling at Home Project', 'InfoTigerBot/'
];
if (!DI::config()->get('blockbot', 'good_crawlers')) {
$agents = array_merge($agents, $good_agents);
@@ -110,7 +116,8 @@ function blockbot_init_1(App $a) {
}
// List of false positives' strings of known "good" agents.
$agents = ['curl', 'zgrab', 'Go-http-client', 'curb', 'github.com', 'reqwest', 'Feedly/',
$agents = [
'curl', 'zgrab', 'Go-http-client', 'curb', 'github.com', 'reqwest', 'Feedly/',
'Python-urllib/', 'Liferea/', 'aiohttp/', 'WordPress.com Reader', 'hackney/',
'Faraday v', 'okhttp', 'UniversalFeedParser', 'PixelFedBot', 'python-requests',
'WordPress/', 'http.rb/', 'Apache-HttpClient/', 'WordPress.com;', 'Pleroma',
@@ -118,7 +125,8 @@ function blockbot_init_1(App $a) {
'lua-resty-http/', 'Tiny Tiny RSS/', 'Wget/', 'PostmanRuntime/',
'W3C_Validator/', 'NetNewsWire', 'FeedValidator/', 'theoldreader.com', 'axios/',
'Paw/', 'PeerTube/', 'fedi.inex.dev', 'FediDB/', 'index.community crawler',
'Slackbot-LinkExpanding'];
'Slackbot-LinkExpanding'
];
if (DI::config()->get('blockbot', 'good_crawlers')) {
$agents = array_merge($agents, $good_agents);
@@ -126,11 +134,11 @@ function blockbot_init_1(App $a) {
foreach ($agents as $agent) {
if (stristr($_SERVER['HTTP_USER_AGENT'], $agent)) {
logger::notice('False positive', $logdata);
logger::info('False positive', $logdata);
return;
}
}
logger::info('Blocked bot', $logdata);
logger::notice('Blocked bot', $logdata);
throw new ForbiddenException('Bots are not allowed');
}

View File

@@ -5,6 +5,7 @@
* Version: 1.0
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
* Author: Roland Haeder <https://f.haeder.net/roland>
* Status: unsupported
*/
use Friendica\App;
@@ -26,13 +27,13 @@ function blockem_install()
Hook::register('enotify_store' , 'addon/blockem/blockem.php', 'blockem_enotify_store');
}
function blockem_addon_settings(App $a, array &$data)
function blockem_addon_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$words = DI::pConfig()->get(local_user(), 'blockem', 'words', '');
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words', '');
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/blockem/');
$html = Renderer::replaceMacros($t, [
@@ -47,18 +48,18 @@ function blockem_addon_settings(App $a, array &$data)
];
}
function blockem_addon_settings_post(App $a, array &$b)
function blockem_addon_settings_post(array &$b)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (!empty($_POST['blockem-submit'])) {
DI::pConfig()->set(local_user(), 'blockem', 'words', trim($_POST['blockem-words']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'blockem', 'words', trim($_POST['blockem-words']));
}
}
function blockem_enotify_store(App $a, array &$b)
function blockem_enotify_store(array &$b)
{
$words = DI::pConfig()->get($b['uid'], 'blockem', 'words');
@@ -89,16 +90,16 @@ function blockem_enotify_store(App $a, array &$b)
}
}
function blockem_prepare_body_content_filter(App $a, array &$hook_data)
function blockem_prepare_body_content_filter(array &$hook_data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$profiles_string = null;
if (local_user()) {
$profiles_string = DI::pConfig()->get(local_user(), 'blockem', 'words');
if (DI::userSession()->getLocalUserId()) {
$profiles_string = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
}
if ($profiles_string) {
@@ -121,22 +122,22 @@ function blockem_prepare_body_content_filter(App $a, array &$hook_data)
}
}
function blockem_display_item(App $a, array &$b = null)
function blockem_display_item(array &$b = null)
{
if (!empty($b['output']['body']) && strstr($b['output']['body'], 'id="blockem-wrap-')) {
$b['output']['thumb'] = DI::baseUrl()->get() . "/images/person-80.jpg";
$b['output']['thumb'] = DI::baseUrl() . "/images/person-80.jpg";
}
}
function blockem_conversation_start(App $a, array &$b)
function blockem_conversation_start(array &$b)
{
global $blockem_words;
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$words = DI::pConfig()->get(local_user(), 'blockem', 'words');
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
if ($words) {
$blockem_words = explode(',', $words);
@@ -160,11 +161,11 @@ function blockemUnblock(author) {
EOT;
}
function blockem_item_photo_menu(App $a, array &$b)
function blockem_item_photo_menu(array &$b)
{
global $blockem_words;
if (!local_user() || $b['item']['self']) {
if (!DI::userSession()->getLocalUserId() || $b['item']['self']) {
return;
}
@@ -186,17 +187,20 @@ function blockem_item_photo_menu(App $a, array &$b)
}
}
function blockem_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 blockem_module() {}
function blockem_init(App $a)
function blockem_init()
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$words = DI::pConfig()->get(local_user(), 'blockem', 'words');
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
if (array_key_exists('block', $_GET) && $_GET['block']) {
if (strlen($words)) {
@@ -221,6 +225,6 @@ function blockem_init(App $a)
$words = implode(',', $newarr);
}
DI::pConfig()->set(local_user(), 'blockem', 'words', $words);
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'blockem', 'words', $words);
exit();
}

View File

@@ -7,56 +7,44 @@
# Hypolite Petovan <hypolite@mrpetovan.com>, 2016
# Marie Olive <lacellule101@gmail.com>, 2018
# StefOfficiel <pichard.stephane@free.fr>, 2015
# vladimir N <lapoubelle111@gmail.com>, 2018
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
"PO-Revision-Date: 2018-12-30 12:33+0000\n"
"Last-Translator: vladimir N <lapoubelle111@gmail.com>\n"
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
"Last-Translator: Vladimir Núñez <lapoubelle111@gmail.com>, 2018\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: blockem.php:54 blockem.php:58
msgid "Blockem"
msgstr "Bloquez-les"
#: blockem.php:62
#: blockem.php:39
msgid ""
"Hides user's content by collapsing posts. Also replaces their avatar with "
"generic image."
msgstr "Cache le contenu de l'utilisateur en contractant les publications. Remplace aussi leur avatar par une image générique."
#: blockem.php:63
#: blockem.php:40
msgid "Comma separated profile URLS:"
msgstr "URLs de profil séparées par des virgules:"
#: blockem.php:67
msgid "Save Settings"
msgstr "Sauvegarder les paramètres"
#: blockem.php:45
msgid "Blockem"
msgstr "Bloquez-les"
#: blockem.php:81
msgid "BLOCKEM Settings saved."
msgstr "Paramètres Bloquez-les sauvegardés."
#: blockem.php:143
#: blockem.php:120
#, php-format
msgid "Filtered user: %s"
msgstr "Utilisateur filtré:%s"
#: blockem.php:202
#: blockem.php:183
msgid "Unblock Author"
msgstr "Débloquer l'Auteur"
#: blockem.php:204
#: blockem.php:185
msgid "Block Author"
msgstr "Bloquer l'Auteur"
#: blockem.php:244
msgid "blockem settings updated"
msgstr "Réglages Blockem mis à jour."

View File

@@ -3,14 +3,11 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Blockem'] = 'Bloquez-les';
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Cache le contenu de l\'utilisateur en contractant les publications. Remplace aussi leur avatar par une image générique.';
$a->strings['Comma separated profile URLS:'] = 'URLs de profil séparées par des virgules:';
$a->strings['Save Settings'] = 'Sauvegarder les paramètres';
$a->strings['BLOCKEM Settings saved.'] = 'Paramètres Bloquez-les sauvegardés.';
$a->strings['Blockem'] = 'Bloquez-les';
$a->strings['Filtered user: %s'] = 'Utilisateur filtré:%s';
$a->strings['Unblock Author'] = 'Débloquer l\'Auteur';
$a->strings['Block Author'] = 'Bloquer l\'Auteur';
$a->strings['blockem settings updated'] = 'Réglages Blockem mis à jour.';

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
"PO-Revision-Date: 2021-12-23 11:13+0000\n"
"Last-Translator: Balázs Úr\n"
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
"Last-Translator: Balázs Úr, 2020\n"
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

10
bluesky/README.md Normal file
View File

@@ -0,0 +1,10 @@
Bluesky Addon
==============
This addon currently supports posting to Bluesky.
The import is under development and will hopefully come soon.
No setup is needed for the admins to make it work for their users.
Bluesky itself is under development as well. It is planned to make it decentral.
The addon is prepared to support different servers. But it isn't enabled yet.

387
bluesky/bluesky.php Normal file
View File

@@ -0,0 +1,387 @@
<?php
/**
* Name: Bluesky Connector
* Description: Post to Bluesky
* Version: 1.0
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
*/
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\Plaintext;
use Friendica\Core\Config\Util\ConfigFileManager;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model\Item;
use Friendica\Model\Photo;
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Util\DateTimeFormat;
function bluesky_install()
{
Hook::register('load_config', __FILE__, 'bluesky_load_config');
Hook::register('hook_fork', __FILE__, 'bluesky_hook_fork');
Hook::register('post_local', __FILE__, 'bluesky_post_local');
Hook::register('notifier_normal', __FILE__, 'bluesky_send');
Hook::register('jot_networks', __FILE__, 'bluesky_jot_nets');
Hook::register('connector_settings', __FILE__, 'bluesky_settings');
Hook::register('connector_settings_post', __FILE__, 'bluesky_settings_post');
}
function bluesky_load_config(ConfigFileManager $loader)
{
DI::app()->getConfigCache()->load($loader->loadAddonConfig('bluesky'), \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC);
}
function bluesky_settings(array &$data)
{
if (!DI::userSession()->getLocalUserId()) {
return;
}
$enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post') ?? false;
$def_enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post_by_default') ?? false;
$host = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'host') ?: 'https://bsky.social';
$handle = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'handle');
$did = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'did');
$token = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'access_token');
$status = $token ? DI::l10n()->t("You are authenticated to Bluesky. For security reasons the password isn't stored.") : DI::l10n()->t('You are not authenticated. Please enter the app password.');
$t = Renderer::getMarkupTemplate('connector_settings.tpl', 'addon/bluesky/');
$html = Renderer::replaceMacros($t, [
'$enable' => ['bluesky', DI::l10n()->t('Enable Bluesky Post Addon'), $enabled],
'$bydefault' => ['bluesky_bydefault', DI::l10n()->t('Post to Bluesky by default'), $def_enabled],
'$host' => ['bluesky_host', DI::l10n()->t('Bluesky host'), $host, '', '', 'readonly'],
'$handle' => ['bluesky_handle', DI::l10n()->t('Bluesky handle'), $handle],
'$did' => ['bluesky_did', DI::l10n()->t('Bluesky DID'), $did, DI::l10n()->t('This is the unique identifier. It will be fetched automatically, when the handle is entered.'), '', 'readonly'],
'$password' => ['bluesky_password', DI::l10n()->t('Bluesky app password'), '', DI::l10n()->t("Please don't add your real password here, but instead create a specific app password in the Bluesky settings.")],
'$status' => $status
]);
$data = [
'connector' => 'bluesky',
'title' => DI::l10n()->t('Bluesky Export'),
'image' => 'images/bluesky.jpg',
'enabled' => $enabled,
'html' => $html,
];
}
function bluesky_settings_post(array &$b)
{
if (empty($_POST['bluesky-submit'])) {
return;
}
$old_host = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'host');
$old_handle = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'handle');
$old_did = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'did');
$host = $_POST['bluesky_host'];
$handle = $_POST['bluesky_handle'];
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'post', intval($_POST['bluesky']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'post_by_default', intval($_POST['bluesky_bydefault']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'host', $host);
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'handle', $handle);
if (!empty($host) && !empty($handle)) {
if (empty($old_did) || $old_host != $host || $old_handle != $handle) {
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'did', bluesky_get_did(DI::userSession()->getLocalUserId()));
}
} else {
DI::pConfig()->delete(DI::userSession()->getLocalUserId(), 'bluesky', 'did');
}
if (!empty($_POST['bluesky_password'])) {
bluesky_create_token(DI::userSession()->getLocalUserId(), $_POST['bluesky_password']);
}
}
function bluesky_jot_nets(array &$jotnets_fields)
{
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post')) {
$jotnets_fields[] = [
'type' => 'checkbox',
'field' => [
'bluesky_enable',
DI::l10n()->t('Post to Bluesky'),
DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post_by_default')
]
];
}
}
function bluesky_hook_fork(array &$b)
{
if ($b['name'] != 'notifier_normal') {
return;
}
$post = $b['data'];
if (($post['created'] !== $post['edited']) && !$post['deleted']) {
DI::logger()->info('Editing is not supported by the addon');
$b['execute'] = false;
return;
}
if (!strstr($post['postopts'] ?? '', 'bluesky') || ($post['parent'] != $post['id']) || $post['private']) {
$b['execute'] = false;
return;
}
}
function bluesky_post_local(array &$b)
{
if ($b['edit']) {
return;
}
if (!DI::userSession()->getLocalUserId() || (DI::userSession()->getLocalUserId() != $b['uid'])) {
return;
}
if ($b['private'] || $b['parent']) {
return;
}
$bluesky_post = intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post'));
$bluesky_enable = (($bluesky_post && !empty($_REQUEST['bluesky_enable'])) ? intval($_REQUEST['bluesky_enable']) : 0);
// if API is used, default to the chosen settings
if ($b['api_source'] && intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'post_by_default'))) {
$bluesky_enable = 1;
}
if (!$bluesky_enable) {
return;
}
if (strlen($b['postopts'])) {
$b['postopts'] .= ',';
}
$b['postopts'] .= 'bluesky';
}
function bluesky_send(array &$b)
{
if (($b['created'] !== $b['edited']) && !$b['deleted']) {
return;
}
if ($b['gravity'] != Item::GRAVITY_PARENT) {
return;
} elseif ($b['private'] || !strstr($b['postopts'], 'bluesky')) {
return;
}
bluesky_create_post($b);
}
function bluesky_create_post(array $item)
{
$uid = $item['uid'];
$token = bluesky_get_token($uid);
if (empty($token)) {
return;
}
$did = DI::pConfig()->get($uid, 'bluesky', 'did');
$msg = Plaintext::getPost($item, 300, false, BBCode::CONNECTORS);
$parent = $root = [];
foreach ($msg['parts'] as $key => $part) {
$record = [
'text' => $part,
'createdAt' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
'$type' => 'app.bsky.feed.post'
];
if (!empty($root)) {
$record['reply'] = ['root' => $root, 'parent' => $parent];
}
if ($key == count($msg['parts']) - 1) {
$record = bluesky_add_embed($uid, $msg, $record);
}
$post = [
'collection' => 'app.bsky.feed.post',
'repo' => $did,
'record' => $record
];
$parent = bluesky_post($uid, '/xrpc/com.atproto.repo.createRecord', json_encode($post), ['Content-type' => 'application/json', 'Authorization' => ['Bearer ' . $token]]);
if (empty($parent)) {
return;
}
Logger::debug('Posting done', ['return' => $parent]);
if (empty($root)) {
$root = $parent;
}
}
}
function bluesky_add_embed(int $uid, array $msg, array $record): array
{
if (($msg['type'] != 'link') && !empty($msg['images'])) {
$images = [];
foreach ($msg['images'] as $image) {
$photo = Photo::selectFirst(['resource-id'], ['id' => $image['id']]);
$photo = Photo::selectFirst([], ["`resource-id` = ? AND `scale` > ?", $photo['resource-id'], 0], ['order' => ['scale']]);
$blob = bluesky_upload_blob($uid, $photo);
if (!empty($blob) && count($images) < 4) {
$images[] = ['alt' => $image['description'], 'image' => $blob];
}
}
if (!empty($images)) {
$record['embed'] = ['$type' => 'app.bsky.embed.images', 'images' => $images];
}
} elseif ($msg['type'] == 'link') {
$record['embed'] = [
'$type' => 'app.bsky.embed.external',
'external' => [
'uri' => $msg['url'],
'title' => $msg['title'],
'description' => $msg['description'],
]
];
if (!empty($msg['image'])) {
$photo = Photo::createPhotoForExternalResource($msg['image']);
$blob = bluesky_upload_blob($uid, $photo);
if (!empty($blob)) {
$record['embed']['external']['thumb'] = $blob;
}
}
}
return $record;
}
function bluesky_upload_blob(int $uid, array $photo): ?stdClass
{
$content = Photo::getImageForPhoto($photo);
$data = bluesky_post($uid, '/xrpc/com.atproto.repo.uploadBlob', $content, ['Content-type' => $photo['type'], 'Authorization' => ['Bearer ' . bluesky_get_token($uid)]]);
if (empty($data)) {
return null;
}
Logger::debug('Uploaded blob', ['return' => $data]);
return $data->blob;
}
function bluesky_get_timeline(int $uid)
{
$data = bluesky_get($uid, '/xrpc/app.bsky.feed.getTimeline', HttpClientAccept::JSON, [HttpClientOptions::HEADERS => ['Authorization' => ['Bearer ' . bluesky_get_token($uid)]]]);
if (empty($data)) {
return;
}
if (empty($data->feed)) {
return;
}
foreach ($data->feed as $entry) {
// TODO Add Functionality to read the timeline
print_r($entry);
}
}
function bluesky_get_did(int $uid): string
{
$data = bluesky_get($uid, '/xrpc/com.atproto.identity.resolveHandle?handle=' . DI::pConfig()->get($uid, 'bluesky', 'handle'));
if (empty($data)) {
return '';
}
Logger::debug('Got DID', ['return' => $data]);
return $data->did;
}
function bluesky_get_token(int $uid): string
{
$token = DI::pConfig()->get($uid, 'bluesky', 'access_token');
$created = DI::pConfig()->get($uid, 'bluesky', 'token_created');
if (empty($token)) {
return '';
}
if ($created + 300 < time()) {
return bluesky_refresh_token($uid);
}
return $token;
}
function bluesky_refresh_token(int $uid): string
{
$token = DI::pConfig()->get($uid, 'bluesky', 'refresh_token');
$data = bluesky_post($uid, '/xrpc/com.atproto.server.refreshSession', '', ['Authorization' => ['Bearer ' . $token]]);
if (empty($data)) {
return '';
}
Logger::debug('Refreshed token', ['return' => $data]);
DI::pConfig()->set($uid, 'bluesky', 'access_token', $data->accessJwt);
DI::pConfig()->set($uid, 'bluesky', 'refresh_token', $data->refreshJwt);
DI::pConfig()->set($uid, 'bluesky', 'token_created', time());
return $data->accessJwt;
}
function bluesky_create_token(int $uid, string $password): string
{
$did = DI::pConfig()->get($uid, 'bluesky', 'did');
$data = bluesky_post($uid, '/xrpc/com.atproto.server.createSession', json_encode(['identifier' => $did, 'password' => $password]), ['Content-type' => 'application/json']);
if (empty($data)) {
return '';
}
Logger::debug('Created token', ['return' => $data]);
DI::pConfig()->set($uid, 'bluesky', 'access_token', $data->accessJwt);
DI::pConfig()->set($uid, 'bluesky', 'refresh_token', $data->refreshJwt);
DI::pConfig()->set($uid, 'bluesky', 'token_created', time());
return $data->accessJwt;
}
function bluesky_post(int $uid, string $url, string $params, array $headers): ?stdClass
{
try {
$curlResult = DI::httpClient()->post(DI::pConfig()->get($uid, 'bluesky', 'host') . $url, $params, $headers);
} catch (\Exception $e) {
Logger::notice('Exception on post', ['exception' => $e]);
return null;
}
if (!$curlResult->isSuccess()) {
Logger::notice('API Error', ['error' => json_decode($curlResult->getBody()) ?: $curlResult->getBody()]);
return null;
}
return json_decode($curlResult->getBody());
}
function bluesky_get(int $uid, string $url, string $accept_content = HttpClientAccept::DEFAULT, array $opts = []): ?stdClass
{
try {
$curlResult = DI::httpClient()->get(DI::pConfig()->get($uid, 'bluesky', 'host') . $url, $accept_content, $opts);
} catch (\Exception $e) {
Logger::notice('Exception on get', ['exception' => $e]);
return null;
}
if (!$curlResult->isSuccess()) {
Logger::notice('API Error', ['error' => json_decode($curlResult->getBody()) ?: $curlResult->getBody()]);
return null;
}
return json_decode($curlResult->getBody());
}

View File

@@ -0,0 +1,72 @@
# ADDON bluesky
# Copyright (C)
# This file is distributed under the same license as the Friendica bluesky addon package.
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-21 19:24+0000\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"
#: bluesky.php:51
msgid ""
"You are authenticated to Bluesky. For security reasons the password isn't "
"stored."
msgstr ""
#: bluesky.php:51
msgid "You are not authenticated. Please enter the app password."
msgstr ""
#: bluesky.php:55
msgid "Enable Bluesky Post Addon"
msgstr ""
#: bluesky.php:56
msgid "Post to Bluesky by default"
msgstr ""
#: bluesky.php:57
msgid "Bluesky host"
msgstr ""
#: bluesky.php:58
msgid "Bluesky handle"
msgstr ""
#: bluesky.php:59
msgid "Bluesky DID"
msgstr ""
#: bluesky.php:59
msgid ""
"This is the unique identifier. It will be fetched automatically, when the "
"handle is entered."
msgstr ""
#: bluesky.php:60
msgid "Bluesky app password"
msgstr ""
#: bluesky.php:60
msgid ""
"Please don't add your real password here, but instead create a specific app "
"password in the Bluesky settings."
msgstr ""
#: bluesky.php:66
msgid "Bluesky Export"
msgstr ""
#: bluesky.php:116
msgid "Post to Bluesky"
msgstr ""

View File

@@ -0,0 +1,7 @@
<p>{{$status}}</p>
{{include file="field_checkbox.tpl" field=$enable}}
{{include file="field_checkbox.tpl" field=$bydefault}}
{{include file="field_input.tpl" field=$host}}
{{include file="field_input.tpl" field=$handle}}
{{include file="field_input.tpl" field=$did}}
{{include file="field_input.tpl" field=$password}}

View File

@@ -15,7 +15,7 @@ function buglink_install()
Hook::register('page_end', 'addon/buglink/buglink.php', 'buglink_active');
}
function buglink_active(App $a, &$b)
function buglink_active(string &$b)
{
$b .= '<div id="buglink_wrapper" style="position: fixed; bottom: 5px; left: 5px;"><a href="https://github.com/friendica/friendica/issues" target="_blank" rel="noopener noreferrer" title="' . DI::l10n()->t('Report Bug') . '"><img src="addon/buglink/bug-x.gif" alt="' . DI::l10n()->t('Report Bug') . '" /></a></div>';
}

View File

@@ -4,21 +4,21 @@
#
#
# Translators:
# Michal Šupler <msupler@gmail.com>, 2014
# michal_s <msupler@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
"PO-Revision-Date: 2014-07-07 18:27+0000\n"
"Last-Translator: Michal Šupler <msupler@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/friendica/language/cs/)\n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: michal_s <msupler@gmail.com>, 2014\n"
"Language-Team: Czech (http://app.transifex.com/Friendica/friendica/language/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=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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"
#: buglink.php:15
#: buglink.php:20
msgid "Report Bug"
msgstr "Nahlásit chybu"

View File

@@ -3,6 +3,6 @@
if(! function_exists("string_plural_select_cs")) {
function string_plural_select_cs($n){
$n = intval($n);
if (($n==1)) { return 0; } else if (($n>=2 && $n<=4)) { return 1; } else { return 2; }
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['Report Bug'] = 'Nahlásit chybu';

View File

@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
"PO-Revision-Date: 2019-11-10 20:12+0000\n"
"Last-Translator: René Wagner <apollo@rw-net.de>\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: René Wagner <apollo@rw-net.de>, 2019\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/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"
#: buglink.php:15
#: buglink.php:20
msgid "Report Bug"
msgstr "Fehler melden"

View File

@@ -0,0 +1,24 @@
# ADDON buglink
# Copyright (C)
# This file is distributed under the same license as the Friendica buglink addon package.
#
#
# Translators:
# StefOfficiel <pichard.stephane@free.fr>, 2015
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: StefOfficiel <pichard.stephane@free.fr>, 2015\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/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"
#: buglink.php:20
msgid "Report Bug"
msgstr "Signaler un Bug"

View File

@@ -1,3 +1,8 @@
<?php
$a->strings["Report Bug"] = "Signaler un bug";
<?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['Report Bug'] = 'Signaler un Bug';

View File

@@ -0,0 +1,24 @@
# ADDON buglink
# Copyright (C)
# This file is distributed under the same license as the Friendica buglink addon package.
#
#
# Translators:
# GunChleoc, 2022
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: GunChleoc, 2022\n"
"Language-Team: Gaelic, Scottish (http://www.transifex.com/Friendica/friendica/language/gd/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gd\n"
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n"
#: buglink.php:20
msgid "Report Bug"
msgstr "Dèan aithris air buga"

View File

@@ -0,0 +1,8 @@
<?php
if(! function_exists("string_plural_select_gd")) {
function string_plural_select_gd($n){
$n = intval($n);
if (($n==1 || $n==11)) { return 0; } else if (($n==2 || $n==12)) { return 1; } else if (($n > 2 && $n < 20)) { return 2; } else { return 3; }
}}
$a->strings['Report Bug'] = 'Dèan aithris air buga';

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-12-23 17:09+0000\n"
"Last-Translator: Balázs Úr\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: Balázs Úr, 2020\n"
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2018-03-30 17:07+0000\n"
"Last-Translator: Waldemar Stoczkowski\n"
"PO-Revision-Date: 2014-06-22 11:27+0000\n"
"Last-Translator: Waldemar Stoczkowski, 2018\n"
"Language-Team: Polish (http://www.transifex.com/Friendica/friendica/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -5,6 +5,8 @@
* Version: 1.0
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
*/
use Friendica\App;
use Friendica\Core\Hook;
use Friendica\DI;
@@ -12,19 +14,21 @@ function calc_install() {
Hook::register('app_menu', 'addon/calc/calc.php', 'calc_app_menu');
}
function calc_app_menu($a,&$b) {
function calc_app_menu(array &$b)
{
$b['app_menu'][] = '<div class="app-title"><a href="calc">Calculator</a></div>';
}
/**
* 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 calc_module() {}
function calc_init($a) {
$x = <<< EOT
function calc_init()
{
$x = <<< EOT
<script language="JavaScript">
/**************************************
@@ -354,6 +358,5 @@ $o .= <<< EOT
</td></tr></tbody></table>
EOT;
return $o;
return $o;
}

View File

@@ -35,16 +35,16 @@ function catavatar_install()
/**
* Cat avatar user settings page
*/
function catavatar_addon_settings(App $a, array &$data)
function catavatar_addon_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/catavatar/');
$html = Renderer::replaceMacros($t, [
'$uncache' => time(),
'$uid' => local_user(),
'$uid' => DI::userSession()->getLocalUserId(),
'$setrandomize' => DI::l10n()->t('Set default profile avatar or randomize the cat.'),
]);
@@ -55,7 +55,7 @@ function catavatar_addon_settings(App $a, array &$data)
'submit' => [
'catavatar-usecat' => DI::l10n()->t('Use Cat as Avatar'),
'catavatar-morecat' => DI::l10n()->t('Another random Cat!'),
'catavatar-emailcat' => DI::pConfig()->get(local_user(), 'catavatar', 'seed', false) ? DI::l10n()->t('Reset to email Cat') : null,
'catavatar-emailcat' => DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'catavatar', 'seed', false) ? DI::l10n()->t('Reset to email Cat') : null,
],
];
}
@@ -63,68 +63,67 @@ function catavatar_addon_settings(App $a, array &$data)
/**
* Cat avatar user settings POST handle
*/
function catavatar_addon_settings_post(App $a, &$s)
function catavatar_addon_settings_post(&$s)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (!empty($_POST['catavatar-usecat'])) {
$url = DI::baseUrl()->get() . '/catavatar/' . local_user() . '?ts=' . time();
$url = DI::baseUrl() . '/catavatar/' . DI::userSession()->getLocalUserId() . '?ts=' . time();
$self = DBA::selectFirst('contact', ['id'], ['uid' => local_user(), 'self' => true]);
$self = DBA::selectFirst('contact', ['id'], ['uid' => DI::userSession()->getLocalUserId(), 'self' => true]);
if (!DBA::isResult($self)) {
notice(DI::l10n()->t("The cat hadn't found itself."));
DI::sysmsg()->addNotice(DI::l10n()->t("The cat hadn't found itself."));
return;
}
Photo::importProfilePhoto($url, local_user(), $self['id']);
Photo::importProfilePhoto($url, DI::userSession()->getLocalUserId(), $self['id']);
$condition = ['uid' => local_user(), 'contact-id' => $self['id']];
$condition = ['uid' => DI::userSession()->getLocalUserId(), 'contact-id' => $self['id']];
$photo = DBA::selectFirst('photo', ['resource-id'], $condition);
if (!DBA::isResult($photo)) {
notice(DI::l10n()->t('There was an error, the cat ran away.'));
DI::sysmsg()->addNotice(DI::l10n()->t('There was an error, the cat ran away.'));
return;
}
DBA::update('photo', ['profile' => false], ['profile' => true, 'uid' => local_user()]);
DBA::update('photo', ['profile' => false], ['profile' => true, 'uid' => DI::userSession()->getLocalUserId()]);
$fields = ['profile' => true, 'album' => DI::l10n()->t('Profile Photos'), 'contact-id' => 0];
DBA::update('photo', $fields, ['uid' => local_user(), 'resource-id' => $photo['resource-id']]);
DBA::update('photo', $fields, ['uid' => DI::userSession()->getLocalUserId(), 'resource-id' => $photo['resource-id']]);
Photo::importProfilePhoto($url, local_user(), $self['id']);
Photo::importProfilePhoto($url, DI::userSession()->getLocalUserId(), $self['id']);
Contact::updateSelfFromUserID(local_user(), true);
Contact::updateSelfFromUserID(DI::userSession()->getLocalUserId(), true);
// Update global directory in background
Profile::publishUpdate(local_user());
Profile::publishUpdate(DI::userSession()->getLocalUserId());
info(DI::l10n()->t('Meow!'));
DI::sysmsg()->addInfo(DI::l10n()->t('Meow!'));
return;
}
if (!empty($_POST['catavatar-morecat'])) {
DI::pConfig()->set(local_user(), 'catavatar', 'seed', time());
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'catavatar', 'seed', time());
}
if (!empty($_POST['catavatar-emailcat'])) {
DI::pConfig()->delete(local_user(), 'catavatar', 'seed');
DI::pConfig()->delete(DI::userSession()->getLocalUserId(), 'catavatar', 'seed');
}
}
/**
* Returns the URL to the cat avatar
*
* @param $a array
* @param &$b array
*/
function catavatar_lookup(App $a, &$b)
function catavatar_lookup(array &$b)
{
$user = DBA::selectFirst('user', ['uid'], ['email' => $b['email']]);
if (DBA::isResult($user)) {
$url = DI::baseUrl()->get() . '/catavatar/' . $user['uid'];
$url = DI::baseUrl() . '/catavatar/' . $user['uid'];
} else {
$url = DI::baseUrl()->get() . '/catavatar/' . md5(trim(strtolower($b['email'])));
$url = DI::baseUrl() . '/catavatar/' . md5(trim(strtolower($b['email'])));
}
switch($b['size']) {
@@ -137,6 +136,11 @@ function catavatar_lookup(App $a, &$b)
$b['success'] = true;
}
/**
* 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 catavatar_module() {}
/**
@@ -145,7 +149,7 @@ function catavatar_module() {}
* @throws NotFoundException
*
*/
function catavatar_content(App $a)
function catavatar_content()
{
if (DI::args()->getArgc() < 2 || DI::args()->getArgc() > 3) {
throw new NotFoundException(); // this should be catched on index and show default "not found" page.

View File

@@ -15,7 +15,7 @@ msgstr ""
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2018-04-07 05:23+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022\n"
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
"Language-Team: German (https://app.transifex.com/Friendica/teams/12172/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -6,54 +6,55 @@
# Translators:
# Vladimir Núñez <lapoubelle111@gmail.com>, 2019
# Walter Bulbazor, 2021
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-25 13:16+0000\n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2018-04-07 05:23+0000\n"
"Last-Translator: Walter Bulbazor, 2021\n"
"Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
"Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: catavatar.php:49
msgid "Use Cat as Avatar"
msgstr "Utiliser Chat comme avatar"
#: catavatar.php:50
msgid "More Random Cat!"
msgstr "Autres Chats au hasard"
#: catavatar.php:51
msgid "Reset to email Cat"
msgstr "Réinitialiser à Chat courriel"
#: catavatar.php:48
msgid "Set default profile avatar or randomize the cat."
msgstr "Mettre l'avatar par défaut ou tirer au sort le Chat."
#: catavatar.php:53
msgid "Cat Avatar Settings"
msgstr "Paramètres de Chat avatar"
#: catavatar.php:54
msgid "Set default profile avatar or randomize the cat."
msgstr "Mettre l'avatar par défaut ou tirer au sort le Chat."
#: catavatar.php:56
msgid "Use Cat as Avatar"
msgstr "Utiliser Chat comme avatar"
#: catavatar.php:72
#: catavatar.php:57
msgid "Another random Cat!"
msgstr "Un autre chat aléatoire !"
#: catavatar.php:58
msgid "Reset to email Cat"
msgstr "Réinitialiser à Chat courriel"
#: catavatar.php:77
msgid "The cat hadn't found itself."
msgstr "Le Chat ne s'y est pas retrouvé"
#: catavatar.php:81
#: catavatar.php:86
msgid "There was an error, the cat ran away."
msgstr "Il y a eu une erreur et le chat s'est enfui"
#: catavatar.php:87
#: catavatar.php:92
msgid "Profile Photos"
msgstr "Photos de profil"
#: catavatar.php:97
#: catavatar.php:102
msgid "Meow!"
msgstr "Miaou !"

View File

@@ -3,13 +3,13 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Use Cat as Avatar'] = 'Utiliser Chat comme avatar';
$a->strings['More Random Cat!'] = 'Autres Chats au hasard';
$a->strings['Reset to email Cat'] = 'Réinitialiser à Chat courriel';
$a->strings['Cat Avatar Settings'] = 'Paramètres de Chat avatar';
$a->strings['Set default profile avatar or randomize the cat.'] = 'Mettre l\'avatar par défaut ou tirer au sort le Chat.';
$a->strings['Cat Avatar Settings'] = 'Paramètres de Chat avatar';
$a->strings['Use Cat as Avatar'] = 'Utiliser Chat comme avatar';
$a->strings['Another random Cat!'] = 'Un autre chat aléatoire !';
$a->strings['Reset to email Cat'] = 'Réinitialiser à Chat courriel';
$a->strings['The cat hadn\'t found itself.'] = 'Le Chat ne s\'y est pas retrouvé';
$a->strings['There was an error, the cat ran away.'] = 'Il y a eu une erreur et le chat s\'est enfui';
$a->strings['Profile Photos'] = 'Photos de profil';

View File

@@ -5,212 +5,207 @@
* Version: 1.0
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
*/
use Friendica\App;
use Friendica\Core\Hook;
function convert_install() {
Hook::register('app_menu', 'addon/convert/convert.php', 'convert_app_menu');
}
function convert_app_menu($a,&$b) {
function convert_app_menu(array &$b)
{
$b['app_menu'][] = '<div class="app-title"><a href="convert">Units Conversion</a></div>';
}
function convert_module() {}
function convert_content() {
// @TODO UnitConverter uses a deprecated constructor with the class' name
// @TODO Let's one day rewrite this to a modern composer package
include 'UnitConvertor.php';
function convert_content($app) {
include("UnitConvertor.php");
class TP_Converter extends UnitConvertor {
function TP_Converter($lang = "en")
class TP_Converter extends UnitConvertor
{
if ($lang != 'en' ) {
$dec_point = '.'; $thousand_sep = "'";
} else {
$dec_point = '.'; $thousand_sep = ",";
public function __construct(string $lang = 'en')
{
if ($lang == 'en' ) {
$dec_point = '.';
$thousand_sep = ',';
} else {
$dec_point = '.';
$thousand_sep = "'";
}
parent::UnitConvertor($dec_point, $thousand_sep );
}
$this->UnitConvertor($dec_point , $thousand_sep );
} // end func UnitConvertor
function find_base_unit($from,$to) {
while (list($skey,$sval) = each($this->bases)) {
if ($skey == $from || $to == $skey || in_array($to,$sval) || in_array($from,$sval)) {
private function findBaseUnit($from, $to)
{
while (list($skey, $sval) = each($this->bases)) {
if ($skey == $from || $to == $skey || in_array($to, $sval) || in_array($from, $sval)) {
return $skey;
}
}
return false;
}
return false;
}
function getTable($value, $from_unit, $to_unit, $precision) {
public function getTable(int $value, $from_unit, $to_unit, $precision): string
{
$string = '';
if ($base_unit = $this->find_base_unit($from_unit,$to_unit)) {
// A baseunit was found now lets convert from -> $base_unit
$cell ['value'] = $this->convert($value, $from_unit, $base_unit, $precision)." ".$base_unit;
$cell ['class'] = ($base_unit == $from_unit || $base_unit == $to_unit) ? "framedred": "";
if ($base_unit = $this->findBaseUnit($from_unit, $to_unit)) {
// A baseunit was found now lets convert from -> $base_unit
$cell ['value'] = $this->convert($value, $from_unit, $base_unit, $precision) . ' ' . $base_unit;
$cell ['class'] = ($base_unit == $from_unit || $base_unit == $to_unit) ? 'framedred' : '';
$cells[] = $cell;
// We now have the base unit and value now lets produce the table;
while (list($key,$val) = each($this->bases[$base_unit])) {
$cell ['value'] = $this->convert($value, $from_unit, $val, $precision)." ".$val;
$cell ['class'] = ($val == $from_unit || $val == $to_unit) ? "framedred": "";
$cells[] = $cell;
}
$cc = count($cells);
$string = "<table class=\"framed grayish\" border=\"1\" cellpadding=\"5\" width=\"80%\" align=\"center\"><tr>";
$string .= "<td rowspan=\"$cc\" align=\"center\">$value $from_unit</td>";
$i=0;
foreach ($cells as $cell) {
if ($i==0) {
$string .= "<td class=\"".$cell['class']."\">".$cell['value']."</td>";
$i++;
} else {
$string .= "</tr><tr><td class=\"".$cell['class']."\">".$cell['value']."</td>";
// We now have the base unit and value now lets produce the table;
while (list($key, $val) = each($this->bases[$base_unit])) {
$cell ['value'] = $this->convert($value, $from_unit, $val, $precision) . ' ' . $val;
$cell ['class'] = ($val == $from_unit || $val == $to_unit) ? 'framedred' : '';
$cells[] = $cell;
}
$cc = count($cells);
$string = "<table class=\"framed grayish\" border=\"1\" cellpadding=\"5\" width=\"80%\" align=\"center\"><tr>";
$string .= "<td rowspan=\"$cc\" align=\"center\">$value $from_unit</td>";
$i = 0;
foreach ($cells as $cell) {
if ($i == 0) {
$string .= "<td class=\"" . $cell['class'] . "\">" . $cell['value'] . "</td>";
$i++;
} else {
$string .= "</tr><tr><td class=\"" . $cell['class'] . "\">" . $cell['value'] . "</td>";
}
}
$string .= "</tr></table>";
}
$string .= "</tr></table>";
return $string;
}
}
}
$conv = new TP_Converter('en');
$conv = new TP_Converter('en');
$conversions = [
'Temperature' => ['base' => 'Celsius',
'conv' => [
'Fahrenheit' => ['ratio' => 1.8, 'offset' => 32],
'Kelvin' => ['ratio' => 1, 'offset' => 273],
'Reaumur' => 0.8
]
],
'Weight' => ['base' => 'kg',
'conv' => [
'g' => 1000,
'mg' => 1000000,
't' => 0.001,
'grain' => 15432,
'oz' => 35.274,
'lb' => 2.2046,
'cwt(UK)' => 0.019684,
'cwt(US)' => 0.022046,
'ton (US)' => 0.0011023,
'ton (UK)' => 0.0009842
]
],
'Distance' => ['base' => 'km',
'conv' => [
'm' => 1000,
'dm' => 10000,
'cm' => 100000,
'mm' => 1000000,
'mile' => 0.62137,
'naut.mile' => 0.53996,
'inch(es)' => 39370,
'ft' => 3280.8,
'yd' => 1093.6,
'furlong' => 4.970969537898672,
'fathom' => 546.8066491688539
]
],
'Area' => ['base' => 'km 2',
'conv' => [
'ha' => 100,
'acre' => 247.105,
'm 2' => pow(1000,2),
'dm 2' => pow(10000,2),
'cm 2' => pow(100000,2),
'mm 2' => pow(1000000,2),
'mile 2' => pow(0.62137,2),
'naut.miles 2' => pow(0.53996,2),
'in 2' => pow(39370,2),
'ft 2' => pow(3280.8,2),
'yd 2' => pow(1093.6,2),
]
],
'Volume' => ['base' => 'm 3',
'conv' => [
'in 3' => 61023.6,
'ft 3' => 35.315,
'cm 3' => pow(10,6),
'dm 3' => 1000,
'litre' => 1000,
'hl' => 10,
'yd 3' => 1.30795,
'gal(US)' => 264.172,
'gal(UK)' => 219.969,
'pint' => 2113.376,
'quart' => 1056.688,
'cup' => 4266.753,
'fl oz' => 33814.02,
'tablespoon' => 67628.04,
'teaspoon' => 202884.1,
'pt (UK)' => 1000/0.56826,
'barrel petroleum' => 1000/158.99,
'Register Tons' => 2.832,
'Ocean Tons' => 1.1327
]
],
'Speed' => ['base' => 'kmph',
'conv' => [
'mps' => 0.0001726031,
'milesph' => 0.62137,
'knots' => 0.53996,
'mach STP' => 0.0008380431,
'c (warp)' => 9.265669e-10
]
]
];
$conversions = [
'Temperature'=>['base' =>'Celsius',
'conv'=>[
'Fahrenheit'=>['ratio'=>1.8, 'offset'=>32],
'Kelvin'=>['ratio'=>1, 'offset'=>273],
'Reaumur'=>0.8
]
],
'Weight' => ['base' =>'kg',
'conv'=>[
'g'=>1000,
'mg'=>1000000,
't'=>0.001,
'grain'=>15432,
'oz'=>35.274,
'lb'=>2.2046,
'cwt(UK)' => 0.019684,
'cwt(US)' => 0.022046,
'ton (US)' => 0.0011023,
'ton (UK)' => 0.0009842
]
],
'Distance' => ['base' =>'km',
'conv'=>[
'm'=>1000,
'dm'=>10000,
'cm'=>100000,
'mm'=>1000000,
'mile'=>0.62137,
'naut.mile'=>0.53996,
'inch(es)'=>39370,
'ft'=>3280.8,
'yd'=>1093.6,
'furlong'=>4.970969537898672,
'fathom'=>546.8066491688539
]
],
'Area' => ['base' =>'km 2',
'conv'=>[
'ha'=>100,
'acre'=>247.105,
'm 2'=>pow(1000,2),
'dm 2'=>pow(10000,2),
'cm 2'=>pow(100000,2),
'mm 2'=>pow(1000000,2),
'mile 2'=>pow(0.62137,2),
'naut.miles 2'=>pow(0.53996,2),
'in 2'=>pow(39370,2),
'ft 2'=>pow(3280.8,2),
'yd 2'=>pow(1093.6,2),
]
],
'Volume' => ['base' =>'m 3',
'conv'=>[
'in 3'=>61023.6,
'ft 3'=>35.315,
'cm 3'=>pow(10,6),
'dm 3'=>1000,
'litre'=>1000,
'hl'=>10,
'yd 3'=>1.30795,
'gal(US)'=>264.172,
'gal(UK)'=>219.969,
'pint' => 2113.376,
'quart' => 1056.688,
'cup' => 4266.753,
'fl oz' => 33814.02,
'tablespoon' => 67628.04,
'teaspoon' => 202884.1,
'pt (UK)'=>1000/0.56826,
'barrel petroleum'=>1000/158.99,
'Register Tons'=>2.832,
'Ocean Tons'=>1.1327
]
],
'Speed' =>['base' =>'kmph',
'conv'=>[
'mps'=>0.0001726031,
'milesph'=>0.62137,
'knots'=>0.53996,
'mach STP'=>0.0008380431,
'c (warp)'=>9.265669e-10
]
]
];
while (list($key,$val) = each($conversions)) {
$conv->addConversion($val['base'], $val['conv']);
$list[$key][] = $val['base'];
while (list($ukey,$uval) = each($val['conv'])) {
$list[$key][] = $ukey;
while (list($key, $val) = each($conversions)) {
$conv->addConversion($val['base'], $val['conv']);
$list[$key][] = $val['base'];
while (list($ukey, $uval) = each($val['conv'])) {
$list[$key][] = $ukey;
}
}
}
$o .= '<h3>Unit Conversions</h3>';
$o .= '<h3>Unit Conversions</h3>';
if (isset($_POST['from_unit']) && isset($_POST['value'])) {
$_POST['value'] = $_POST['value'] + 0;
$o .= ($conv->getTable($_POST['value'], $_POST['from_unit'], $_POST['to_unit'], 5))."</p>";
$o .= ($conv->getTable(intval($_POST['value']), $_POST['from_unit'], $_POST['to_unit'], 5)) . '</p>';
} else {
$o .= "<p>Select:</p>";
$o .= '<p>Select:</p>';
}
if(isset($_POST['value']))
if (isset($_POST['value'])) {
$value = $_POST['value'];
else
} else {
$value = '';
}
$o .= '<form action="convert" method="post" name="conversion">';
$o .= '<input name="value" type="text" id="value" value="' . $value . '" size="10" maxlength="10" />';
$o .= '<select name="from_unit" size="12">';
$o .= '<input name="value" type="text" id="value" value="' . $value . '" size="10" maxlength="10" />';
$o .= '<select name="from_unit" size="12">';
reset($list);
while(list($key,$val) = each($list)) {
while(list($key, $val) = each($list)) {
$o .= "\n\t<optgroup label=\"$key\">";
while(list($ukey,$uval) = each($val)) {
while(list($ukey, $uval) = each($val)) {
$selected = (($uval == $_POST['from_unit']) ? ' selected="selected" ' : '');
$o .= "\n\t\t<option value=\"$uval\" $selected >$uval</option>";
}
@@ -218,8 +213,7 @@ while (list($key,$val) = each($conversions)) {
}
$o .= '</select>';
$o .= '<input type="submit" name="Submit" value="Submit" /></form>';
$o .= '<input type="submit" name="Submit" value="Submit" /></form>';
return $o;
}

View File

@@ -28,14 +28,13 @@ function cookienotice_install()
* cookienotice_addon_admin
* creates the admins config panel
*
* @param App $a
* @param string $s The existing config panel html so far
*
* @return void
*/
function cookienotice_addon_admin(App $a, &$s)
function cookienotice_addon_admin(&$s)
{
if (!$a->isSiteAdmin()) {
if (!DI::userSession()->isSiteAdmin()) {
return;
}
@@ -57,13 +56,11 @@ function cookienotice_addon_admin(App $a, &$s)
* cookienotice_addon_admin_post
* handles the post request from the admin panel
*
* @param App $a
*
* @return void
*/
function cookienotice_addon_admin_post(App $a)
function cookienotice_addon_admin_post()
{
if (!$a->isSiteAdmin()) {
if (!DI::userSession()->isSiteAdmin()) {
return;
}
@@ -78,12 +75,11 @@ function cookienotice_addon_admin_post(App $a)
* page_content_top hook
* adds css and scripts to the <head> section of the html
*
* @param App $a
* @param string $b unused - the header html incl. nav
*
* @return void
*/
function cookienotice_page_content_top(App $a, &$b)
function cookienotice_page_content_top(string &$b)
{
DI::page()->registerStylesheet(__DIR__ . '/cookienotice.css');
DI::page()->registerFooterScript(__DIR__ . '/cookienotice.js');
@@ -94,12 +90,11 @@ function cookienotice_page_content_top(App $a, &$b)
* page_end hook
* ads our cookienotice box to the end of the html
*
* @param App $a
* @param string $b the page html
*
* @return void
*/
function cookienotice_page_end(App $a, &$b)
function cookienotice_page_end(string &$b)
{
$text = (string)DI::config()->get('cookienotice', 'text', DI::l10n()->t('This website uses cookies to recognize revisiting and logged in users. You accept the usage of these cookies by continue browsing this website.'));
$oktext = (string)DI::config()->get('cookienotice', 'oktext', DI::l10n()->t('OK'));

View File

@@ -6,7 +6,7 @@
# Translators:
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2019
# Ulf Rompe <transifex.com@rompe.org>, 2019
# foss <foss@openmailbox.org>, 2020
# foss <oss@disr.it>, 2020
#
#, fuzzy
msgid ""
@@ -15,8 +15,8 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2019-01-23 16:01+0000\n"
"Last-Translator: foss <foss@openmailbox.org>, 2020\n"
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
"Last-Translator: foss <oss@disr.it>, 2020\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"

View File

@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: cookienotice.php:42
msgid ""

View File

@@ -3,7 +3,7 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.'] = 'Ce site utilise des cookies. Si vous poursuivez sur ce site, vous acceptez l\'utilisation de ces cookies.';
$a->strings['OK'] = 'Ok';

View File

@@ -13,7 +13,6 @@ use Friendica\App;
use Friendica\Core\Cache\Enum\Duration;
use Friendica\Core\Hook;
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\DI;
use Friendica\Util\Proxy as ProxyUtils;
@@ -32,7 +31,7 @@ function getWeather($loc, $units = 'metric', $lang = 'en', $appid = '', $cacheti
$now = new DateTime();
if (!is_null($cached)) {
$cdate = DI::pConfig()->get(local_user(), 'curweather', 'last');
$cdate = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'last');
$cached = unserialize($cached);
if ($cdate + $cachetime > $now->getTimestamp()) {
@@ -44,7 +43,7 @@ function getWeather($loc, $units = 'metric', $lang = 'en', $appid = '', $cacheti
$res = new SimpleXMLElement(DI::httpClient()->fetch($url));
} catch (Exception $e) {
if (empty($_SESSION['curweather_notice_shown'])) {
notice(DI::l10n()->t('Error fetching weather data. Error was: ' . $e->getMessage()));
DI::sysmsg()->addNotice(DI::l10n()->t('Error fetching weather data. Error was: ' . $e->getMessage()));
$_SESSION['curweather_notice_shown'] = true;
}
@@ -81,19 +80,19 @@ function getWeather($loc, $units = 'metric', $lang = 'en', $appid = '', $cacheti
'icon' => (string) $res->weather['icon'],
];
DI::pConfig()->set(local_user(), 'curweather', 'last', $now->getTimestamp());
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'curweather', 'last', $now->getTimestamp());
DI::cache()->set('curweather'.md5($url), serialize($r), Duration::HOUR);
return $r;
}
function curweather_network_mod_init(App $a, &$b)
function curweather_network_mod_init(string &$body)
{
if (!intval(DI::pConfig()->get(local_user(), 'curweather', 'curweather_enable'))) {
if (!intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_enable'))) {
return;
}
DI::page()['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . DI::baseUrl()->get() . '/addon/curweather/curweather.css' . '" media="all" />' . "\r\n";
DI::page()['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . DI::baseUrl() . '/addon/curweather/curweather.css' . '" media="all" />' . "\r\n";
// $rpt value is needed for location
// $lang will be taken from the browser session to honour user settings
@@ -104,15 +103,15 @@ function curweather_network_mod_init(App $a, &$b)
// those parameters will be used to get: cloud status, temperature, preassure
// and relative humidity for display, also the relevent area of the map is
// linked from lat/log of the reply of OWMp
$rpt = DI::pConfig()->get(local_user(), 'curweather', 'curweather_loc');
$rpt = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_loc');
// Set the language to the browsers language or default and use metric units
$lang = Session::get('language', DI::config()->get('system', 'language'));
$units = DI::pConfig()->get( local_user(), 'curweather', 'curweather_units');
$lang = DI::session()->get('language', DI::config()->get('system', 'language'));
$units = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_units');
$appid = DI::config()->get('curweather', 'appid');
$cachetime = intval(DI::config()->get('curweather', 'cachetime'));
if ($units === "") {
if ($units === '') {
$units = 'metric';
}
@@ -153,25 +152,25 @@ function curweather_network_mod_init(App $a, &$b)
DI::page()['aside'] = $curweather . DI::page()['aside'];
}
function curweather_addon_settings_post(App $a, $post)
function curweather_addon_settings_post($post)
{
if (!local_user() || empty($_POST['curweather-settings-submit'])) {
if (!DI::userSession()->getLocalUserId() || empty($_POST['curweather-settings-submit'])) {
return;
}
DI::pConfig()->set(local_user(), 'curweather', 'curweather_loc' , trim($_POST['curweather_loc']));
DI::pConfig()->set(local_user(), 'curweather', 'curweather_enable', intval($_POST['curweather_enable']));
DI::pConfig()->set(local_user(), 'curweather', 'curweather_units' , trim($_POST['curweather_units']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_loc' , trim($_POST['curweather_loc']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_enable', intval($_POST['curweather_enable']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_units' , trim($_POST['curweather_units']));
}
function curweather_addon_settings(App $a, array &$data)
function curweather_addon_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$curweather_loc = DI::pConfig()->get(local_user(), 'curweather', 'curweather_loc');
$curweather_units = DI::pConfig()->get(local_user(), 'curweather', 'curweather_units');
$curweather_loc = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_loc');
$curweather_units = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_units');
$appid = DI::config()->get('curweather', 'appid');
if ($appid == '') {
@@ -180,7 +179,7 @@ function curweather_addon_settings(App $a, array &$data)
$noappidtext = '';
}
$enabled = intval(DI::pConfig()->get(local_user(), 'curweather', 'curweather_enable'));
$enabled = intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'curweather', 'curweather_enable'));
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/curweather/');
$html = Renderer::replaceMacros($t, [
@@ -200,9 +199,9 @@ function curweather_addon_settings(App $a, array &$data)
// Config stuff for the admin panel to let the admin of the node set a APPID
// for accessing the API of openweathermap
function curweather_addon_admin_post(App $a)
function curweather_addon_admin_post()
{
if (!$a->isSiteAdmin()) {
if (!DI::userSession()->isSiteAdmin()) {
return;
}
@@ -212,16 +211,16 @@ function curweather_addon_admin_post(App $a)
}
}
function curweather_addon_admin(App $a, &$o)
function curweather_addon_admin(string &$o)
{
if (!$a->isSiteAdmin()) {
if (!DI::userSession()->isSiteAdmin()) {
return;
}
$appid = DI::config()->get('curweather', 'appid');
$cachetime = DI::config()->get('curweather', 'cachetime');
$t = Renderer::getMarkupTemplate("admin.tpl", "addon/curweather/" );
$t = Renderer::getMarkupTemplate('admin.tpl', 'addon/curweather/' );
$o = Renderer::replaceMacros($t, [
'$submit' => DI::l10n()->t('Save Settings'),

View File

@@ -11,124 +11,116 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-25 17:17+0200\n"
"PO-Revision-Date: 2018-07-05 17:03+0000\n"
"Last-Translator: Aditoo\n"
"Language-Team: Czech (http://www.transifex.com/Friendica/friendica/language/cs/)\n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Aditoo, 2018\n"
"Language-Team: Czech (http://app.transifex.com/Friendica/friendica/language/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"
#: curweather.php:31
msgid "Error fetching weather data.\\nError was: "
msgstr "Chyba při získávání dat o počasí.\\nChyba:"
#: curweather.php:47
msgid "Error fetching weather data. Error was: "
msgstr ""
#: curweather.php:111 curweather.php:172
#: curweather.php:130
msgid "Current Weather"
msgstr "Aktuální počasí"
#: curweather.php:118
#: curweather.php:137
msgid "Relative Humidity"
msgstr "Relativní vlhkost vzduchu"
#: curweather.php:119
#: curweather.php:138
msgid "Pressure"
msgstr "Tlak"
#: curweather.php:120
#: curweather.php:139
msgid "Wind"
msgstr "Vítr"
#: curweather.php:121
#: curweather.php:140
msgid "Last Updated"
msgstr "Naposledy aktualizováno"
#: curweather.php:122
#: curweather.php:141
msgid "Data by"
msgstr "Data podle"
#: curweather.php:123
#: curweather.php:142
msgid "Show on map"
msgstr "Ukázat na mapě"
#: curweather.php:128
#: curweather.php:147
msgid "There was a problem accessing the weather data. But have a look"
msgstr "Při získávání dat o počasí nastala chyba. Podívejte se ale"
#: curweather.php:130
#: curweather.php:149
msgid "at OpenWeatherMap"
msgstr "na OpenWeatherMap"
#: curweather.php:146
msgid "Current Weather settings updated."
msgstr "Nastavení pro Aktuální počasí aktualizováno."
#: curweather.php:161
#: curweather.php:178
msgid "No APPID found, please contact your admin to obtain one."
msgstr "Žádné APPID nebylo nalezeno, prosím kontaktujte svého administrátora pro získání APPID."
#: curweather.php:171 curweather.php:200
msgid "Save Settings"
msgstr "Uložit nastavení"
#: curweather.php:172
msgid "Settings"
msgstr "Nastavení"
#: curweather.php:174
#: curweather.php:188
msgid "Enter either the name of your location or the zip code."
msgstr "Zadejte buď název místa, kde se nacházíte, nebo PSČ."
#: curweather.php:175
#: curweather.php:189
msgid "Your Location"
msgstr "Vaše poloha"
#: curweather.php:175
#: curweather.php:189
msgid ""
"Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or "
"<em>14476,DE</em>."
msgstr "Identifikátor vaší polohy (název nebo PSČ), např. <em>Praha,CZ</em> nebo <em>11000,CZ</em>."
#: curweather.php:176
#: curweather.php:190
msgid "Units"
msgstr "Jednotky"
#: curweather.php:176
#: curweather.php:190
msgid "select if the temperature should be displayed in &deg;C or &deg;F"
msgstr "vyberte, jestli by se teplota měla zobrazovat v &deg;C či &deg;F"
#: curweather.php:177
#: curweather.php:191
msgid "Show weather data"
msgstr "Ukázat data o počasí"
#: curweather.php:190
msgid "Curweather settings saved."
msgstr "Nastavení Curwather uložena."
#: curweather.php:196
msgid "Current Weather Settings"
msgstr ""
#: curweather.php:201
#: curweather.php:227
msgid "Save Settings"
msgstr "Uložit nastavení"
#: curweather.php:230
msgid "Caching Interval"
msgstr "Ukládám interval do mezipaměti"
msgstr "Interval mezipaměti"
#: curweather.php:201
#: curweather.php:232
msgid ""
"For how long should the weather data be cached? Choose according your "
"OpenWeatherMap account type."
msgstr "Na jak dlouho by vaše data o počasí měla být uložena v mezipaměti? Vyberte podle typu vašeho účtu na OpenWeatherMap."
#: curweather.php:201
#: curweather.php:233
msgid "no cache"
msgstr "žádná mezipaměť"
#: curweather.php:201
#: curweather.php:234 curweather.php:235 curweather.php:236 curweather.php:237
msgid "minutes"
msgstr "minut"
#: curweather.php:202
#: curweather.php:240
msgid "Your APPID"
msgstr "Vaše APPID"
#: curweather.php:202
#: curweather.php:240
msgid "Your API key provided by OpenWeatherMap"
msgstr "Váš API klíč poskytnutý OpenWetherMap"

View File

@@ -5,7 +5,6 @@ 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['Error fetching weather data.\nError was: '] = 'Chyba při získávání dat o počasí.\nChyba:';
$a->strings['Current Weather'] = 'Aktuální počasí';
$a->strings['Relative Humidity'] = 'Relativní vlhkost vzduchu';
$a->strings['Pressure'] = 'Tlak';
@@ -15,18 +14,15 @@ $a->strings['Data by'] = 'Data podle';
$a->strings['Show on map'] = 'Ukázat na mapě';
$a->strings['There was a problem accessing the weather data. But have a look'] = 'Při získávání dat o počasí nastala chyba. Podívejte se ale';
$a->strings['at OpenWeatherMap'] = 'na OpenWeatherMap';
$a->strings['Current Weather settings updated.'] = 'Nastavení pro Aktuální počasí aktualizováno.';
$a->strings['No APPID found, please contact your admin to obtain one.'] = 'Žádné APPID nebylo nalezeno, prosím kontaktujte svého administrátora pro získání APPID.';
$a->strings['Save Settings'] = 'Uložit nastavení';
$a->strings['Settings'] = 'Nastavení';
$a->strings['Enter either the name of your location or the zip code.'] = 'Zadejte buď název místa, kde se nacházíte, nebo PSČ.';
$a->strings['Your Location'] = 'Vaše poloha';
$a->strings['Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or <em>14476,DE</em>.'] = 'Identifikátor vaší polohy (název nebo PSČ), např. <em>Praha,CZ</em> nebo <em>11000,CZ</em>.';
$a->strings['Units'] = 'Jednotky';
$a->strings['select if the temperature should be displayed in &deg;C or &deg;F'] = 'vyberte, jestli by se teplota měla zobrazovat v &deg;C či &deg;F';
$a->strings['Show weather data'] = 'Ukázat data o počasí';
$a->strings['Curweather settings saved.'] = 'Nastavení Curwather uložena.';
$a->strings['Caching Interval'] = 'Ukládám interval do mezipaměti';
$a->strings['Save Settings'] = 'Uložit nastavení';
$a->strings['Caching Interval'] = 'Interval mezipaměti';
$a->strings['For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'] = 'Na jak dlouho by vaše data o počasí měla být uložena v mezipaměti? Vyberte podle typu vašeho účtu na OpenWeatherMap.';
$a->strings['no cache'] = 'žádná mezipaměť';
$a->strings['minutes'] = 'minut';

View File

@@ -15,9 +15,9 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2022-01-22 17:28+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016,2021-2022\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -5,6 +5,7 @@
#
# Translators:
# bob lebonche <lebonche@tutanota.com>, 2021
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
# Hypolite Petovan <hypolite@mrpetovan.com>, 2016
# ea1cd8241cb389ffb6f92bc6891eff5d_dc12308 <70dced5587d47e18d88f9298024d96f8_93383>, 2015
# StefOfficiel <pichard.stephane@free.fr>, 2015
@@ -12,21 +13,21 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-03-22 08:24+0000\n"
"Last-Translator: bob lebonche <lebonche@tutanota.com>\n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: curweather.php:47
msgid "Error fetching weather data. Error was: "
msgstr "Erreur de récupération des données météo. L'erreur était :"
#: curweather.php:130 curweather.php:192
#: curweather.php:130
msgid "Current Weather"
msgstr "Météo actuelle"
@@ -62,66 +63,66 @@ msgstr "Une erreur est survenue lors de l'accès aux données météo. Vous pouv
msgid "at OpenWeatherMap"
msgstr "à OpenWeatherMap"
#: curweather.php:179
#: curweather.php:178
msgid "No APPID found, please contact your admin to obtain one."
msgstr "Pas d'APPID trouvé, merci de contacter votre administrateur pour en obtenir un."
#: curweather.php:191 curweather.php:229
msgid "Save Settings"
msgstr "Sauvegarder les paramètres"
#: curweather.php:192
msgid "Settings"
msgstr "Paramètres"
#: curweather.php:194
#: curweather.php:188
msgid "Enter either the name of your location or the zip code."
msgstr "Entrez le nom de votre emplacement ou votre code postal."
#: curweather.php:195
#: curweather.php:189
msgid "Your Location"
msgstr "Votre position"
#: curweather.php:195
#: curweather.php:189
msgid ""
"Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or "
"<em>14476,DE</em>."
msgstr "Identifiant de votre emplacement (nom ou code postal), par exemple <em>Paris 08, Fr</em> ou <em>75008, FR</em>."
#: curweather.php:196
#: curweather.php:190
msgid "Units"
msgstr "Unités"
#: curweather.php:196
#: curweather.php:190
msgid "select if the temperature should be displayed in &deg;C or &deg;F"
msgstr "Sélectionner si la température devrait être affichée en °C ou en °F"
#: curweather.php:197
#: curweather.php:191
msgid "Show weather data"
msgstr "Montrer les données météos"
#: curweather.php:232
#: curweather.php:196
msgid "Current Weather Settings"
msgstr "Paramètres de Météo"
#: curweather.php:227
msgid "Save Settings"
msgstr "Sauvegarder les paramètres"
#: curweather.php:230
msgid "Caching Interval"
msgstr "Intervalle de mise en cache."
#: curweather.php:234
#: curweather.php:232
msgid ""
"For how long should the weather data be cached? Choose according your "
"OpenWeatherMap account type."
msgstr "Pendant combien de temps les données météo doivent-elles être mises en cache? Choisissez en fonction du type de compte OpenWeatherMap."
#: curweather.php:235
#: curweather.php:233
msgid "no cache"
msgstr "pas de cache"
#: curweather.php:236 curweather.php:237 curweather.php:238 curweather.php:239
#: curweather.php:234 curweather.php:235 curweather.php:236 curweather.php:237
msgid "minutes"
msgstr "minutes"
#: curweather.php:242
#: curweather.php:240
msgid "Your APPID"
msgstr "Votre APPID"
#: curweather.php:242
#: curweather.php:240
msgid "Your API key provided by OpenWeatherMap"
msgstr "Votre clé pour l'API de OpenWeatherMap"

View File

@@ -3,7 +3,7 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Error fetching weather data. Error was: '] = 'Erreur de récupération des données météo. L\'erreur était :';
$a->strings['Current Weather'] = 'Météo actuelle';
@@ -16,14 +16,14 @@ $a->strings['Show on map'] = 'Montrer sur la carte';
$a->strings['There was a problem accessing the weather data. But have a look'] = 'Une erreur est survenue lors de l\'accès aux données météo. Vous pouvez quand même jeter un oeil';
$a->strings['at OpenWeatherMap'] = 'à OpenWeatherMap';
$a->strings['No APPID found, please contact your admin to obtain one.'] = 'Pas d\'APPID trouvé, merci de contacter votre administrateur pour en obtenir un.';
$a->strings['Save Settings'] = 'Sauvegarder les paramètres';
$a->strings['Settings'] = 'Paramètres';
$a->strings['Enter either the name of your location or the zip code.'] = 'Entrez le nom de votre emplacement ou votre code postal.';
$a->strings['Your Location'] = 'Votre position';
$a->strings['Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or <em>14476,DE</em>.'] = 'Identifiant de votre emplacement (nom ou code postal), par exemple <em>Paris 08, Fr</em> ou <em>75008, FR</em>.';
$a->strings['Units'] = 'Unités';
$a->strings['select if the temperature should be displayed in &deg;C or &deg;F'] = 'Sélectionner si la température devrait être affichée en °C ou en °F';
$a->strings['Show weather data'] = 'Montrer les données météos';
$a->strings['Current Weather Settings'] = 'Paramètres de Météo';
$a->strings['Save Settings'] = 'Sauvegarder les paramètres';
$a->strings['Caching Interval'] = 'Intervalle de mise en cache.';
$a->strings['For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'] = 'Pendant combien de temps les données météo doivent-elles être mises en cache? Choisissez en fonction du type de compte OpenWeatherMap.';
$a->strings['no cache'] = 'pas de cache';

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2021-12-23 17:18+0000\n"
"Last-Translator: Balázs Úr\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Balázs Úr, 2020-2021\n"
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2022-03-08 14:06+0000\n"
"Last-Translator: Piotr Strębski <strebski@gmail.com>\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2022\n"
"Language-Team: Polish (http://www.transifex.com/Friendica/friendica/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -0,0 +1,124 @@
# ADDON curweather
# Copyright (C)
# This file is distributed under the same license as the Friendica curweather addon package.
#
#
# Translators:
# Alexander An <ravnina@gmail.com>, 2022
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:14-0500\n"
"PO-Revision-Date: 2014-06-22 11:34+0000\n"
"Last-Translator: Alexander An <ravnina@gmail.com>, 2022\n"
"Language-Team: Russian (http://www.transifex.com/Friendica/friendica/language/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"
#: curweather.php:47
msgid "Error fetching weather data. Error was: "
msgstr "Ошибка получения данных о погоде. Ошибка:"
#: curweather.php:130
msgid "Current Weather"
msgstr "Погода сейчас"
#: curweather.php:137
msgid "Relative Humidity"
msgstr "Относительная влажность"
#: curweather.php:138
msgid "Pressure"
msgstr "Давление"
#: curweather.php:139
msgid "Wind"
msgstr "Ветер"
#: curweather.php:140
msgid "Last Updated"
msgstr "Обновлено"
#: curweather.php:141
msgid "Data by"
msgstr "Данные из"
#: curweather.php:142
msgid "Show on map"
msgstr "Показать на карте"
#: curweather.php:147
msgid "There was a problem accessing the weather data. But have a look"
msgstr "Не получилось получить данные о погоде. Но вы можете посмотреть"
#: curweather.php:149
msgid "at OpenWeatherMap"
msgstr "OpenWeatherMap"
#: curweather.php:178
msgid "No APPID found, please contact your admin to obtain one."
msgstr "Не найден APPID, свяжитесь с вашим администратором, чтобы получить его."
#: curweather.php:188
msgid "Enter either the name of your location or the zip code."
msgstr "Введите ваше местоположение или индекс."
#: curweather.php:189
msgid "Your Location"
msgstr "Ваше местонахождение"
#: curweather.php:189
msgid ""
"Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or "
"<em>14476,DE</em>."
msgstr "Ваше местоположение (имя или индекс), например <em>Berlin,DE</em> или <em>14476,DE</em>."
#: curweather.php:190
msgid "Units"
msgstr "Единицы"
#: curweather.php:190
msgid "select if the temperature should be displayed in &deg;C or &deg;F"
msgstr "выберите как должна отображаться температура - в &deg;C или &deg;F"
#: curweather.php:191
msgid "Show weather data"
msgstr "Показать данные о погоде"
#: curweather.php:196
msgid "Current Weather Settings"
msgstr "Текущие настройки"
#: curweather.php:227
msgid "Save Settings"
msgstr "Сохранить настройки"
#: curweather.php:230
msgid "Caching Interval"
msgstr "Интервал кэширования"
#: curweather.php:232
msgid ""
"For how long should the weather data be cached? Choose according your "
"OpenWeatherMap account type."
msgstr "Как долго кэшировать данные о погоде? Выберите в соответствии с типом вашей учётной записи OpenWeatherMap."
#: curweather.php:233
msgid "no cache"
msgstr "не кэшировать"
#: curweather.php:234 curweather.php:235 curweather.php:236 curweather.php:237
msgid "minutes"
msgstr "мин."
#: curweather.php:240
msgid "Your APPID"
msgstr "Ваш APPID"
#: curweather.php:240
msgid "Your API key provided by OpenWeatherMap"
msgstr "Ваш ключ API, полученный у OpenWeatherMap"

View File

@@ -1,3 +1,32 @@
<?php
$a->strings["Submit"] = "Подтвердить";
<?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['Error fetching weather data. Error was: '] = 'Ошибка получения данных о погоде. Ошибка:';
$a->strings['Current Weather'] = 'Погода сейчас';
$a->strings['Relative Humidity'] = 'Относительная влажность';
$a->strings['Pressure'] = 'Давление';
$a->strings['Wind'] = 'Ветер';
$a->strings['Last Updated'] = 'Обновлено';
$a->strings['Data by'] = 'Данные из';
$a->strings['Show on map'] = 'Показать на карте';
$a->strings['There was a problem accessing the weather data. But have a look'] = 'Не получилось получить данные о погоде. Но вы можете посмотреть';
$a->strings['at OpenWeatherMap'] = 'OpenWeatherMap';
$a->strings['No APPID found, please contact your admin to obtain one.'] = 'Не найден APPID, свяжитесь с вашим администратором, чтобы получить его.';
$a->strings['Enter either the name of your location or the zip code.'] = 'Введите ваше местоположение или индекс.';
$a->strings['Your Location'] = 'Ваше местонахождение';
$a->strings['Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or <em>14476,DE</em>.'] = 'Ваше местоположение (имя или индекс), например <em>Berlin,DE</em> или <em>14476,DE</em>.';
$a->strings['Units'] = 'Единицы';
$a->strings['select if the temperature should be displayed in &deg;C or &deg;F'] = 'выберите как должна отображаться температура - в &deg;C или &deg;F';
$a->strings['Show weather data'] = 'Показать данные о погоде';
$a->strings['Current Weather Settings'] = 'Текущие настройки';
$a->strings['Save Settings'] = 'Сохранить настройки';
$a->strings['Caching Interval'] = 'Интервал кэширования';
$a->strings['For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'] = 'Как долго кэшировать данные о погоде? Выберите в соответствии с типом вашей учётной записи OpenWeatherMap.';
$a->strings['no cache'] = 'не кэшировать';
$a->strings['minutes'] = 'мин.';
$a->strings['Your APPID'] = 'Ваш APPID';
$a->strings['Your API key provided by OpenWeatherMap'] = 'Ваш ключ API, полученный у OpenWeatherMap';

View File

@@ -110,4 +110,3 @@ class Diasphp {
return true;
}
}
?>

View File

@@ -14,7 +14,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\Database\DBA;
use Friendica\Core\Worker;
use Friendica\DI;
@@ -30,43 +29,43 @@ function diaspora_install()
Hook::register('connector_settings_post', 'addon/diaspora/diaspora.php', 'diaspora_settings_post');
}
function diaspora_jot_nets(App $a, array &$jotnets_fields)
function diaspora_jot_nets(array &$jotnets_fields)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (DI::pConfig()->get(local_user(), 'diaspora', 'post')) {
if (DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'post')) {
$jotnets_fields[] = [
'type' => 'checkbox',
'field' => [
'diaspora_enable',
DI::l10n()->t('Post to Diaspora'),
DI::pConfig()->get(local_user(), 'diaspora', 'post_by_default')
DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'post_by_default')
]
];
}
}
function diaspora_settings(App $a, array &$data)
function diaspora_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$enabled = DI::pConfig()->get(local_user(), 'diaspora', 'post', false);
$def_enabled = DI::pConfig()->get(local_user(), 'diaspora', 'post_by_default');
$enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'post', false);
$def_enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'post_by_default');
$handle = DI::pConfig()->get(local_user(), 'diaspora', 'handle');
$password = DI::pConfig()->get(local_user(), 'diaspora', 'password');
$aspect = DI::pConfig()->get(local_user(), 'diaspora', 'aspect');
$handle = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'handle');
$password = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'password');
$aspect = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'diaspora', 'aspect');
$info = '';
$error = '';
if (Session::get('my_address')) {
$info = DI::l10n()->t('Please remember: You can always be reached from Diaspora with your Friendica handle <strong>%s</strong>. ', Session::get('my_address'));
if (DI::session()->get('my_address')) {
$info = DI::l10n()->t('Please remember: You can always be reached from Diaspora with your Friendica handle <strong>%s</strong>. ', DI::session()->get('my_address'));
$info .= DI::l10n()->t('This connector is only meant if you still want to use your old Diaspora account for some time. ');
$info .= DI::l10n()->t('However, it is preferred that you tell your Diaspora contacts the new handle <strong>%s</strong> instead.', Session::get('my_address'));
$info .= DI::l10n()->t('However, it is preferred that you tell your Diaspora contacts the new handle <strong>%s</strong> instead.', DI::session()->get('my_address'));
}
$aspect_select = '';
@@ -118,26 +117,26 @@ function diaspora_settings(App $a, array &$data)
}
function diaspora_settings_post(App $a, &$b)
function diaspora_settings_post(array &$b)
{
if (!empty($_POST['diaspora-submit'])) {
DI::pConfig()->set(local_user(),'diaspora', 'post' , intval($_POST['enabled']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(),'diaspora', 'post' , intval($_POST['enabled']));
if (intval($_POST['enabled'])) {
if (isset($_POST['handle'])) {
DI::pConfig()->set(local_user(),'diaspora', 'handle' , trim($_POST['handle']));
DI::pConfig()->set(local_user(),'diaspora', 'password' , trim($_POST['password']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(),'diaspora', 'handle' , trim($_POST['handle']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(),'diaspora', 'password' , trim($_POST['password']));
}
if (!empty($_POST['aspect'])) {
DI::pConfig()->set(local_user(),'diaspora', 'aspect' , trim($_POST['aspect']));
DI::pConfig()->set(local_user(),'diaspora', 'post_by_default', intval($_POST['post_by_default']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(),'diaspora', 'aspect' , trim($_POST['aspect']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(),'diaspora', 'post_by_default', intval($_POST['post_by_default']));
}
} else {
DI::pConfig()->delete(local_user(), 'diaspora', 'password');
DI::pConfig()->delete(DI::userSession()->getLocalUserId(), 'diaspora', 'password');
}
}
}
function diaspora_hook_fork(&$a, &$b)
function diaspora_hook_fork(array &$b)
{
if ($b['name'] != 'notifier_normal') {
return;
@@ -146,19 +145,19 @@ function diaspora_hook_fork(&$a, &$b)
$post = $b['data'];
if ($post['deleted'] || $post['private'] || ($post['created'] !== $post['edited']) ||
!strstr($post['postopts'], 'diaspora') || ($post['parent'] != $post['id'])) {
!strstr($post['postopts'] ?? '', 'diaspora') || ($post['parent'] != $post['id'])) {
$b['execute'] = false;
return;
}
}
function diaspora_post_local(App $a, array &$b)
function diaspora_post_local(array &$b)
{
if ($b['edit']) {
return;
}
if (!local_user() || (local_user() != $b['uid'])) {
if (!DI::userSession()->getLocalUserId() || (DI::userSession()->getLocalUserId() != $b['uid'])) {
return;
}
@@ -166,11 +165,11 @@ function diaspora_post_local(App $a, array &$b)
return;
}
$diaspora_post = intval(DI::pConfig()->get(local_user(),'diaspora','post'));
$diaspora_post = intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(),'diaspora','post'));
$diaspora_enable = (($diaspora_post && !empty($_REQUEST['diaspora_enable'])) ? intval($_REQUEST['diaspora_enable']) : 0);
if ($b['api_source'] && intval(DI::pConfig()->get(local_user(),'diaspora','post_by_default'))) {
if ($b['api_source'] && intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(),'diaspora','post_by_default'))) {
$diaspora_enable = 1;
}
@@ -185,9 +184,9 @@ function diaspora_post_local(App $a, array &$b)
$b['postopts'] .= 'diaspora';
}
function diaspora_send(App $a, array &$b)
function diaspora_send(array &$b)
{
$hostname = DI::baseUrl()->getHostname();
$hostname = DI::baseUrl()->getHost();
Logger::notice('diaspora_send: invoked');
@@ -203,7 +202,7 @@ function diaspora_send(App $a, array &$b)
return;
}
$b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], $b['body']);
$b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], DI::contentItem()->addSharedPost($b));
// Dont't post if the post doesn't belong to us.
// This is a check for forum postings

View File

@@ -4,7 +4,7 @@
#
#
# Translators:
# foss <foss@openmailbox.org>, 2020
# foss <oss@disr.it>, 2020
# Till Mohr <tmtrfx@till-mohr.de>, 2021
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2014
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018,2020
@@ -14,9 +14,9 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"PO-Revision-Date: 2021-12-22 15:27+0000\n"
"Last-Translator: Transifex Bot <>\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"PO-Revision-Date: 2014-06-22 11:39+0000\n"
"Last-Translator: Till Mohr <tmtrfx@till-mohr.de>, 2021\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -12,98 +12,94 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2021-03-22 09:09+0000\n"
"Last-Translator: bob lebonche <lebonche@tutanota.com>\n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"PO-Revision-Date: 2014-06-22 11:39+0000\n"
"Last-Translator: bob lebonche <lebonche@tutanota.com>, 2021\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: diaspora.php:43
#: diaspora.php:44
msgid "Post to Diaspora"
msgstr "Publier sur Diaspora"
#: diaspora.php:68
#: diaspora.php:67
#, php-format
msgid ""
"Please remember: You can always be reached from Diaspora with your Friendica"
" handle <strong>%s</strong>. "
msgstr "Attention : vous pouvez toujours être joint par Diaspora avec votre identifiant Friendica <strong>%s</strong>. "
#: diaspora.php:69
#: diaspora.php:68
msgid ""
"This connector is only meant if you still want to use your old Diaspora "
"account for some time. "
msgstr "Ce connecteur ne doit être utilisé que si vous souhaitez encore utiliser votre ancien compte Diaspora."
#: diaspora.php:70
#: diaspora.php:69
#, php-format
msgid ""
"However, it is preferred that you tell your Diaspora contacts the new handle"
" <strong>%s</strong> instead."
msgstr "Quoi qu'il en soit, il est préférable de communiquer son nouvel identifiant à ses contacts Diaspora <strong>%s</strong>."
#: diaspora.php:80
#: diaspora.php:79
msgid "All aspects"
msgstr "Tous les aspects"
#: diaspora.php:81
#: diaspora.php:80
msgid "Public"
msgstr "Public"
#: diaspora.php:87
#: diaspora.php:86
msgid "Post to aspect:"
msgstr "Publier avec l'aspect:"
#: diaspora.php:88
#: diaspora.php:87
#, php-format
msgid "Connected with your Diaspora account <strong>%s</strong>"
msgstr "Connecté avec votre compte Diaspora <strong>%s</strong>"
#: diaspora.php:91
#: diaspora.php:90
msgid ""
"Can't login to your Diaspora account. Please check handle (in the format "
"user@domain.tld) and password."
msgstr "Connexion impossible à votre compte Diaspora. Merci de vérifier votre identifiant (au format user@domain.tld) et votre mot de passe."
#: diaspora.php:99
msgid "Diaspora Export"
msgstr "Export Diaspora"
#: diaspora.php:100
#: diaspora.php:97
msgid "Information"
msgstr "Information"
#: diaspora.php:101
#: diaspora.php:98
msgid "Error"
msgstr "Erreur"
#: diaspora.php:102
msgid "Save Settings"
msgstr "Sauvegarder les paramètres"
#: diaspora.php:106
#: diaspora.php:104
msgid "Enable Diaspora Post Addon"
msgstr "Activer lextension «Publier sur Diaspora»"
#: diaspora.php:107
#: diaspora.php:105
msgid "Diaspora handle"
msgstr "Identifiant Diaspora"
#: diaspora.php:108
#: diaspora.php:106
msgid "Diaspora password"
msgstr "Mot de passe Diaspora"
#: diaspora.php:108
#: diaspora.php:106
msgid ""
"Privacy notice: Your Diaspora password will be stored unencrypted to "
"authenticate you with your Diaspora pod. This means your Friendica node "
"administrator can have access to it."
msgstr "Vie privée : Votre mot de passe Diaspora sera stocké sans encryption pour vous identifier sur votre pod. Cela signifie que ladministrateur de votre pod Diaspora peut y avoir accès."
#: diaspora.php:110
#: diaspora.php:108
msgid "Post to Diaspora by default"
msgstr "Publier sur Diaspora par défaut"
#: diaspora.php:113
msgid "Diaspora Export"
msgstr "Export Diaspora"

View File

@@ -3,7 +3,7 @@
if(! function_exists("string_plural_select_fr")) {
function string_plural_select_fr($n){
$n = intval($n);
return intval($n > 1);
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
}}
$a->strings['Post to Diaspora'] = 'Publier sur Diaspora';
$a->strings['Please remember: You can always be reached from Diaspora with your Friendica handle <strong>%s</strong>. '] = 'Attention : vous pouvez toujours être joint par Diaspora avec votre identifiant Friendica <strong>%s</strong>. ';
@@ -14,12 +14,11 @@ $a->strings['Public'] = 'Public';
$a->strings['Post to aspect:'] = 'Publier avec l\'aspect:';
$a->strings['Connected with your Diaspora account <strong>%s</strong>'] = 'Connecté avec votre compte Diaspora <strong>%s</strong>';
$a->strings['Can\'t login to your Diaspora account. Please check handle (in the format user@domain.tld) and password.'] = 'Connexion impossible à votre compte Diaspora. Merci de vérifier votre identifiant (au format user@domain.tld) et votre mot de passe.';
$a->strings['Diaspora Export'] = 'Export Diaspora';
$a->strings['Information'] = 'Information';
$a->strings['Error'] = 'Erreur';
$a->strings['Save Settings'] = 'Sauvegarder les paramètres';
$a->strings['Enable Diaspora Post Addon'] = 'Activer lextension «Publier sur Diaspora»';
$a->strings['Diaspora handle'] = 'Identifiant Diaspora';
$a->strings['Diaspora password'] = 'Mot de passe Diaspora';
$a->strings['Privacy notice: Your Diaspora password will be stored unencrypted to authenticate you with your Diaspora pod. This means your Friendica node administrator can have access to it.'] = 'Vie privée : Votre mot de passe Diaspora sera stocké sans encryption pour vous identifier sur votre pod. Cela signifie que ladministrateur de votre pod Diaspora peut y avoir accès.';
$a->strings['Post to Diaspora by default'] = 'Publier sur Diaspora par défaut';
$a->strings['Diaspora Export'] = 'Export Diaspora';

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"PO-Revision-Date: 2021-12-23 17:19+0000\n"
"Last-Translator: Balázs Úr\n"
"PO-Revision-Date: 2014-06-22 11:39+0000\n"
"Last-Translator: Balázs Úr, 2020\n"
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -36,13 +36,13 @@ function discourse_install()
Hook::register('connector_settings_post', __FILE__, 'discourse_settings_post');
}
function discourse_settings(App $a, array &$data)
function discourse_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$enabled = intval(DI::pConfig()->get(local_user(), 'discourse', 'enabled'));
$enabled = intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'discourse', 'enabled'));
$t = Renderer::getMarkupTemplate('connector_settings.tpl', 'addon/discourse/');
$html = Renderer::replaceMacros($t, [
@@ -58,16 +58,16 @@ function discourse_settings(App $a, array &$data)
];
}
function discourse_settings_post(App $a)
function discourse_settings_post()
{
if (!local_user() || empty($_POST['discourse-submit'])) {
if (!DI::userSession()->getLocalUserId() || empty($_POST['discourse-submit'])) {
return;
}
DI::pConfig()->set(local_user(), 'discourse', 'enabled', intval($_POST['enabled']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'discourse', 'enabled', intval($_POST['enabled']));
}
function discourse_email_getmessage(App $a, &$message)
function discourse_email_getmessage(&$message)
{
if (empty($message['item']['uid'])) {
return;

View File

@@ -29,34 +29,34 @@ function dwpost_install()
Hook::register('connector_settings_post', 'addon/dwpost/dwpost.php', 'dwpost_settings_post');
}
function dwpost_jot_nets(App $a, array &$jotnets_fields)
function dwpost_jot_nets(array &$jotnets_fields)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
if (DI::pConfig()->get(local_user(), 'dwpost', 'post')) {
if (DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'dwpost', 'post')) {
$jotnets_fields[] = [
'type' => 'checkbox',
'field' => [
'dwpost_enable',
DI::l10n()->t('Post to Dreamwidth'),
DI::pConfig()->get(local_user(), 'dwpost', 'post_by_default')
DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'dwpost', 'post_by_default')
]
];
}
}
function dwpost_settings(App $a, array &$data)
function dwpost_settings(array &$data)
{
if (!local_user()) {
if (!DI::userSession()->getLocalUserId()) {
return;
}
$enabled = DI::pConfig()->get(local_user(), 'dwpost', 'post', false);
$dw_username = DI::pConfig()->get(local_user(), 'dwpost', 'dw_username');
$def_enabled = DI::pConfig()->get(local_user(), 'dwpost', 'post_by_default');
$enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'dwpost', 'post', false);
$dw_username = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'dwpost', 'dw_username');
$def_enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'dwpost', 'post_by_default');
$t = Renderer::getMarkupTemplate('connector_settings.tpl', 'addon/dwpost/');
$html = Renderer::replaceMacros($t, [
@@ -76,24 +76,24 @@ function dwpost_settings(App $a, array &$data)
}
function dwpost_settings_post(App $a, array &$b)
function dwpost_settings_post(array &$b)
{
if (!empty($_POST['dwpost-submit'])) {
DI::pConfig()->set(local_user(), 'dwpost', 'post', intval($_POST['dwpost']));
DI::pConfig()->set(local_user(), 'dwpost', 'post_by_default', intval($_POST['dw_bydefault']));
DI::pConfig()->set(local_user(), 'dwpost', 'dw_username', trim($_POST['dw_username']));
DI::pConfig()->set(local_user(), 'dwpost', 'dw_password', trim($_POST['dw_password']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'dwpost', 'post', intval($_POST['dwpost']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'dwpost', 'post_by_default', intval($_POST['dw_bydefault']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'dwpost', 'dw_username', trim($_POST['dw_username']));
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'dwpost', 'dw_password', trim($_POST['dw_password']));
}
}
function dwpost_post_local(App $a, array &$b)
function dwpost_post_local(array &$b)
{
// This can probably be changed to allow editing by pointing to a different API endpoint
if ($b['edit']) {
return;
}
if ((!local_user()) || (local_user() != $b['uid'])) {
if ((!DI::userSession()->getLocalUserId()) || (DI::userSession()->getLocalUserId() != $b['uid'])) {
return;
}
@@ -101,11 +101,11 @@ function dwpost_post_local(App $a, array &$b)
return;
}
$dw_post = intval(DI::pConfig()->get(local_user(),'dwpost','post'));
$dw_post = intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(),'dwpost','post'));
$dw_enable = (($dw_post && !empty($_REQUEST['dwpost_enable'])) ? intval($_REQUEST['dwpost_enable']) : 0);
if ($b['api_source'] && intval(DI::pConfig()->get(local_user(),'dwpost','post_by_default'))) {
if ($b['api_source'] && intval(DI::pConfig()->get(DI::userSession()->getLocalUserId(),'dwpost','post_by_default'))) {
$dw_enable = 1;
}
@@ -120,13 +120,13 @@ function dwpost_post_local(App $a, array &$b)
$b['postopts'] .= 'dwpost';
}
function dwpost_send(App $a, array &$b)
function dwpost_send(array &$b)
{
if ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) {
return;
}
if (!strstr($b['postopts'],'dwpost')) {
if (strpos($b['postopts'] ?? '', 'dwpost') === false) {
return;
}
@@ -134,7 +134,7 @@ function dwpost_send(App $a, array &$b)
return;
}
$b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], $b['body']);
$b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], DI::contentItem()->addSharedPost($b));
/*
* dreamwidth post in the LJ user's timezone.

View File

@@ -10,40 +10,36 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
"PO-Revision-Date: 2018-06-14 10:13+0000\n"
"Last-Translator: Aditoo\n"
"Language-Team: Czech (http://www.transifex.com/Friendica/friendica/language/cs/)\n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"PO-Revision-Date: 2014-06-22 11:41+0000\n"
"Last-Translator: Aditoo, 2018\n"
"Language-Team: Czech (http://app.transifex.com/Friendica/friendica/language/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"
#: dwpost.php:39
#: dwpost.php:43
msgid "Post to Dreamwidth"
msgstr "Poslat na Dreamwidth"
msgstr "Odeslat na Dreamwidth"
#: dwpost.php:70
msgid "Dreamwidth Post Settings"
msgstr "Nastavení Dreamwidth Post"
#: dwpost.php:63
msgid "Enable Dreamwidth Post Addon"
msgstr ""
#: dwpost.php:72
msgid "Enable dreamwidth Post Addon"
msgstr "Povolit doplněk Dreamwidth Post"
#: dwpost.php:64
msgid "Dreamwidth username"
msgstr ""
#: dwpost.php:77
msgid "dreamwidth username"
msgstr "dreamwidth uživatelské jméno"
#: dwpost.php:65
msgid "Dreamwidth password"
msgstr ""
#: dwpost.php:82
msgid "dreamwidth password"
msgstr "dreamwidth heslo"
#: dwpost.php:66
msgid "Post to Dreamwidth by default"
msgstr ""
#: dwpost.php:87
msgid "Post to dreamwidth by default"
msgstr "Ve výchozím stavu posílat na dreamwidth"
#: dwpost.php:93
msgid "Submit"
msgstr "Odeslat"
#: dwpost.php:71
msgid "Dreamwidth Export"
msgstr ""

View File

@@ -5,10 +5,4 @@ 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['Post to Dreamwidth'] = 'Poslat na Dreamwidth';
$a->strings['Dreamwidth Post Settings'] = 'Nastavení Dreamwidth Post';
$a->strings['Enable dreamwidth Post Addon'] = 'Povolit doplněk Dreamwidth Post';
$a->strings['dreamwidth username'] = 'dreamwidth uživatelské jméno';
$a->strings['dreamwidth password'] = 'dreamwidth heslo';
$a->strings['Post to dreamwidth by default'] = 'Ve výchozím stavu posílat na dreamwidth';
$a->strings['Submit'] = 'Odeslat';
$a->strings['Post to Dreamwidth'] = 'Odeslat na Dreamwidth';

View File

@@ -13,9 +13,9 @@ msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"PO-Revision-Date: 2022-01-22 17:33+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"PO-Revision-Date: 2014-06-22 11:41+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018,2021-2022\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

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