Merge remote-tracking branch 'upstream/develop' into dbclean
This commit is contained in:
commit
ad3502078f
12 changed files with 112 additions and 139 deletions
|
@ -4,71 +4,73 @@ Account - Basics
|
||||||
* [Zur Startseite der Hilfe](help)
|
* [Zur Startseite der Hilfe](help)
|
||||||
|
|
||||||
|
|
||||||
**Registrierung**
|
## Registrierung
|
||||||
|
|
||||||
Nicht alle Friendica-Knoten bieten die Möglichkeit zur Registrierung.
|
Viele, aber nicht alle Friendica-Knoten (Server) bieten die Möglichkeit zur Registrierung an.
|
||||||
Wenn die Registrierung möglich ist, wird ein "Registrieren"-Link unter dem Login-Feld auf der Startseite angezeigt, der zur Registrierungsseite führt.
|
Falls der Friendica-Knoten, den Du besuchst, keine Registrierung anbietet, oder Du glaubst, dass Dir ein anderer Knoten möglicherweise besser gefällt, dann findest Du hier eine [Liste von öffentlichen Friendica-Knoten](https://dir.friendica.social/servers), aus der Du Dir eine netten Knoten heraussuchen kannst.
|
||||||
Die Stärke unseres Netzwerks ist, dass die verschiedenen Knoten komplett kompatibel zueinander sind.
|
|
||||||
Wenn der Knoten, den Du besuchst, keine Registrierung anbietet, oder wenn Du glaubst, dass Dir eine andere Seite möglicherweise besser gefällt, dann kannst Du hier eine <a href="https://dir.friendica.social/servers">Liste von öffentlichen Servern (Knoten)</a> finden und den Knoten heraus suchen, der am Besten zu Deinen Anforderungen passt.
|
|
||||||
|
|
||||||
Wenn Du Deinen eigenen Server aufsetzen willst, kannst Du das ebenfalls machen.
|
Auf der Startseite des Knotens wird unter dem Login-Feld ein "Registrieren"-Link angezeigt.
|
||||||
Besuche <a href="http://friendi.ca">die Friendica-Webseite</a>, um den Code mit den Installationsanleitungen herunterzuladen.
|
Dieser Link führt dann direkt auf das Registrierungsformular.
|
||||||
Es ist ein einfacher Installationsprozess, den jeder mit ein wenig Erfahrungen im Webseiten-Hosting oder mit grundlegenden Linux-Erfahrungen einfach handhaben kann.
|
|
||||||
|
|
||||||
|
### OpenID
|
||||||
|
|
||||||
*OpenID*
|
Falls du keine [OpenID-Adresse](https://de.wikipedia.org/wiki/OpenID">OpenID-Adresse) hast, kannst du diesen Punkt ignorieren.
|
||||||
|
|
||||||
Das erste Feld auf der Registrierungsseite ist für eine OpenID-Adresse.
|
Solltest du eine OpenID Adresse haben, kannst Du sie im ersten Feld eintragen und "Registrieren" klicken.
|
||||||
Wenn Du keine OpenID-Adresse hast oder nicht wünschst, diese zu nutzen, dann lasse das Feld frei.
|
|
||||||
Wenn Du einen OpenID-Account hast und diesen nutzen willst, gib die Adresse in das Feld ein und klicke auf "Registrieren".
|
|
||||||
Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen.
|
Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen.
|
||||||
|
|
||||||
|
|
||||||
*Dein vollständiger Name*
|
### Dein vollständiger Name
|
||||||
|
|
||||||
Bitte trage Deinen vollständigen Namen **so ein, wie Du ihn im System anzeigen lassen willst**.
|
Bitte trage bei "vollständiger Name" Deinen **gewünschten Namen** ein, wie er über deinen Beiträgen angezeigt werden soll.
|
||||||
Viele Leute nutzen ihren richtigen Namen hierfür, allerdings besteht für dich keine Pflicht, das auch so zu machen.
|
Du kannst deinen echten Namen eintragen, kannst Dir aber auch einen Namen ausdenken. Einen Zwang zu dem sogenannten Klarnamen gibt es nicht.
|
||||||
|
|
||||||
|
|
||||||
*Email-Adresse*
|
|
||||||
|
### Email-Adresse
|
||||||
|
|
||||||
Bitte trage eine richtige Email-Adresse ein.
|
Bitte trage eine richtige Email-Adresse ein.
|
||||||
Deine Email-Adresse wird **niemals** veröffentlicht.
|
|
||||||
Wir benötigen diese, um Dir Account-Informationen und die Login-Daten zu schicken.
|
|
||||||
Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen.
|
|
||||||
Du hast aber auch die Möglichkeit, diese Nachrichten in Deinen Account-Einstellungen komplett abzuschalten.
|
|
||||||
|
|
||||||
Du musst nicht Deine Haupt-Email-Adresse sein, jedoch wird eine funktionierende Adresse benötigt.
|
|
||||||
Ohne dieses kannst Du weder Dein Initialpasswort erhalten, noch Dein Passwort zurücksetzen.
|
|
||||||
Dies ist die einzige persönliche Information, die korrekt sein muss.
|
Dies ist die einzige persönliche Information, die korrekt sein muss.
|
||||||
|
Deine Email-Adresse wird **niemals** veröffentlicht.
|
||||||
|
|
||||||
|
Wir benötigen diese, um Dir Account-Informationen, das Initialpasswort und die Login-Daten zu schicken. Oder z.B. Dein Passwort zurückzusetzen.
|
||||||
|
|
||||||
*Spitzname/Nickname*
|
Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen.
|
||||||
|
Diese Nachrichten sind in den Einstellungen jederzeit an- oder abschaltbar.
|
||||||
|
|
||||||
Der Spitzname wird benötigt, um eine Webadresse für viele Deiner persönlichen Seiten zu erstellen.
|
### Spitzname/Nickname
|
||||||
|
|
||||||
|
Der Spitzname wird benötigt, um eine Webadresse (Profiladresse) für viele Deiner persönlichen Seiten zu erstellen.
|
||||||
Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll.
|
Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll.
|
||||||
Durch die Art, wie der Spitzname genutzt wird, gibt es bestimmte Einschränkungen. Er darf nur US-ASCII-Textzeichen und Nummern enthalten und er muss zudem mit einem Buchstaben beginnen.
|
Durch die Art, wie der Spitzname genutzt wird, gibt es bestimmte Einschränkungen:
|
||||||
Er muss außerdem einzigartig im System sein.
|
|
||||||
Dieser Spitzname wird an vielen Stellen genutzt, um Deinen Account zu identifizieren, und kann daher später nicht mehr geändert werden.
|
* **er muss mit einem Buchstaben beginnen**
|
||||||
|
* **er darf nur US-ASCII-Textzeichen und Nummern enthalten**
|
||||||
|
* **er muss einzigartig auf diesem Friendica-Knoten sein**
|
||||||
|
* **er kann später nicht mehr geändert werden**
|
||||||
|
|
||||||
|
Dieser Spitzname wird an vielen Stellen genutzt, um Deinen Account zu identifizieren, daher ist es nicht möglich ihn später zu ändern.
|
||||||
|
|
||||||
|
|
||||||
*Verzeichnis-Eintrag*
|
### Verzeichnis-Eintrag
|
||||||
|
|
||||||
|
Das Registrierungsformular erlaubt es dir, direkt auszuwählen, ob Du im [Onlineverzeichnis](https://dir.friendica.social/) (Friendica Directory) aufgelistet wirst oder nicht.
|
||||||
|
Das ist wie ein Telefonbuch und Du entscheidest, ob du darin eingetragen werden möchtest, oder nicht.
|
||||||
|
|
||||||
|
* Wir bitten dich, "Ja" zu wählen, damit Andere Dich finden können, so wie Du sie finden kannst
|
||||||
|
* Wählst Du "Nein", bist Du für Andere *nicht einfach auffindbar*
|
||||||
|
|
||||||
Das Registrierungsformular erlaubt es dir, direkt auszuwählen, ob Du im Onlineverzeichnis aufgelistet wirst oder nicht.
|
|
||||||
Das ist wie ein Telefonbuch und Du kannst entscheiden, nicht aufgeführt zu werden.
|
|
||||||
Wir bitten dich, "Ja" zu wählen, so dass dich andere Leute (Freunde, Familie etc.) finden können.
|
|
||||||
Wenn Du "Nein" wählst, wirst Du hauptsächlich unsichtbar sein und nur wenige Möglichkeiten zur Interaktion haben.
|
|
||||||
Was auch immer Du wählst, kann jederzeit nach dem Login in Deinen Account-Einstellungen geändert werden.
|
Was auch immer Du wählst, kann jederzeit nach dem Login in Deinen Account-Einstellungen geändert werden.
|
||||||
|
|
||||||
|
|
||||||
*Registrierung*
|
### Registrierung
|
||||||
|
|
||||||
Sobald Du die nötigen Informationen eingegeben hast, klicke auf "Registrieren".
|
Sobald Du die nötigen Informationen eingegeben hast, klicke auf "Registrieren".
|
||||||
Eine Email mit den Registrierungsdetails und Deinem Initialpasswort wird an die hinterlegte Email-Adresse geschickt.
|
Eine Email mit den Registrierungsdetails und Deinem Initialpasswort wird an die hinterlegte Email-Adresse geschickt.
|
||||||
Bitte prüfe den Posteingang (inkl. dem Spam-Ordner).
|
Bitte prüfe den Posteingang (inkl. dem Spam-Ordner).
|
||||||
|
|
||||||
|
|
||||||
**Login-Seite**
|
## Login-Seite
|
||||||
|
|
||||||
Gib auf der "Login"-Seite die Informationen ein, die Du mit der oben genannten Email erhalten hast.
|
Gib auf der "Login"-Seite die Informationen ein, die Du mit der oben genannten Email erhalten hast.
|
||||||
Du kannst entweder Deinen Spitznamen oder die Email-Adresse als Login-Namen nutzen.
|
Du kannst entweder Deinen Spitznamen oder die Email-Adresse als Login-Namen nutzen.
|
||||||
|
@ -83,25 +85,29 @@ Das Passwort muss genau so geschrieben werden, wie es in der Email steht; Groß-
|
||||||
Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststelltaste aktiv ist.
|
Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststelltaste aktiv ist.
|
||||||
|
|
||||||
|
|
||||||
**Passwort ändern**
|
### Passwort ändern
|
||||||
|
|
||||||
Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst.
|
Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst.
|
||||||
|
|
||||||
|
|
||||||
**Der Anfang**
|
## Die ersten Schritte
|
||||||
|
|
||||||
|
### Persönliche Daten exportieren
|
||||||
|
|
||||||
|
Du solltest dir als erstes Deinen neu erstellen [Account exportieren](uexport) unter Einstellungen/Persönliche Daten exportieren und an einem sicheren Ort verwahren.
|
||||||
|
In diesem Export (JSON-Datei) sind enthalten
|
||||||
|
|
||||||
|
* Deine Identität, die mit kryptographischen Schlüsseln ausgestattet ist
|
||||||
|
* Deine Kontakte
|
||||||
|
|
||||||
|
Dies ist z.B. dann nützlich wenn du mit deinem Account auf einen anderen Friendica Knoten umziehen willst, oder musst.
|
||||||
|
|
||||||
|
### Hilfe für Neulinge
|
||||||
|
|
||||||
Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beiden Wochen auf Deiner Startseite, um Dir erste Informationen zum Start zu bieten.
|
Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beiden Wochen auf Deiner Startseite, um Dir erste Informationen zum Start zu bieten.
|
||||||
|
|
||||||
|
|
||||||
**Persönliche Daten exportieren**
|
## Schau Dir ebenfalls folgende Seiten an
|
||||||
|
|
||||||
Du kannst eine Kopie Deiner persönlichen Daten in einer JSON-Datei exportieren.
|
|
||||||
Gehe hierzu in Deinen Einstellungen auf "Persönliche Daten exportieren".
|
|
||||||
|
|
||||||
Dies ist z.B. dann nützlich wenn du mit deinem Account auf einen anderen Friendica Knoten umziehen möchstest.
|
|
||||||
Ein Grund hierfür könnte sein, dass der Server auf dem dieser Friendica Knoten läuft dauerhaft wegen eines Hardware Problems ausfällt.
|
|
||||||
|
|
||||||
**Schau Dir ebenfalls folgende Seiten an**
|
|
||||||
|
|
||||||
* [Profile](help/Profiles)
|
* [Profile](help/Profiles)
|
||||||
|
|
||||||
|
@ -109,3 +115,10 @@ Ein Grund hierfür könnte sein, dass der Server auf dem dieser Friendica Knoten
|
||||||
|
|
||||||
* [Account löschen](help/Remove-Account)
|
* [Account löschen](help/Remove-Account)
|
||||||
|
|
||||||
|
### Der eigene Friendica-Knoten
|
||||||
|
Wenn Du Deinen eigenen Friendica-Knoten auf einem Server aufsetzen willst, kannst Du das ebenfalls machen.
|
||||||
|
Besuche die [Friendica-Webseite](https://friendi.ca), um den Code mit den Installationsanleitungen herunterzuladen.
|
||||||
|
Es ist ein einfacher Installationsprozess, den jeder mit ein wenig technischen Erfahrungen im Webseiten-Hosting oder mit grundlegenden Linux-Erfahrungen handhaben kann.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -769,7 +769,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
|
||||||
'$mode' => $mode,
|
'$mode' => $mode,
|
||||||
'$user' => $a->user,
|
'$user' => $a->user,
|
||||||
'$threads' => $threads,
|
'$threads' => $threads,
|
||||||
'$dropping' => ($page_dropping && Feature::isEnabled(local_user(), 'multi_delete') ? L10n::t('Delete Selected Items') : False),
|
'$dropping' => ($page_dropping ? L10n::t('Delete Selected Items') : False),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -1163,7 +1163,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
||||||
'$lockstate' => $x['lockstate'],
|
'$lockstate' => $x['lockstate'],
|
||||||
'$bang' => $x['bang'],
|
'$bang' => $x['bang'],
|
||||||
'$profile_uid' => $x['profile_uid'],
|
'$profile_uid' => $x['profile_uid'],
|
||||||
'$preview' => Feature::isEnabled($x['profile_uid'], 'preview') ? L10n::t('Preview') : '',
|
'$preview' => L10n::t('Preview'),
|
||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
'$notes_cid' => $notes_cid,
|
'$notes_cid' => $notes_cid,
|
||||||
'$sourceapp' => L10n::t($a->sourcename),
|
'$sourceapp' => L10n::t($a->sourcename),
|
||||||
|
|
|
@ -160,9 +160,8 @@ function network_init(App $a)
|
||||||
$a->page['aside'] = '';
|
$a->page['aside'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$a->page['aside'] .= (Feature::isEnabled(local_user(), 'groups') ?
|
$a->page['aside'] .= Group::sidebarWidget('network/0', 'network', 'standard', $group_id);
|
||||||
Group::sidebarWidget('network/0', 'network', 'standard', $group_id) : '');
|
$a->page['aside'] .= ForumManager::widget(local_user(), $cid);
|
||||||
$a->page['aside'] .= (Feature::isEnabled(local_user(), 'forumlist_widget') ? ForumManager::widget(local_user(), $cid) : '');
|
|
||||||
$a->page['aside'] .= posted_date_widget('network', local_user(), false);
|
$a->page['aside'] .= posted_date_widget('network', local_user(), false);
|
||||||
$a->page['aside'] .= Widget::networks('network', (x($_GET, 'nets') ? $_GET['nets'] : ''));
|
$a->page['aside'] .= Widget::networks('network', (x($_GET, 'nets') ? $_GET['nets'] : ''));
|
||||||
$a->page['aside'] .= saved_searches($search);
|
$a->page['aside'] .= saved_searches($search);
|
||||||
|
@ -171,10 +170,6 @@ function network_init(App $a)
|
||||||
|
|
||||||
function saved_searches($search)
|
function saved_searches($search)
|
||||||
{
|
{
|
||||||
if (!Feature::isEnabled(local_user(), 'savedsearch')) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$srchurl = '/network?f='
|
$srchurl = '/network?f='
|
||||||
|
@ -993,7 +988,6 @@ function network_tabs(App $a)
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (Feature::isEnabled(local_user(), 'personal_tab')) {
|
|
||||||
$tabs[] = [
|
$tabs[] = [
|
||||||
'label' => L10n::t('Personal'),
|
'label' => L10n::t('Personal'),
|
||||||
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
|
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
|
||||||
|
@ -1002,7 +996,6 @@ function network_tabs(App $a)
|
||||||
'id' => 'personal-tab',
|
'id' => 'personal-tab',
|
||||||
'accesskey' => 'r',
|
'accesskey' => 'r',
|
||||||
];
|
];
|
||||||
}
|
|
||||||
|
|
||||||
if (Feature::isEnabled(local_user(), 'new_tab')) {
|
if (Feature::isEnabled(local_user(), 'new_tab')) {
|
||||||
$tabs[] = [
|
$tabs[] = [
|
||||||
|
@ -1026,7 +1019,6 @@ function network_tabs(App $a)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Feature::isEnabled(local_user(), 'star_posts')) {
|
|
||||||
$tabs[] = [
|
$tabs[] = [
|
||||||
'label' => L10n::t('Starred'),
|
'label' => L10n::t('Starred'),
|
||||||
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
|
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
|
||||||
|
@ -1035,7 +1027,6 @@ function network_tabs(App $a)
|
||||||
'id' => 'starred-posts-tab',
|
'id' => 'starred-posts-tab',
|
||||||
'accesskey' => 'm',
|
'accesskey' => 'm',
|
||||||
];
|
];
|
||||||
}
|
|
||||||
|
|
||||||
// save selected tab, but only if not in file mode
|
// save selected tab, but only if not in file mode
|
||||||
if (!x($_GET, 'file')) {
|
if (!x($_GET, 'file')) {
|
||||||
|
|
|
@ -1480,7 +1480,7 @@ function photos_content(App $a)
|
||||||
$likebuttons = Renderer::replaceMacros($like_tpl, [
|
$likebuttons = Renderer::replaceMacros($like_tpl, [
|
||||||
'$id' => $link_item['id'],
|
'$id' => $link_item['id'],
|
||||||
'$likethis' => L10n::t("I like this \x28toggle\x29"),
|
'$likethis' => L10n::t("I like this \x28toggle\x29"),
|
||||||
'$nolike' => (Feature::isEnabled(local_user(), 'dislike') ? L10n::t("I don't like this \x28toggle\x29") : ''),
|
'$nolike' => L10n::t("I don't like this \x28toggle\x29"),
|
||||||
'$wait' => L10n::t('Please wait'),
|
'$wait' => L10n::t('Please wait'),
|
||||||
'$return_path' => $a->query_string,
|
'$return_path' => $a->query_string,
|
||||||
]);
|
]);
|
||||||
|
@ -1607,9 +1607,7 @@ function photos_content(App $a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$response_verbs = ['like'];
|
$response_verbs = ['like'];
|
||||||
if (Feature::isEnabled($owner_uid, 'dislike')) {
|
|
||||||
$response_verbs[] = 'dislike';
|
$response_verbs[] = 'dislike';
|
||||||
}
|
|
||||||
$responses = get_responses($conv_responses, $response_verbs, '', $link_item);
|
$responses = get_responses($conv_responses, $response_verbs, '', $link_item);
|
||||||
|
|
||||||
$paginate = $pager->renderFull($total);
|
$paginate = $pager->renderFull($total);
|
||||||
|
|
|
@ -150,7 +150,6 @@ function ping_init(App $a)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($network_count) {
|
if ($network_count) {
|
||||||
if (intval(Feature::isEnabled(local_user(), 'groups'))) {
|
|
||||||
// Find out how unseen network posts are spread across groups
|
// Find out how unseen network posts are spread across groups
|
||||||
$group_counts = Group::countUnseen();
|
$group_counts = Group::countUnseen();
|
||||||
if (DBA::isResult($group_counts)) {
|
if (DBA::isResult($group_counts)) {
|
||||||
|
@ -160,9 +159,7 @@ function ping_init(App $a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (intval(Feature::isEnabled(local_user(), 'forumlist_widget'))) {
|
|
||||||
$forum_counts = ForumManager::countUnseenItems();
|
$forum_counts = ForumManager::countUnseenItems();
|
||||||
if (DBA::isResult($forum_counts)) {
|
if (DBA::isResult($forum_counts)) {
|
||||||
foreach ($forum_counts as $forum_count) {
|
foreach ($forum_counts as $forum_count) {
|
||||||
|
@ -172,7 +169,6 @@ function ping_init(App $a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$intros1 = q(
|
$intros1 = q(
|
||||||
"SELECT `intro`.`id`, `intro`.`datetime`,
|
"SELECT `intro`.`id`, `intro`.`datetime`,
|
||||||
|
|
|
@ -26,9 +26,6 @@ function search_saved_searches() {
|
||||||
$o = '';
|
$o = '';
|
||||||
$search = ((x($_GET,'search')) ? Strings::escapeTags(trim(rawurldecode($_GET['search']))) : '');
|
$search = ((x($_GET,'search')) ? Strings::escapeTags(trim(rawurldecode($_GET['search']))) : '');
|
||||||
|
|
||||||
if (!Feature::isEnabled(local_user(),'savedsearch'))
|
|
||||||
return $o;
|
|
||||||
|
|
||||||
$r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
|
$r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
|
@ -86,7 +86,6 @@ class Feature
|
||||||
// Post composition
|
// Post composition
|
||||||
'composition' => [
|
'composition' => [
|
||||||
L10n::t('Post Composition Features'),
|
L10n::t('Post Composition Features'),
|
||||||
['preview', L10n::t('Post Preview'), L10n::t('Allow previewing posts and comments before publishing them'), false, Config::get('feature_lock', 'preview', false)],
|
|
||||||
['aclautomention', L10n::t('Auto-mention Forums'), L10n::t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, Config::get('feature_lock', 'aclautomention', false)],
|
['aclautomention', L10n::t('Auto-mention Forums'), L10n::t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, Config::get('feature_lock', 'aclautomention', false)],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -94,16 +93,12 @@ class Feature
|
||||||
'widgets' => [
|
'widgets' => [
|
||||||
L10n::t('Network Sidebar'),
|
L10n::t('Network Sidebar'),
|
||||||
['archives', L10n::t('Archives'), L10n::t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)],
|
['archives', L10n::t('Archives'), L10n::t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)],
|
||||||
['forumlist_widget', L10n::t('List Forums'), L10n::t('Enable widget to display the forums your are connected with'), true, Config::get('feature_lock', 'forumlist_widget', false)],
|
|
||||||
['groups', L10n::t('Group Filter'), L10n::t('Enable widget to display Network posts only from selected group'), false, Config::get('feature_lock', 'groups', false)],
|
|
||||||
['networks', L10n::t('Protocol Filter'), L10n::t('Enable widget to display Network posts only from selected protocols'), false, Config::get('feature_lock', 'networks', false)],
|
['networks', L10n::t('Protocol Filter'), L10n::t('Enable widget to display Network posts only from selected protocols'), false, Config::get('feature_lock', 'networks', false)],
|
||||||
['savedsearch', L10n::t('Saved Searches'), L10n::t('Save search terms for re-use'), false, Config::get('feature_lock', 'savedsearch', false)],
|
|
||||||
],
|
],
|
||||||
|
|
||||||
// Network tabs
|
// Network tabs
|
||||||
'net_tabs' => [
|
'net_tabs' => [
|
||||||
L10n::t('Network Tabs'),
|
L10n::t('Network Tabs'),
|
||||||
['personal_tab', L10n::t('Network Personal Tab'), L10n::t('Enable tab to display only Network posts that you\'ve interacted on'), false, Config::get('feature_lock', 'personal_tab', false)],
|
|
||||||
['new_tab', L10n::t('Network New Tab'), L10n::t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, Config::get('feature_lock', 'new_tab', false)],
|
['new_tab', L10n::t('Network New Tab'), L10n::t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, Config::get('feature_lock', 'new_tab', false)],
|
||||||
['link_tab', L10n::t('Network Shared Links Tab'), L10n::t('Enable tab to display only Network posts with links in them'), false, Config::get('feature_lock', 'link_tab', false)],
|
['link_tab', L10n::t('Network Shared Links Tab'), L10n::t('Enable tab to display only Network posts with links in them'), false, Config::get('feature_lock', 'link_tab', false)],
|
||||||
],
|
],
|
||||||
|
@ -111,14 +106,7 @@ class Feature
|
||||||
// Item tools
|
// Item tools
|
||||||
'tools' => [
|
'tools' => [
|
||||||
L10n::t('Post/Comment Tools'),
|
L10n::t('Post/Comment Tools'),
|
||||||
['multi_delete', L10n::t('Multiple Deletion'), L10n::t('Select and delete multiple posts/comments at once'), false, Config::get('feature_lock', 'multi_delete', false)],
|
|
||||||
['edit_posts', L10n::t('Edit Sent Posts'), L10n::t('Edit and correct posts and comments after sending'), false, Config::get('feature_lock', 'edit_posts', false)],
|
|
||||||
['commtag', L10n::t('Tagging'), L10n::t('Ability to tag existing posts'), false, Config::get('feature_lock', 'commtag', false)],
|
|
||||||
['categories', L10n::t('Post Categories'), L10n::t('Add categories to your posts'), false, Config::get('feature_lock', 'categories', false)],
|
['categories', L10n::t('Post Categories'), L10n::t('Add categories to your posts'), false, Config::get('feature_lock', 'categories', false)],
|
||||||
['filing', L10n::t('Saved Folders'), L10n::t('Ability to file posts under folders'), false, Config::get('feature_lock', 'filing', false)],
|
|
||||||
['dislike', L10n::t('Dislike Posts'), L10n::t('Ability to dislike posts/comments'), false, Config::get('feature_lock', 'dislike', false)],
|
|
||||||
['star_posts', L10n::t('Star Posts'), L10n::t('Ability to mark special posts with a star indicator'), false, Config::get('feature_lock', 'star_posts', false)],
|
|
||||||
['ignore_posts', L10n::t('Mute Post Notifications'), L10n::t('Ability to mute notifications for a thread'), false, Config::get('feature_lock', 'ignore_posts', false)],
|
|
||||||
],
|
],
|
||||||
|
|
||||||
// Advanced Profile Settings
|
// Advanced Profile Settings
|
||||||
|
|
|
@ -93,10 +93,6 @@ class ForumManager
|
||||||
*/
|
*/
|
||||||
public static function widget($uid, $cid = 0)
|
public static function widget($uid, $cid = 0)
|
||||||
{
|
{
|
||||||
if (! intval(Feature::isEnabled(local_user(), 'forumlist_widget'))) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$o = '';
|
$o = '';
|
||||||
|
|
||||||
//sort by last updated item
|
//sort by last updated item
|
||||||
|
|
|
@ -966,7 +966,7 @@ class HTML
|
||||||
'$action_url' => $url,
|
'$action_url' => $url,
|
||||||
'$search_label' => L10n::t('Search'),
|
'$search_label' => L10n::t('Search'),
|
||||||
'$save_label' => $save_label,
|
'$save_label' => $save_label,
|
||||||
'$savedsearch' => local_user() && Feature::isEnabled(local_user(), 'savedsearch'),
|
'$savedsearch' => 'savedsearch',
|
||||||
'$search_hint' => L10n::t('@name, !forum, #tags, content'),
|
'$search_hint' => L10n::t('@name, !forum, #tags, content'),
|
||||||
'$mode' => $mode
|
'$mode' => $mode
|
||||||
];
|
];
|
||||||
|
|
|
@ -176,10 +176,6 @@ class Widget
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Feature::isEnabled(local_user(), 'filing')) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$saved = PConfig::get(local_user(), 'system', 'filetags');
|
$saved = PConfig::get(local_user(), 'system', 'filetags');
|
||||||
if (!strlen($saved)) {
|
if (!strlen($saved)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -157,6 +157,8 @@ class Post extends BaseObject
|
||||||
|
|
||||||
$shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != 1;
|
$shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != 1;
|
||||||
|
|
||||||
|
$edpost = false;
|
||||||
|
|
||||||
if (local_user()) {
|
if (local_user()) {
|
||||||
if (Strings::compareLink($a->contact['url'], $item['author-link'])) {
|
if (Strings::compareLink($a->contact['url'], $item['author-link'])) {
|
||||||
if ($item["event-id"] != 0) {
|
if ($item["event-id"] != 0) {
|
||||||
|
@ -166,8 +168,6 @@ class Post extends BaseObject
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$dropping = in_array($item['uid'], [0, local_user()]);
|
$dropping = in_array($item['uid'], [0, local_user()]);
|
||||||
} else {
|
|
||||||
$edpost = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Editing on items of not subscribed users isn't currently possible
|
// Editing on items of not subscribed users isn't currently possible
|
||||||
|
@ -202,7 +202,7 @@ class Post extends BaseObject
|
||||||
|
|
||||||
$drop = [
|
$drop = [
|
||||||
'dropping' => $dropping,
|
'dropping' => $dropping,
|
||||||
'pagedrop' => ((Feature::isEnabled($conv->getProfileOwner(), 'multi_delete')) ? $item['pagedrop'] : ''),
|
'pagedrop' => $item['pagedrop'],
|
||||||
'select' => L10n::t('Select'),
|
'select' => L10n::t('Select'),
|
||||||
'delete' => $delete,
|
'delete' => $delete,
|
||||||
];
|
];
|
||||||
|
@ -294,13 +294,11 @@ class Post extends BaseObject
|
||||||
'starred' => L10n::t('starred'),
|
'starred' => L10n::t('starred'),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (Feature::isEnabled($conv->getProfileOwner(), 'commtag')) {
|
|
||||||
$tagger = [
|
$tagger = [
|
||||||
'add' => L10n::t("add tag"),
|
'add' => L10n::t("add tag"),
|
||||||
'class' => "",
|
'class' => "",
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
$indent = 'comment';
|
$indent = 'comment';
|
||||||
}
|
}
|
||||||
|
@ -308,7 +306,7 @@ class Post extends BaseObject
|
||||||
if ($conv->isWritable()) {
|
if ($conv->isWritable()) {
|
||||||
$buttons = [
|
$buttons = [
|
||||||
'like' => [L10n::t("I like this \x28toggle\x29"), L10n::t("like")],
|
'like' => [L10n::t("I like this \x28toggle\x29"), L10n::t("like")],
|
||||||
'dislike' => Feature::isEnabled($conv->getProfileOwner(), 'dislike') ? [L10n::t("I don't like this \x28toggle\x29"), L10n::t("dislike")] : '',
|
'dislike' => [L10n::t("I don't like this \x28toggle\x29"), L10n::t("dislike")],
|
||||||
];
|
];
|
||||||
if ($shareable) {
|
if ($shareable) {
|
||||||
$buttons['share'] = [L10n::t('Share this'), L10n::t('share')];
|
$buttons['share'] = [L10n::t('Share this'), L10n::t('share')];
|
||||||
|
@ -401,12 +399,12 @@ class Post extends BaseObject
|
||||||
'owner_photo' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)),
|
'owner_photo' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)),
|
||||||
'owner_name' => htmlentities($owner_name_e),
|
'owner_name' => htmlentities($owner_name_e),
|
||||||
'plink' => Item::getPlink($item),
|
'plink' => Item::getPlink($item),
|
||||||
'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '',
|
'edpost' => $edpost,
|
||||||
'isstarred' => $isstarred,
|
'isstarred' => $isstarred,
|
||||||
'star' => Feature::isEnabled($conv->getProfileOwner(), 'star_posts') ? $star : '',
|
'star' => $star,
|
||||||
'ignore' => Feature::isEnabled($conv->getProfileOwner(), 'ignore_posts') ? $ignore : '',
|
'ignore' => $ignore,
|
||||||
'tagger' => $tagger,
|
'tagger' => $tagger,
|
||||||
'filer' => Feature::isEnabled($conv->getProfileOwner(), 'filing') ? $filer : '',
|
'filer' => $filer,
|
||||||
'drop' => $drop,
|
'drop' => $drop,
|
||||||
'vote' => $buttons,
|
'vote' => $buttons,
|
||||||
'like' => $responses['like']['output'],
|
'like' => $responses['like']['output'],
|
||||||
|
@ -820,7 +818,7 @@ class Post extends BaseObject
|
||||||
'$edurl' => L10n::t('Link'),
|
'$edurl' => L10n::t('Link'),
|
||||||
'$edattach' => L10n::t('Link or Media'),
|
'$edattach' => L10n::t('Link or Media'),
|
||||||
'$prompttext' => L10n::t('Please enter a image/video/audio/webpage URL:'),
|
'$prompttext' => L10n::t('Please enter a image/video/audio/webpage URL:'),
|
||||||
'$preview' => ((Feature::isEnabled($conv->getProfileOwner(), 'preview')) ? L10n::t('Preview') : ''),
|
'$preview' => L10n::t('Preview'),
|
||||||
'$indent' => $indent,
|
'$indent' => $indent,
|
||||||
'$sourceapp' => L10n::t($a->sourcename),
|
'$sourceapp' => L10n::t($a->sourcename),
|
||||||
'$ww' => $conv->getMode() === 'network' ? $ww : '',
|
'$ww' => $conv->getMode() === 'network' ? $ww : '',
|
||||||
|
|
|
@ -94,7 +94,7 @@ class ApiTest extends DatabaseTest
|
||||||
$this->assertEquals($this->selfUser['id'], $user['uid']);
|
$this->assertEquals($this->selfUser['id'], $user['uid']);
|
||||||
$this->assertEquals($this->selfUser['id'], $user['cid']);
|
$this->assertEquals($this->selfUser['id'], $user['cid']);
|
||||||
$this->assertEquals(1, $user['self']);
|
$this->assertEquals(1, $user['self']);
|
||||||
$this->assertEquals('Friendica', $user['location']);
|
$this->assertEquals('DFRN', $user['location']);
|
||||||
$this->assertEquals($this->selfUser['name'], $user['name']);
|
$this->assertEquals($this->selfUser['name'], $user['name']);
|
||||||
$this->assertEquals($this->selfUser['nick'], $user['screen_name']);
|
$this->assertEquals($this->selfUser['nick'], $user['screen_name']);
|
||||||
$this->assertEquals('dfrn', $user['network']);
|
$this->assertEquals('dfrn', $user['network']);
|
||||||
|
@ -1289,7 +1289,7 @@ class ApiTest extends DatabaseTest
|
||||||
$result = api_users_show('json');
|
$result = api_users_show('json');
|
||||||
// We can't use assertSelfUser() here because the user object is missing some properties.
|
// We can't use assertSelfUser() here because the user object is missing some properties.
|
||||||
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
|
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
|
||||||
$this->assertEquals('Friendica', $result['user']['location']);
|
$this->assertEquals('DFRN', $result['user']['location']);
|
||||||
$this->assertEquals($this->selfUser['name'], $result['user']['name']);
|
$this->assertEquals($this->selfUser['name'], $result['user']['name']);
|
||||||
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
|
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
|
||||||
$this->assertEquals('dfrn', $result['user']['network']);
|
$this->assertEquals('dfrn', $result['user']['network']);
|
||||||
|
@ -3296,7 +3296,7 @@ class ApiTest extends DatabaseTest
|
||||||
$result = api_account_update_profile('json');
|
$result = api_account_update_profile('json');
|
||||||
// We can't use assertSelfUser() here because the user object is missing some properties.
|
// We can't use assertSelfUser() here because the user object is missing some properties.
|
||||||
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
|
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
|
||||||
$this->assertEquals('Friendica', $result['user']['location']);
|
$this->assertEquals('DFRN', $result['user']['location']);
|
||||||
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
|
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
|
||||||
$this->assertEquals('dfrn', $result['user']['network']);
|
$this->assertEquals('dfrn', $result['user']['network']);
|
||||||
$this->assertEquals('new_name', $result['user']['name']);
|
$this->assertEquals('new_name', $result['user']['name']);
|
||||||
|
@ -3650,7 +3650,7 @@ class ApiTest extends DatabaseTest
|
||||||
$result = api_friendica_profile_show('json');
|
$result = api_friendica_profile_show('json');
|
||||||
// We can't use assertSelfUser() here because the user object is missing some properties.
|
// We can't use assertSelfUser() here because the user object is missing some properties.
|
||||||
$this->assertEquals($this->selfUser['id'], $result['$result']['friendica_owner']['cid']);
|
$this->assertEquals($this->selfUser['id'], $result['$result']['friendica_owner']['cid']);
|
||||||
$this->assertEquals('Friendica', $result['$result']['friendica_owner']['location']);
|
$this->assertEquals('DFRN', $result['$result']['friendica_owner']['location']);
|
||||||
$this->assertEquals($this->selfUser['name'], $result['$result']['friendica_owner']['name']);
|
$this->assertEquals($this->selfUser['name'], $result['$result']['friendica_owner']['name']);
|
||||||
$this->assertEquals($this->selfUser['nick'], $result['$result']['friendica_owner']['screen_name']);
|
$this->assertEquals($this->selfUser['nick'], $result['$result']['friendica_owner']['screen_name']);
|
||||||
$this->assertEquals('dfrn', $result['$result']['friendica_owner']['network']);
|
$this->assertEquals('dfrn', $result['$result']['friendica_owner']['network']);
|
||||||
|
|
Loading…
Reference in a new issue