Compare commits

...

19 commits

Author SHA1 Message Date
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: friendica/friendica-addons#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: friendica/friendica-addons#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: friendica/friendica-addons#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: friendica/friendica-addons#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: friendica/friendica-addons#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
Michael 9e7f06ed44 Tumblr: Dashboard import and activities are working 2023-04-22 10:01:09 +00: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
14 changed files with 1275 additions and 520 deletions

View file

@ -29,68 +29,72 @@ msgstr ""
msgid "Save Settings"
msgstr ""
#: mailstream.php:301
#: mailstream.php:311
msgid "Re:"
msgstr ""
#: mailstream.php:314 mailstream.php:317
#: mailstream.php:324 mailstream.php:327
msgid "Friendica post"
msgstr ""
#: mailstream.php:320
#: mailstream.php:330
msgid "Diaspora post"
msgstr ""
#: mailstream.php:330
#: mailstream.php:340
msgid "Feed item"
msgstr ""
#: mailstream.php:333
#: mailstream.php:343
msgid "Email"
msgstr ""
#: mailstream.php:335
#: mailstream.php:345
msgid "Friendica Item"
msgstr ""
#: mailstream.php:404
#: mailstream.php:419
msgid "Upstream"
msgstr ""
#: mailstream.php:405
#: mailstream.php:420
msgid "URI"
msgstr ""
#: mailstream.php:421
msgid "Local"
msgstr ""
#: mailstream.php:481
#: mailstream.php:499
msgid "Enabled"
msgstr ""
#: mailstream.php:486
#: mailstream.php:504
msgid "Email Address"
msgstr ""
#: mailstream.php:488
#: mailstream.php:506
msgid "Leave blank to use your account email address"
msgstr ""
#: mailstream.php:492
#: mailstream.php:510
msgid "Exclude Likes"
msgstr ""
#: mailstream.php:494
#: mailstream.php:512
msgid "Check this to omit mailing \"Like\" notifications"
msgstr ""
#: mailstream.php:498
#: mailstream.php:516
msgid "Attach Images"
msgstr ""
#: mailstream.php:500
#: mailstream.php:518
msgid ""
"Download images in posts and attach them to the email. Useful for reading "
"email while offline."
msgstr ""
#: mailstream.php:507
#: mailstream.php:525
msgid "Mail Stream Settings"
msgstr ""

View file

@ -4,96 +4,77 @@
#
#
# Translators:
# Aditoo, 2018
# michal_s <msupler@gmail.com>, 2014
# Michal Šupler <msupler@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:15-0500\n"
"PO-Revision-Date: 2014-06-23 09:54+0000\n"
"Last-Translator: Aditoo, 2018\n"
"Language-Team: Czech (http://app.transifex.com/Friendica/friendica/language/cs/)\n"
"POT-Creation-Date: 2014-06-23 14:45+0200\n"
"PO-Revision-Date: 2014-07-07 19:19+0000\n"
"Last-Translator: Michal Šupler <msupler@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/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"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: mailstream.php:77
#: mailstream.php:55
msgid "From Address"
msgstr "Adresa odesílatele"
#: mailstream.php:79
#: mailstream.php:57
msgid "Email address that stream items will appear to be from."
msgstr "Adresa, která vysílá položky, se objeví jako odesílatel."
#: mailstream.php:82
#: mailstream.php:60 mailstream.php:282
msgid "Save Settings"
msgstr "Uložit nastavení"
msgstr "Uložit Nastavení"
#: mailstream.php:301
#: mailstream.php:165
msgid "Re:"
msgstr "Re:"
#: mailstream.php:314 mailstream.php:317
#: mailstream.php:173
msgid "Friendica post"
msgstr "Příspěvek z Friendica"
msgstr "Friendica příspěvky"
#: mailstream.php:320
#: mailstream.php:176
msgid "Diaspora post"
msgstr "Příspěvek z Diaspora"
msgstr "Diaspora příspvěvky"
#: mailstream.php:330
#: mailstream.php:183
msgid "Feed item"
msgstr "Položka kanálu"
msgstr "Zdrojová položka"
#: mailstream.php:333
#: mailstream.php:186
msgid "Email"
msgstr "E-mail"
#: mailstream.php:335
#: mailstream.php:188
msgid "Friendica Item"
msgstr "Položka z Friendica"
msgstr "Friendica položka"
#: mailstream.php:404
#: mailstream.php:229
msgid "Upstream"
msgstr "Upstream"
#: mailstream.php:405
#: mailstream.php:230
msgid "Local"
msgstr "Místní"
msgstr "Lokální"
#: mailstream.php:481
msgid "Enabled"
msgstr "Povoleno"
#: mailstream.php:486
#: mailstream.php:274
msgid "Email Address"
msgstr "E-mailová adresa"
#: mailstream.php:488
#: mailstream.php:276
msgid "Leave blank to use your account email address"
msgstr "Ponechte prázdné pro použití vaší e-mailové adresy"
#: mailstream.php:492
msgid "Exclude Likes"
msgstr "Vynechávat \"lajky\""
#: mailstream.php:279
msgid "Enabled"
msgstr "Povoleno"
#: mailstream.php:494
msgid "Check this to omit mailing \"Like\" notifications"
msgstr "Zaškrtnutím vypnete posílání oznámení o \"To se mi líbí\""
#: mailstream.php:498
msgid "Attach Images"
msgstr "Připojit obrázky"
#: mailstream.php:500
msgid ""
"Download images in posts and attach them to the email. Useful for reading "
"email while offline."
msgstr "Stahovat obrázky v příspěvcích a připojovat je k e-mailu. Užitečné pro čtení e-mailu, když jste offline."
#: mailstream.php:507
#: mailstream.php:281
msgid "Mail Stream Settings"
msgstr "Nastavení Mail Stream"
msgstr "Mail Stream nastavení"

