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 .= '