diff --git a/diaspora/diaspora.php b/diaspora/diaspora.php
index edf6922d..380a4df8 100644
--- a/diaspora/diaspora.php
+++ b/diaspora/diaspora.php
@@ -13,8 +13,6 @@ use Friendica\App;
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;
@@ -63,83 +61,121 @@ function diaspora_settings(App $a, &$s)
return;
}
+ /* Add our stylesheet to the page so we can make our settings look nice */
+
+ DI::page()['htmlhead'] .= ' ' . "\r\n";
+
/* Get the current state of our config variables */
$enabled = DI::pConfig()->get(local_user(),'diaspora','post');
+ $checked = (($enabled) ? ' checked="checked" ' : '');
+ $css = (($enabled) ? '' : '-disabled');
+
$def_enabled = DI::pConfig()->get(local_user(),'diaspora','post_by_default');
+ $def_checked = (($def_enabled) ? ' checked="checked" ' : '');
+
$handle = DI::pConfig()->get(local_user(), 'diaspora', 'handle');
$password = DI::pConfig()->get(local_user(), 'diaspora', 'password');
$aspect = DI::pConfig()->get(local_user(),'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 %s . ', 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 %s instead.', Session::get('my_address'));
+ $status = "";
+
+ $r = q("SELECT `addr` FROM `contact` WHERE `self` AND `uid` = %d", intval(local_user()));
+
+ if (DBA::isResult($r)) {
+ $status = DI::l10n()->t("Please remember: You can always be reached from Diaspora with your Friendica handle %s. ", $r[0]['addr']);
+ $status .= DI::l10n()->t('This connector is only meant if you still want to use your old Diaspora account for some time. ');
+ $status .= DI::l10n()->t('However, it is preferred that you tell your Diaspora contacts the new handle %s instead.', $r[0]['addr']);
}
- $aspect_select = '';
+ $aspects = false;
+
if ($handle && $password) {
$conn = new Diaspora_Connection($handle, $password);
$conn->logIn();
- $rawAspects = $conn->getAspects();
- if ($rawAspects) {
- $availableAspects = [
- 'all_aspects' => DI::l10n()->t('All aspects'),
- 'public' => DI::l10n()->t('Public'),
- ];
- foreach ($rawAspects as $rawAspect) {
- $availableAspects[$rawAspect->id] = $rawAspect->name;
- }
+ $aspects = $conn->getAspects();
- $aspect_select = ['aspect', DI::l10n()->t('Post to aspect:'), $aspect, '', $availableAspects];
- $info = DI::l10n()->t('Connected with your Diaspora account %s ', $handle);
- } else {
- $info = '';
- $error = DI::l10n()->t("Can't login to your Diaspora account. Please check handle (in the format user@domain.tld) and password.");
+ if (!$aspects) {
+ $status = DI::l10n()->t("Can't login to your Diaspora account. Please check handle (in the format user@domain.tld) and password.");
}
}
- DI::page()->registerStylesheet('addon/diaspora/diaspora.css');
+ /* Add some HTML to the existing form */
+
+ $s .= '';
+ $s .= ''. DI::l10n()->t('Diaspora Export').' ';
+ $s .= ' ';
+ $s .= '
';
+ $s .= '
';
+ $s .= ''. DI::l10n()->t('Diaspora Export').' ';
+ $s .= ' ';
+
+ if ($status) {
+ $s .= '
';
+ $s .= $status;
+ $s .= '
';
+ }
+
+ $s .= '
';
+ $s .= '' . DI::l10n()->t('Enable Diaspora Post Addon') . ' ';
+ $s .= ' ';
+ $s .= '
';
+
+ $s .= '
';
+ $s .= '' . DI::l10n()->t('Diaspora handle') . ' ';
+ $s .= ' ';
+ $s .= '
';
+
+ $s .= '
';
+ $s .= '' . DI::l10n()->t('Diaspora password') . ' ';
+ $s .= ' ';
+ $s .= '
';
+
+ if ($aspects) {
+ $single_aspect = new stdClass();
+ $single_aspect->id = 'all_aspects';
+ $single_aspect->name = DI::l10n()->t('All aspects');
+ $aspects[] = $single_aspect;
+
+ $single_aspect = new stdClass();
+ $single_aspect->id = 'public';
+ $single_aspect->name = DI::l10n()->t('Public');
+ $aspects[] = $single_aspect;
+
+ $s .= '
' . DI::l10n()->t('Post to aspect:') . ' ';
+ $s .= '
';
+ foreach($aspects as $single_aspect) {
+ if ($single_aspect->id == $aspect)
+ $s .= "".$single_aspect->name." ";
+ else
+ $s .= "".$single_aspect->name." ";
+ }
+
+ $s .= " ";
+ $s .= '
';
+ }
+
+ $s .= '
';
+ $s .= '' . DI::l10n()->t('Post to Diaspora by default') . ' ';
+ $s .= ' ';
+ $s .= '
';
+
+ /* provide a submit button */
+
+ $s .= '
';
- $t = Renderer::getMarkupTemplate('settings.tpl', 'addon/diaspora/');
- $s .= Renderer::replaceMacros($t, [
- '$header' => DI::l10n()->t('Diaspora Export'),
- '$info_header' => DI::l10n()->t('Information'),
- '$error_header' => DI::l10n()->t('Error'),
- '$submit' => DI::l10n()->t('Save Settings'),
- '$info' => $info,
- '$error' => $error,
- '$enabled' => $enabled,
- '$enabled_checkbox' => ['enabled', DI::l10n()->t('Enable Diaspora Post Addon'), $enabled],
- '$handle' => ['handle', DI::l10n()->t('Diaspora handle'), $handle, null, null, 'placeholder="user@domain.tld"'],
- '$password' => ['password', DI::l10n()->t('Diaspora password'), '', DI::l10n()->t('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.')],
- '$aspect_select' => $aspect_select,
- '$post_by_default' => ['post_by_default', DI::l10n()->t('Post to Diaspora by default'), $def_enabled],
- ]);
}
function diaspora_settings_post(App $a, &$b)
{
if (!empty($_POST['diaspora-submit'])) {
- DI::pConfig()->set(local_user(),'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']));
- }
- 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']));
- }
- notice(DI::l10n()->t('Diaspora settings updated.'));
- } else {
- DI::pConfig()->delete(local_user(), 'diaspora', 'password');
- notice(DI::l10n()->t('Diaspora connector disabled.'));
- }
+ DI::pConfig()->set(local_user(),'diaspora', 'post' , intval($_POST['diaspora']));
+ DI::pConfig()->set(local_user(),'diaspora', 'post_by_default', intval($_POST['diaspora_bydefault']));
+ DI::pConfig()->set(local_user(),'diaspora', 'handle' , trim($_POST['handle']));
+ DI::pConfig()->set(local_user(),'diaspora', 'password' , trim($_POST['password']));
+ DI::pConfig()->set(local_user(),'diaspora', 'aspect' , trim($_POST['aspect']));
}
}
diff --git a/diaspora/lang/C/messages.po b/diaspora/lang/C/messages.po
index 82660b50..6764eaf1 100644
--- a/diaspora/lang/C/messages.po
+++ b/diaspora/lang/C/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-07 00:15-0400\n"
+"POT-Creation-Date: 2014-06-22 13:18+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,96 +17,44 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: diaspora.php:53
+#: diaspora.php:37
msgid "Post to Diaspora"
msgstr ""
-#: diaspora.php:78
-#, php-format
+#: diaspora.php:142
msgid ""
-"Please remember: You can always be reached from Diaspora with your Friendica "
-"handle %s . "
+"Can't login to your Diaspora account. Please check username and password and "
+"ensure you used the complete address (including http...)"
msgstr ""
-#: diaspora.php:79
-msgid ""
-"This connector is only meant if you still want to use your old Diaspora "
-"account for some time. "
-msgstr ""
-
-#: diaspora.php:80
-#, php-format
-msgid ""
-"However, it is preferred that you tell your Diaspora contacts the new handle "
-"%s instead."
-msgstr ""
-
-#: diaspora.php:90
-msgid "All aspects"
-msgstr ""
-
-#: diaspora.php:91
-msgid "Public"
-msgstr ""
-
-#: diaspora.php:97
-msgid "Post to aspect:"
-msgstr ""
-
-#: diaspora.php:98
-#, php-format
-msgid "Connected with your Diaspora account %s "
-msgstr ""
-
-#: diaspora.php:101
-msgid ""
-"Can't login to your Diaspora account. Please check handle (in the format "
-"user@domain.tld) and password."
-msgstr ""
-
-#: diaspora.php:109
+#: diaspora.php:149 diaspora.php:153
msgid "Diaspora Export"
msgstr ""
-#: diaspora.php:110
-msgid "Information"
-msgstr ""
-
-#: diaspora.php:111
-msgid "Error"
-msgstr ""
-
-#: diaspora.php:112
-msgid "Save Settings"
-msgstr ""
-
-#: diaspora.php:116
+#: diaspora.php:163
msgid "Enable Diaspora Post Addon"
msgstr ""
-#: diaspora.php:117
-msgid "Diaspora handle"
+#: diaspora.php:168
+msgid "Diaspora username"
msgstr ""
-#: diaspora.php:118
+#: diaspora.php:173
msgid "Diaspora password"
msgstr ""
-#: diaspora.php:118
-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."
+#: diaspora.php:178
+msgid "Diaspora site URL"
msgstr ""
-#: diaspora.php:120
+#: diaspora.php:183
msgid "Post to Diaspora by default"
msgstr ""
-#: diaspora.php:138
-msgid "Diaspora settings updated."
+#: diaspora.php:189
+msgid "Save Settings"
msgstr ""
-#: diaspora.php:141
-msgid "Diaspora connector disabled."
+#: diaspora.php:324
+msgid "Diaspora post failed. Queued for retry."
msgstr ""
diff --git a/diaspora/templates/settings.tpl b/diaspora/templates/settings.tpl
deleted file mode 100644
index dadebe44..00000000
--- a/diaspora/templates/settings.tpl
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- {{$header}}
-
-
-
-
- {{$header}}
-
-
-{{if $info}}
-
-
-
{{$info_header}}
-
-
- {{$info nofilter}}
-
-
-{{/if}}
-{{if $error}}
-
-
-
{{$error_header}}
-
-
- {{$error nofilter}}
-
-
-{{/if}}
-
- {{include file="field_checkbox.tpl" field=$enabled_checkbox}}
-
-{{if $aspect_select}}
- {{include file="field_select.tpl" field=$aspect_select}}
-
- {{include file="field_checkbox.tpl" field=$post_by_default}}
-{{else}}
- {{include file="field_input.tpl" field=$handle}}
-
- {{include file="field_password.tpl" field=$password}}
-{{/if}}
-
-
- {{$submit}}
-
-
\ No newline at end of file
diff --git a/dwpost/dwpost.php b/dwpost/dwpost.php
index 9bcee9c2..3d4b42ad 100644
--- a/dwpost/dwpost.php
+++ b/dwpost/dwpost.php
@@ -14,6 +14,7 @@ use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Model\Tag;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
use Friendica\Util\XML;
@@ -191,7 +192,7 @@ function dwpost_send(App $a, array &$b)
$title = $b['title'];
$post = BBCode::convert($b['body']);
$post = XML::escape($post);
- $tags = dwpost_get_tags($b['tag']);
+ $tags = Tag::getCSVByURIId($b['uri-id'], [Tag::HASHTAG]);
$date = DateTimeFormat::convert($b['created'], $tz);
$year = intval(substr($date,0,4));
@@ -236,12 +237,3 @@ EOT;
Logger::log('posted to dreamwidth: ' . ($x) ? $x : '', Logger::DEBUG);
}
}
-
-function dwpost_get_tags($post)
-{
- preg_match_all("/\]([^\[#]+)\[/", $post, $matches);
-
- $tags = implode(', ', $matches[1]);
-
- return $tags;
-}
diff --git a/ijpost/ijpost.php b/ijpost/ijpost.php
index 71a4c718..00479e3e 100644
--- a/ijpost/ijpost.php
+++ b/ijpost/ijpost.php
@@ -12,6 +12,7 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\DI;
+use Friendica\Model\Tag;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
use Friendica\Util\XML;
@@ -189,7 +190,7 @@ function ijpost_send(&$a, &$b)
$title = $b['title'];
$post = BBCode::convert($b['body']);
$post = XML::escape($post);
- $tags = ijpost_get_tags($b['tag']);
+ $tags = Tag::getCSVByURIId($b['uri-id'], [Tag::HASHTAG]);
$date = DateTimeFormat::convert($b['created'], $tz);
$year = intval(substr($date,0,4));
@@ -233,10 +234,3 @@ EOT;
Logger::log('posted to insanejournal: ' . $x ? $x : '', Logger::DEBUG);
}
}
-
-function ijpost_get_tags($post)
-{
- preg_match_all("/\]([^\[#]+)\[/", $post, $matches);
- $tags = implode(', ', $matches[1]);
- return $tags;
-}
diff --git a/ljpost/ljpost.php b/ljpost/ljpost.php
index 382832c5..5120612d 100644
--- a/ljpost/ljpost.php
+++ b/ljpost/ljpost.php
@@ -12,6 +12,7 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\DI;
+use Friendica\Model\Tag;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
use Friendica\Util\XML;
@@ -188,7 +189,7 @@ function ljpost_send(&$a,&$b) {
$title = XML::escape($b['title']);
$post = BBCode::convert($b['body']);
$post = XML::escape($post);
- $tags = ljpost_get_tags($b['tag']);
+ $tags = Tag::getCSVByURIId($b['uri-id'], [Tag::HASHTAG]);
$date = DateTimeFormat::convert($b['created'], $tz);
$year = intval(substr($date,0,4));
@@ -245,10 +246,3 @@ EOT;
Logger::log('posted to livejournal: ' . ($x) ? $x : '', Logger::DEBUG);
}
}
-
-function ljpost_get_tags($post)
-{
- preg_match_all("/\]([^\[#]+)\[/",$post,$matches);
- $tags = implode(', ',$matches[1]);
- return $tags;
-}
diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php
index 0ed0f55c..f75d2346 100644
--- a/statusnet/statusnet.php
+++ b/statusnet/statusnet.php
@@ -1202,9 +1202,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex
$postarray['body'] = HTML::toBBCode($content->statusnet_html);
- $converted = statusnet_convertmsg($a, $postarray['body'], false);
- $postarray['body'] = $converted["body"];
- $postarray['tag'] = $converted["tags"];
+ $postarray['body'] = statusnet_convertmsg($a, $postarray['body']);
$postarray['created'] = DateTimeFormat::utc($content->created_at);
$postarray['edited'] = DateTimeFormat::utc($content->created_at);
@@ -1433,7 +1431,7 @@ function statusnet_complete_conversation(App $a, $uid, $self, $create_user, $nic
}
}
-function statusnet_convertmsg(App $a, $body, $no_tags = false)
+function statusnet_convertmsg(App $a, $body)
{
$body = preg_replace("=\[url\=https?://([0-9]*).([0-9]*).([0-9]*).([0-9]*)/([0-9]*)\](.*?)\[\/url\]=ism", "$1.$2.$3.$4/$5", $body);
@@ -1510,36 +1508,7 @@ function statusnet_convertmsg(App $a, $body, $no_tags = false)
}
}
- if ($no_tags) {
- return ["body" => $body, "tags" => ""];
- }
-
- $str_tags = '';
-
- $cnt = preg_match_all("/([!#@])\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", $body, $matches, PREG_SET_ORDER);
- if ($cnt) {
- foreach ($matches as $mtch) {
- if (strlen($str_tags)) {
- $str_tags .= ',';
- }
-
- if ($mtch[1] == "#") {
- // Replacing the hash tags that are directed to the GNU Social server with internal links
- $snhash = "#[url=" . $mtch[2] . "]" . $mtch[3] . "[/url]";
- $frdchash = '#[url=' . DI::baseUrl()->get() . '/search?tag=' . $mtch[3] . ']' . $mtch[3] . '[/url]';
- $body = str_replace($snhash, $frdchash, $body);
-
- $str_tags .= $frdchash;
- } else {
- $str_tags .= "@[url=" . $mtch[2] . "]" . $mtch[3] . "[/url]";
- }
- // To-Do:
- // There is a problem with links with to GNU Social groups, so these links are stored with "@" like friendica groups
- //$str_tags .= $mtch[1]."[url=".$mtch[2]."]".$mtch[3]."[/url]";
- }
- }
-
- return ["body" => $body, "tags" => $str_tags];
+ return $body;
}
function statusnet_fetch_own_contact(App $a, $uid)
diff --git a/twitter/twitter.php b/twitter/twitter.php
index 3742f0d8..afe7f101 100644
--- a/twitter/twitter.php
+++ b/twitter/twitter.php
@@ -1224,14 +1224,12 @@ function twitter_expand_entities($body, stdClass $status, $picture)
{
$plain = $body;
- $tags = [];
$taglist = [];
$replacementList = [];
foreach ($status->entities->hashtags AS $hashtag) {
$replace = '#[url=' . DI::baseUrl()->get() . '/search?tag=' . $hashtag->text . ']' . $hashtag->text . '[/url]';
- $tags['#' . $hashtag->text] = $replace;
$taglist['#' . $hashtag->text] = ['#', $hashtag->text, ''];
$replacementList[$hashtag->indices[0]] = [
@@ -1242,7 +1240,6 @@ function twitter_expand_entities($body, stdClass $status, $picture)
foreach ($status->entities->user_mentions AS $mention) {
$replace = '@[url=https://twitter.com/' . rawurlencode($mention->screen_name) . ']' . $mention->screen_name . '[/url]';
- $tags['@' . $mention->screen_name] = $replace;
$taglist['@' . $mention->screen_name] = ['@', $mention->screen_name, 'https://twitter.com/' . rawurlencode($mention->screen_name)];
$replacementList[$mention->indices[0]] = [
@@ -1344,7 +1341,7 @@ function twitter_expand_entities($body, stdClass $status, $picture)
}
}
- return ['body' => $body, 'tags' => $tags, 'plain' => $plain, 'taglist' => $taglist];
+ return ['body' => $body, 'plain' => $plain, 'taglist' => $taglist];
}
/**
@@ -1557,7 +1554,6 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
$converted = twitter_expand_entities($postarray['body'], $post, $picture);
$postarray['body'] = $converted['body'];
- $postarray['tag'] = implode(',', $converted['tags']);
$postarray['created'] = DateTimeFormat::utc($post->created_at);
$postarray['edited'] = DateTimeFormat::utc($post->created_at);