View file

@ -3,24 +3,20 @@
if(! function_exists("string_plural_select_cs")) {
function string_plural_select_cs($n){
$n = intval($n);
if (($n == 1 && $n % 1 == 0)) { return 0; } else if (($n >= 2 && $n <= 4 && $n % 1 == 0)) { return 1; } else if (($n % 1 != 0 )) { return 2; } else { return 3; }
if (($n==1)) { return 0; } else if (($n>=2 && $n<=4)) { return 1; } else { return 2; }
}}
$a->strings['From Address'] = 'Adresa odesílatele';
$a->strings['Email address that stream items will appear to be from.'] = 'Adresa, která vysílá položky, se objeví jako odesílatel.';
$a->strings['Save Settings'] = 'Uložit nastavení';
$a->strings['Save Settings'] = 'Uložit Nastavení';
$a->strings['Re:'] = 'Re:';
$a->strings['Friendica post'] = 'Příspěvek z Friendica';
$a->strings['Diaspora post'] = 'Příspěvek z Diaspora';
$a->strings['Feed item'] = 'Položka kanálu';
$a->strings['Friendica post'] = 'Friendica příspěvky';
$a->strings['Diaspora post'] = 'Diaspora příspvěvky';
$a->strings['Feed item'] = 'Zdrojová položka';
$a->strings['Email'] = 'E-mail';
$a->strings['Friendica Item'] = 'Položka z Friendica';
$a->strings['Friendica Item'] = 'Friendica položka';
$a->strings['Upstream'] = 'Upstream';
$a->strings['Local'] = 'Místní';
$a->strings['Enabled'] = 'Povoleno';
$a->strings['Local'] = 'Lokální';
$a->strings['Email Address'] = 'E-mailová adresa';
$a->strings['Leave blank to use your account email address'] = 'Ponechte prázdné pro použití vaší e-mailové adresy';
$a->strings['Exclude Likes'] = 'Vynechávat "lajky"';
$a->strings['Check this to omit mailing "Like" notifications'] = 'Zaškrtnutím vypnete posílání oznámení o "To se mi líbí"';
$a->strings['Attach Images'] = 'Připojit obrázky';
$a->strings['Download images in posts and attach them to the email. Useful for reading email while offline.'] = 'Stahovat obrázky v příspěvcích a připojovat je k e-mailu. Užitečné pro čtení e-mailu, když jste offline.';
$a->strings['Mail Stream Settings'] = 'Nastavení Mail Stream';
$a->strings['Enabled'] = 'Povoleno';
$a->strings['Mail Stream Settings'] = 'Mail Stream nastavení';

View file

@ -5,17 +5,16 @@
#
# Translators:
# Andreas H., 2014
# foss <oss@disr.it>, 2022
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018
# Ulf Rompe <transifex.com@rompe.org>, 2019
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:15-0500\n"
"PO-Revision-Date: 2014-06-23 09:54+0000\n"
"Last-Translator: foss <oss@disr.it>, 2022\n"
"Language-Team: German (http://app.transifex.com/Friendica/friendica/language/de/)\n"
"POT-Creation-Date: 2018-03-11 19:13+0100\n"
"PO-Revision-Date: 2019-02-18 15:05+0000\n"
"Last-Translator: Ulf Rompe <transifex.com@rompe.org>\n"
"Language-Team: German (http://www.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"
@ -30,72 +29,72 @@ msgstr "Absender"
msgid "Email address that stream items will appear to be from."
msgstr "E-Mail-Adresse, die in hochgeladenen Artikeln erscheint."
#: mailstream.php:82
#: mailstream.php:82 mailstream.php:380
msgid "Save Settings"
msgstr "Einstellungen speichern"
#: mailstream.php:301
#: mailstream.php:223
msgid "Re:"
msgstr "Re:"
#: mailstream.php:314 mailstream.php:317
#: mailstream.php:231
msgid "Friendica post"
msgstr "Friendica-Veröffentlichung"
#: mailstream.php:320
#: mailstream.php:234
msgid "Diaspora post"
msgstr "Diaspora-Veröffentlichung"
#: mailstream.php:330
#: mailstream.php:244
msgid "Feed item"
msgstr "Artikel-Feed"
#: mailstream.php:333
#: mailstream.php:247
msgid "Email"
msgstr "E-Mail"
#: mailstream.php:335
#: mailstream.php:249
msgid "Friendica Item"
msgstr "Friendica-Artikel"
#: mailstream.php:404
#: mailstream.php:293
msgid "Upstream"
msgstr "Upstream"
#: mailstream.php:405
#: mailstream.php:294
msgid "Local"
msgstr "Lokal"
#: mailstream.php:481
#: mailstream.php:362
msgid "Enabled"
msgstr "Aktiv"
msgstr "eingeschaltet"
#: mailstream.php:486
#: mailstream.php:366
msgid "Email Address"
msgstr "E-Mail-Adresse"
#: mailstream.php:488
#: mailstream.php:368
msgid "Leave blank to use your account email address"
msgstr "Leer lassen für deine Konto-E-Mail-Addresse"
#: mailstream.php:492
#: mailstream.php:371
msgid "Exclude Likes"
msgstr "Likes ignorieren"
#: mailstream.php:494
#: mailstream.php:373
msgid "Check this to omit mailing \"Like\" notifications"
msgstr "Diese Option verhindert das Versenden von \"Like\"-Benachrichtigungen per E-Mail."
#: mailstream.php:498
#: mailstream.php:376
msgid "Attach Images"
msgstr "Bilder anhängen"
#: mailstream.php:500
#: mailstream.php:378
msgid ""
"Download images in posts and attach them to the email. Useful for reading "
"email while offline."
msgstr "Sollen Bilder, die im Beitrag eingebettet sind, als Dateianhang in den E-Mails verschickt werden?"
#: mailstream.php:507
#: mailstream.php:379
msgid "Mail Stream Settings"
msgstr "Mail-Nachrichten-Einstellungen"

View file

@ -16,7 +16,7 @@ $a->strings['Email'] = 'E-Mail';
$a->strings['Friendica Item'] = 'Friendica-Artikel';
$a->strings['Upstream'] = 'Upstream';
$a->strings['Local'] = 'Lokal';
$a->strings['Enabled'] = 'Aktiv';
$a->strings['Enabled'] = 'eingeschaltet';
$a->strings['Email Address'] = 'E-Mail-Adresse';
$a->strings['Leave blank to use your account email address'] = 'Leer lassen für deine Konto-E-Mail-Addresse';
$a->strings['Exclude Likes'] = 'Likes ignorieren';

View file

@ -9,90 +9,90 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:15-0500\n"
"PO-Revision-Date: 2014-06-23 09:54+0000\n"
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>, 2014,2018\n"
"Language-Team: Italian (http://app.transifex.com/Friendica/friendica/language/it/)\n"
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
"PO-Revision-Date: 2018-03-19 13:12+0000\n"
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mailstream.php:77
#: mailstream.php:66
msgid "From Address"
msgstr "Indirizzo di invio"
#: mailstream.php:79
#: mailstream.php:68
msgid "Email address that stream items will appear to be from."
msgstr "Indirizzo email da cui i messaggi appariranno inviati"
#: mailstream.php:82
#: mailstream.php:71 mailstream.php:382
msgid "Save Settings"
msgstr "Salva Impostazioni"
#: mailstream.php:301
#: mailstream.php:225
msgid "Re:"
msgstr "R:"
#: mailstream.php:314 mailstream.php:317
#: mailstream.php:233
msgid "Friendica post"
msgstr "Messaggio Friendica"
#: mailstream.php:320
#: mailstream.php:236
msgid "Diaspora post"
msgstr "Messaggio Diaspora"
#: mailstream.php:330
#: mailstream.php:246
msgid "Feed item"
msgstr "Elemento da feed"
#: mailstream.php:333
#: mailstream.php:249
msgid "Email"
msgstr "Email"
#: mailstream.php:335
#: mailstream.php:251
msgid "Friendica Item"
msgstr "Elemento da Friendica"
#: mailstream.php:404
#: mailstream.php:296
msgid "Upstream"
msgstr "Upstream"
#: mailstream.php:405
#: mailstream.php:297
msgid "Local"
msgstr "Locale"
#: mailstream.php:481
#: mailstream.php:364
msgid "Enabled"
msgstr "Abilitato"
#: mailstream.php:486
#: mailstream.php:368
msgid "Email Address"
msgstr "Indirizzo Email"
#: mailstream.php:488
#: mailstream.php:370
msgid "Leave blank to use your account email address"
msgstr "Lascia in bianco per usare l'indirizzo email del tuo account"
#: mailstream.php:492
#: mailstream.php:373
msgid "Exclude Likes"
msgstr "Escludi \"Mi Piace\""
#: mailstream.php:494
#: mailstream.php:375
msgid "Check this to omit mailing \"Like\" notifications"
msgstr "Seleziona per evitare di inviare notifiche per \"Mi Piace\""
#: mailstream.php:498
#: mailstream.php:378
msgid "Attach Images"
msgstr "Allega Immagini"
#: mailstream.php:500
#: mailstream.php:380
msgid ""
"Download images in posts and attach them to the email. Useful for reading "
"email while offline."
msgstr "Scarica le immagini nei messaggi e le allega alle email. Utile per leggere le email mentre si è offline."
#: mailstream.php:507
#: mailstream.php:381
msgid "Mail Stream Settings"
msgstr "Impostazioni Mail Stream"

View file

@ -3,7 +3,7 @@
if(! function_exists("string_plural_select_it")) {
function string_plural_select_it($n){
$n = intval($n);
if ($n == 1) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
return intval($n != 1);
}}
$a->strings['From Address'] = 'Indirizzo di invio';
$a->strings['Email address that stream items will appear to be from.'] = 'Indirizzo email da cui i messaggi appariranno inviati';

View file

@ -32,7 +32,6 @@ function mailstream_install()
Hook::register('addon_settings_post', 'addon/mailstream/mailstream.php', 'mailstream_addon_settings_post');
Hook::register('post_local_end', 'addon/mailstream/mailstream.php', 'mailstream_post_hook');
Hook::register('post_remote_end', 'addon/mailstream/mailstream.php', 'mailstream_post_hook');
Hook::register('cron', 'addon/mailstream/mailstream.php', 'mailstream_cron');
Hook::register('mailstream_send_hook', 'addon/mailstream/mailstream.php', 'mailstream_send_hook');
Logger::info("mailstream: installed");
@ -67,9 +66,10 @@ function mailstream_module() {}
/**
* Adds an item in "addon features" in the admin menu of the site
*
* @param App $a App object (unused)
* @param string $o HTML form data
*/
function mailstream_addon_admin(string &$o)
function mailstream_addon_admin(App $a, string &$o)
{
$frommail = DI::config()->get('mailstream', 'frommail');
$template = Renderer::getMarkupTemplate('admin.tpl', 'addon/mailstream/');
@ -103,14 +103,14 @@ function mailstream_addon_admin_post()
*/
function mailstream_generate_id(string $uri): string
{
$host = DI::baseUrl()->getHost();
$host = DI::baseUrl()->getHostname();
$resource = hash('md5', $uri);
$message_id = "<" . $resource . "@" . $host . ">";
Logger::debug('mailstream: Generated message ID ' . $message_id . ' for URI ' . $uri);
return $message_id;
}
function mailstream_send_hook(array $data)
function mailstream_send_hook(App $a, array $data)
{
$criteria = array('uid' => $data['uid'], 'contact-id' => $data['contact-id'], 'uri' => $data['uri']);
$item = Post::selectFirst([], $criteria);
@ -138,15 +138,16 @@ function mailstream_send_hook(array $data)
* mailstream is enabled and the necessary data is available, forks a
* workerqueue item to send the email.
*
* @param App $a App object (unused)
* @param array $item content of the item (may or may not already be stored in the item table)
* @return void
*/
function mailstream_post_hook(array &$item)
function mailstream_post_hook(App $a, array &$item)
{
mailstream_check_version();
if (!DI::pConfig()->get($item['uid'], 'mailstream', 'enabled')) {
Logger::debug('mailstream: not enabled for item ' . $item['id']);
Logger::debug('mailstream: not enabled.', ['item' => $item['id'], ' uid ' => $item['uid']]);
return;
}
if (!$item['uid']) {
@ -161,8 +162,8 @@ function mailstream_post_hook(array &$item)
Logger::debug('mailstream: no uri for item ' . $item['id']);
return;
}
if (!$item['plink']) {
Logger::debug('mailstream: no plink for item ' . $item['id']);
if ($item['verb'] == Activity::ANNOUNCE) {
Logger::debug('mailstream: announce item ', ['item' => $item['id']]);
return;
}
if (DI::pConfig()->get($item['uid'], 'mailstream', 'nolikes')) {
@ -395,7 +396,9 @@ function mailstream_send(string $message_id, array $item, array $user): bool
$mail->addCustomHeader('In-Reply-To: ' . mailstream_generate_id($item['thr-parent']));
}
$mail->addCustomHeader('X-Friendica-Mailstream-URI: ' . $item['uri']);
$mail->addCustomHeader('X-Friendica-Mailstream-Plink: ' . $item['plink']);
if ($item['plink']) {
$mail->addCustomHeader('X-Friendica-Mailstream-Plink: ' . $item['plink']);
}
$encoding = 'base64';
foreach ($attachments as $url => $image) {
$mail->AddStringEmbeddedImage(
@ -411,12 +414,13 @@ function mailstream_send(string $message_id, array $item, array $user): bool
$template = Renderer::getMarkupTemplate('mail.tpl', 'addon/mailstream/');
$mail->AltBody = BBCode::toPlaintext($item['body']);
$item['body'] = BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::CONNECTORS);
$item['url'] = DI::baseUrl() . '/display/' . $item['guid'];
$item['url'] = DI::baseUrl()->get() . '/display/' . $item['guid'];
$mail->Body = Renderer::replaceMacros($template, [
'$upstream' => DI::l10n()->t('Upstream'),
'$uri' => DI::l10n()->t('URI'),
'$local' => DI::l10n()->t('Local'),
'$item' => $item]);
mailstream_html_wrap($mail->Body);
$mail->Body = mailstream_html_wrap($mail->Body);
if (!$mail->Send()) {
throw new Exception($mail->ErrorInfo);
}
@ -437,7 +441,8 @@ function mailstream_send(string $message_id, array $item, array $user): bool
* bbcode's output suitable for transmission, we try to break things
* up so that lines are about 200 characters.
*
* @param string $text text to word wrap - modified in-place
* @param string $text text to word wrap
* @return string wrapped text
*/
function mailstream_html_wrap(string &$text)
{
@ -446,6 +451,7 @@ function mailstream_html_wrap(string &$text)
$lines[$i] = preg_replace('/ /', "\n", $lines[$i], 1);
}
$text = implode($lines);
return $text;
}
/**
@ -462,8 +468,7 @@ function mailstream_convert_table_entries()
'message_id' => $ms_item_id['message-id'],
'tries' => 0);
if (!$ms_item_id['message-id'] || !strlen($ms_item_id['message-id'])) {
Logger::info('mailstream_cron: Item ' .
$ms_item_id['id'] . ' URI ' . $ms_item_id['uri'] . ' has no message-id');
Logger::info('mailstream_convert_table_entries: item has no message-id.', 'item' => $ms_item_id['id'], 'uri' => $ms_item_id['uri']]);
continue;
}
Logger::info('mailstream_convert_table_entries: convert item to workerqueue', $send_hook_data);
@ -475,10 +480,11 @@ function mailstream_convert_table_entries()
/**
* Form for configuring mailstream features for a user
*
* @param App $a App object
* @param array $data Hook data array
* @throws \Friendica\Network\HTTPException\ServiceUnavailableException
*/
function mailstream_addon_settings(array &$data)
function mailstream_addon_settings(App &$a, array &$data)
{
$enabled = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'mailstream', 'enabled');
$address = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'mailstream', 'address');
@ -522,10 +528,11 @@ function mailstream_addon_settings(array &$data)
/**
* Process data submitted to user's mailstream features form
* @param App $a
* @param array $post POST data
* @return void
*/
function mailstream_addon_settings_post(array $post)
function mailstream_addon_settings_post(App $a, array $post)
{
if (!DI::userSession()->getLocalUserId() || empty($post['mailstream-submit'])) {
return;

View file

@ -6,5 +6,6 @@
<div class="mailstream-item-body">{{$item.body nofilter}}</div>
{{if $item.plink}}
<div>{{$upstream}}: <a class="mailstream-item-plink" href="{{$item.plink}}">{{$item.plink}}</a><div>
<div>{{$uri}}: <a class="mailstream-item-uri" href="{{$item.uri}}">{{$item.uri}}</a><div>
<div>{{$local}}: <a class="mailstream-item-url" href="{{$item.url}}">{{$item.url}}</a></div>
{{/if}}

View file

@ -1,12 +1,7 @@
Installation
------------
[Register](http://www.tumblr.com/oauth/apps) an application and use (your server name)/addon/tumblr/callback.php as
callback URL
[Register](http://www.tumblr.com/oauth/apps) an application and use (your server name)/tumblr/callback as
callback URL and (your server name)/tumblr/redirect as OAuth2 redirect URL.
After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/addons/tumblr).
Notice
------
This connector is using the Tumblr-OAuth-Library:
[https://groups.google.com/d/msg/tumblr-api/g6SeIBWvsnE/gnWqT9jFSlEJ](https://groups.google.com/d/msg/tumblr-api/g6SeIBWvsnE/gnWqT9jFSlEJ)
After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/addons/tumblr).

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
"POT-Creation-Date: 2023-04-22 10:00+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"
@ -17,54 +17,58 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: tumblr.php:39
#: tumblr.php:60
msgid "Permission denied."
msgstr ""
#: tumblr.php:69
#: tumblr.php:111
msgid "Could not connect to Tumblr. Refresh the page or try again later."
msgstr ""
#: tumblr.php:159
msgid "Unable to authenticate"
msgstr ""
#: tumblr.php:174
msgid "Save Settings"
msgstr ""
#: tumblr.php:71
#: tumblr.php:176
msgid "Consumer Key"
msgstr ""
#: tumblr.php:72
#: tumblr.php:177
msgid "Consumer Secret"
msgstr ""
#: tumblr.php:177
msgid "You are now authenticated to tumblr."
msgstr ""
#: tumblr.php:178
msgid "return to the connector page"
msgstr ""
#: tumblr.php:194
msgid "Post to Tumblr"
msgstr ""
#: tumblr.php:225
#: tumblr.php:212
msgid "Post to page:"
msgstr ""
#: tumblr.php:231
#: tumblr.php:218
msgid "(Re-)Authenticate your tumblr page"
msgstr ""
#: tumblr.php:232
#: tumblr.php:219
msgid "You are not authenticated to tumblr"
msgstr ""
#: tumblr.php:237
#: tumblr.php:224
msgid "Enable Tumblr Post Addon"
msgstr ""
#: tumblr.php:238
#: tumblr.php:225
msgid "Post to Tumblr by default"
msgstr ""
#: tumblr.php:244
msgid "Tumblr Export"
#: tumblr.php:226
msgid "Import the remote timeline"
msgstr ""
#: tumblr.php:232
msgid "Tumblr Import/Export"
msgstr ""
#: tumblr.php:250
msgid "Post to Tumblr"
msgstr ""

View file

@ -1,108 +0,0 @@
<?php
/*
* Abraham Williams (abraham@abrah.am) http://abrah.am
*
* The first PHP Library to support OAuth for Tumblr's REST API. (Originally for Twitter, modified for Tumblr by Lucas)
*/
use Friendica\DI;
use Friendica\Security\OAuth1\OAuthConsumer;
use Friendica\Security\OAuth1\OAuthRequest;
use Friendica\Security\OAuth1\Signature\OAuthSignatureMethod_HMAC_SHA1;
use Friendica\Security\OAuth1\OAuthToken;
use Friendica\Security\OAuth1\OAuthUtil;
/**
* Tumblr OAuth class
*/
class TumblrOAuth
{
/* Contains the last HTTP status code returned. */
public $http_code;
/** @var OAuthConsumer */
private $consumer;
/** @var \Friendica\Security\OAuth1\Signature\OAuthSignatureMethod_HMAC_SHA1 */
private $sha1_method;
// API URLs
const accessTokenURL = 'https://www.tumblr.com/oauth/access_token';
const authorizeURL = 'https://www.tumblr.com/oauth/authorize';
const requestTokenURL = 'https://www.tumblr.com/oauth/request_token';
function __construct(string $consumer_key, string $consumer_secret)
{
$this->sha1_method = new OAuthSignatureMethod_HMAC_SHA1();
$this->consumer = new OAuthConsumer($consumer_key, $consumer_secret);
}
/**
* Get a request_token from Tumblr
*
* @param string $oauth_callback
* @return array
*/
function getRequestToken(string $oauth_callback): array
{
$request = $this->oAuthRequest(self::requestTokenURL, ['oauth_callback' => $oauth_callback]);
return OAuthUtil::parse_parameters($request);
}
/**
* Get the authorize URL
*
* @param string $oauth_token
* @return string
*/
function getAuthorizeURL(string $oauth_token): string
{
return self::authorizeURL . "?oauth_token={$oauth_token}";
}
/**
* Exchange request token and secret for an access token and
* secret, to sign API calls.
*
* @param string $oauth_verifier
* @param string $request_token
* @param string $request_token_secret
* @return array ("oauth_token" => "the-access-token",
* "oauth_token_secret" => "the-access-secret",
* "user_id" => "9436992",
* "screen_name" => "abraham")
*/
function getAccessToken(string $oauth_verifier, string $request_token, string $request_token_secret): array
{
$token = new OAuthToken($request_token, $request_token_secret);
$parameters = [];
if (!empty($oauth_verifier)) {
$parameters['oauth_verifier'] = $oauth_verifier;
}
$request = $this->oAuthRequest(self::accessTokenURL, $parameters, $token);
return OAuthUtil::parse_parameters($request);
}
/**
* Format and sign an OAuth / API request
*
* @param string $url
* @param array $parameters
* @param OAuthToken $token $name
* @return string
*/
private function oAuthRequest(string $url, array $parameters, OAuthToken $token = null): string
{
$request = OAuthRequest::from_consumer_and_token($this->consumer, 'GET', $url, $parameters, $token);
$request->sign_request($this->sha1_method, $this->consumer, $token);
$curlResult = DI::httpClient()->get($request->to_url());
$this->http_code = $curlResult->getReturnCode();
if ($curlResult->isSuccess()) {
return $curlResult->getBody();
}
return '';
}
}

View file

@ -2,6 +2,7 @@
{{include file="field_checkbox.tpl" field=$enable}}
{{include file="field_checkbox.tpl" field=$bydefault}}
{{include file="field_checkbox.tpl" field=$import}}
{{if $page_select}}
{{include file="field_select.tpl" field=$page_select}}

File diff suppressed because it is too large Load diff