Merge remote-tracking branch 'upstream/develop' into item-distribution
This commit is contained in:
commit
7230cc0bed
|
@ -99,7 +99,9 @@ You might wish to move/rename .htconfig.php to another name and empty (called 'd
|
|||
|
||||
### Option B: Run the automatic install script
|
||||
|
||||
Open the file htconfig.php in the main Friendica directory with a text editor. Remove the `die('...');` line and edit the lines to suit your installation (MySQL, language, theme etc.), then save the file (do not rename it).
|
||||
Open the file htconfig.php in the main Friendica directory with a text editor.
|
||||
Remove the `die('...');` line and edit the lines to suit your installation (MySQL, language, theme etc.).
|
||||
Then save the file (do not rename it).
|
||||
|
||||
Navigate to the main Friendica directory and execute the following command:
|
||||
|
||||
|
|
|
@ -4,35 +4,32 @@ Profiles
|
|||
* [Home](help)
|
||||
|
||||
Friendica has unlimited profiles.
|
||||
You may use different profiles to show different "sides of yourself" to different audiences.
|
||||
You may use different profiles to present different aspects of yourself to different audiences.
|
||||
|
||||
Default / public profile
|
||||
---
|
||||
You always have a profile known as your "default" or "public" profile.
|
||||
This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites).
|
||||
You may, and probably should restrict the information you make available on your public profile.
|
||||
This profile is always available to the general public and usually cannot be hidden.
|
||||
You may, and probably should restrict the personal information you make available on your public profile.
|
||||
|
||||
That said, if you want other friends to be able to find you, it helps to have the following information in your public profile:
|
||||
|
||||
* Your real name
|
||||
* A photo of **you**
|
||||
* Your location on the planet, at least to a country level.
|
||||
* Your location, preferably at least the country.
|
||||
|
||||
Without this basic information, you could get very lonely here.
|
||||
Most people (even your best friends) will not try and connect with somebody that has a fake name or doesn't contain a real photo.
|
||||
|
||||
In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Public Keywords" to your profile.
|
||||
In addition, if you'd like to meet people that share some general interests with you, add some "Public Keywords" to your profile.
|
||||
Such as "music, linux, photography" or whatever.
|
||||
You can add as many keywords as you like.
|
||||
|
||||
Your default or public profile is also shown to contacts on other networks, since they do not have the ability to view your private profiles.
|
||||
Only members of the Friendica network can see alternate/ private profiles.
|
||||
|
||||
Alternate profiles
|
||||
Alternate/ private profiles
|
||||
---
|
||||
To create an alternate profile, select "Profiles" from the menu of your Friendica site.
|
||||
You may edit an existing profile, change the profile photo, or create a new profile.
|
||||
You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again.
|
||||
You may also "clone" your existing profile if you only wish to change a few items but don't wish to enter all the information again.
|
||||
|
||||
To assign a profile to specific persons, select the person from your "Contacts" page and click the pencil "Edit" icon.
|
||||
You will find a dropdown box listing the various profiles available.
|
||||
|
@ -51,17 +48,13 @@ You may also be able to comment directly on posts from while visiting the other
|
|||
There are two settings which allow you to publish your profile to a directory and ensure that it can be found by others.
|
||||
You can change these through settings on the "Settings" page.
|
||||
One setting allows you to publish your profile in the site directory of this Friendica server.
|
||||
Another option (this may have been disabled by the site creator) allows you to publish your profile in the "Global Directory".
|
||||
This is a mega directory which contains people from many other Friendica installations world-wide.
|
||||
Another option (this may have been disabled by the site admin) allows you to publish your profile in a [Global Directory](Making-Friends.md#the-directories).
|
||||
|
||||
If you do not wish to be visible to any of these sites, you may leave your profile unpublished.
|
||||
If you do not wish to be visible to any of these directories, do not published your profile.
|
||||
|
||||
Although you may have multiple profiles, you only have one profile photo.
|
||||
This is intentional.
|
||||
In early tests we experimented with different photos for each profile and found it was very confusing for people.
|
||||
They might see a different picture depending on what website they visited or what conversation they were in, and often alerted them to the fact that other people might be able to see different profiles of you than they could see.
|
||||
|
||||
(But you can use the rich-text information boxes within a profile such as "Tell us about yourself" and link other photos onto the page.)
|
||||
This is intentional; it avoids confusion by potentially seeing different profile pictures of a contact depending on what website you visit or conversation you participate in.
|
||||
You can always can use the free text information boxes within a profile such as "Tell us about yourself" and link other photos for yourself.
|
||||
|
||||
Keywords and Directory Search
|
||||
---
|
||||
|
@ -70,8 +63,7 @@ The search is typically for your nickname or part of your full name.
|
|||
However this search will also match against other profile fields - such as gender, location, "about", work, and education.
|
||||
You may also include "Keywords" in your default profile - which may be used to search for common interests with other members.
|
||||
You have two sets of keywords available - public and private.
|
||||
Private keywords are *not* visible to anybody.
|
||||
You could use these keywords to locate people who share membership in secret societies, or that share a love of fishing (for example) - without making this information visible on your public profile.
|
||||
Private keywords are *not* visible on your profile, but will bring up your profile when matched in a search of the site directory.
|
||||
Public keywords are used in the friend suggestion tool and although they aren't readily visible, they may be seen by viewing the HTML of your profile page.
|
||||
|
||||
Directory searches are also able to use "boolean" logic so that you can search for "+lesbian +Florida" and find those who's sexual preference (or keywords) contain the world "lesbian" and that live in Florida.
|
||||
|
@ -79,7 +71,7 @@ See the section on "Topical Tags" on the [Tags-and-Mentions](help/Tags-and-Menti
|
|||
|
||||
On your Contacts page is a link to "Find People with Shared Interests" (unless your site administrator has disabled the global directory).
|
||||
This will combine both your public and private keywords, and find people in the global directory who have matching and/or similar keywords.
|
||||
(Your private keywords are not identified or stored on the global directory).
|
||||
Private keywords are not identified or stored on the global directory.
|
||||
The more keywords you provide, the more relevant the search results that are returned.
|
||||
These are sorted by relevance.
|
||||
You may discover that you are the first person on the list - because you are very likely the most relevant match for your keywords in the directory.
|
||||
|
|
|
@ -37,7 +37,7 @@ Requirements
|
|||
* die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
|
||||
* Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.
|
||||
|
||||
Installation procedure
|
||||
Installation
|
||||
---
|
||||
|
||||
### Friendica
|
||||
|
|
|
@ -191,7 +191,7 @@ function profile_content(App $a, $update = 0)
|
|||
$o .= Widget::commonFriendsVisitor($a->profile['profile_uid']);
|
||||
|
||||
if (x($_SESSION, 'new_member') && $is_owner) {
|
||||
$o .= '<a href="newmember" id="newmember-tips" style="font-size: 1.2em;"><b>' . L10n::t('Tips for New Members') . '</b></a>' . EOL;
|
||||
$o .= '<div id="newmember-tips"><a href="newmember"><b>' . L10n::t('Tips for New Members') . '</b></a></div>';
|
||||
}
|
||||
|
||||
$commpage = $a->profile['page-flags'] == PAGE_COMMUNITY;
|
||||
|
|
|
@ -49,7 +49,7 @@ class ForumManager
|
|||
"SELECT `contact`.`id`, `contact`.`url`, `contact`.`name`, `contact`.`micro`, `contact`.`thumb`
|
||||
FROM `contact`
|
||||
WHERE `network`= 'dfrn' AND $select AND `uid` = ?
|
||||
AND NOT `blocked` AND NOT `hidden` AND NOT `pending` AND NOT `archive`
|
||||
AND NOT `blocked` AND NOT `pending` AND NOT `archive`
|
||||
AND `success_update` > `failure_update`
|
||||
$order ",
|
||||
$uid
|
||||
|
|
|
@ -55,19 +55,24 @@ class Widget
|
|||
}
|
||||
}
|
||||
|
||||
return replace_macros(get_markup_template('peoplefind.tpl'), array(
|
||||
'$findpeople' => L10n::t('Find People'),
|
||||
'$desc' => L10n::t('Enter name or interest'),
|
||||
'$label' => L10n::t('Connect/Follow'),
|
||||
'$hint' => L10n::t('Examples: Robert Morgenstein, Fishing'),
|
||||
'$findthem' => L10n::t('Find'),
|
||||
'$suggest' => L10n::t('Friend Suggestions'),
|
||||
'$similar' => L10n::t('Similar Interests'),
|
||||
'$random' => L10n::t('Random Profile'),
|
||||
'$inv' => L10n::t('Invite Friends'),
|
||||
'$directory' => L10n::t('View Global Directory'),
|
||||
'$global_dir' => $global_dir
|
||||
));
|
||||
$nv = [];
|
||||
$nv['findpeople'] = L10n::t('Find People');
|
||||
$nv['desc'] = L10n::t('Enter name or interest');
|
||||
$nv['label'] = L10n::t('Connect/Follow');
|
||||
$nv['hint'] = L10n::t('Examples: Robert Morgenstein, Fishing');
|
||||
$nv['findthem'] = L10n::t('Find');
|
||||
$nv['suggest'] = L10n::t('Friend Suggestions');
|
||||
$nv['similar'] = L10n::t('Similar Interests');
|
||||
$nv['random'] = L10n::t('Random Profile');
|
||||
$nv['inv'] = L10n::t('Invite Friends');
|
||||
$nv['directory'] = L10n::t('Global Directory');
|
||||
$nv['global_dir'] = $global_dir;
|
||||
$nv['local_directory'] = L10n::t('Local Directory');
|
||||
|
||||
$aside = [];
|
||||
$aside['$nv'] = $nv;
|
||||
|
||||
return replace_macros(get_markup_template('peoplefind.tpl'), $aside);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,12 +7,14 @@ namespace Friendica\Test;
|
|||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseObject;
|
||||
use PHPUnit_Framework_TestCase;
|
||||
|
||||
// backward compatibility
|
||||
if (!class_exists('\PHPUnit\Framework\TestCase')) {
|
||||
class_alias('\PHPUnit_Framework_TestCase', '\PHPUnit\Framework\TestCase');
|
||||
}
|
||||
/**
|
||||
* Tests for the BaseObject class.
|
||||
*/
|
||||
class BaseObjectTest extends PHPUnit_Framework_TestCase
|
||||
class BaseObjectTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,12 +5,15 @@
|
|||
|
||||
namespace Friendica\Test;
|
||||
|
||||
use PHPUnit_Framework_TestCase;
|
||||
// backward compatibility
|
||||
if (!class_exists('\PHPUnit\Framework\TestCase')) {
|
||||
class_alias('\PHPUnit_Framework_TestCase', '\PHPUnit\Framework\TestCase');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for text functions.
|
||||
*/
|
||||
class TextTest extends PHPUnit_Framework_TestCase
|
||||
class TextTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
/**
|
||||
|
@ -61,10 +64,10 @@ class TextTest extends PHPUnit_Framework_TestCase
|
|||
public function testAutonameLength1()
|
||||
{
|
||||
$autoname1=autoname(1);
|
||||
$this->assertEquals(1, count($autoname1));
|
||||
$this->assertEquals(1, strlen($autoname1));
|
||||
|
||||
$autoname2=autoname(1);
|
||||
$this->assertEquals(1, count($autoname2));
|
||||
$this->assertEquals(1, strlen($autoname2));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,7 @@ Alexandre Alapetite
|
|||
AlfredSK
|
||||
Andi Stadler
|
||||
Andreas H.
|
||||
Andreas Neustifter
|
||||
Andrej Stieben
|
||||
André Alves
|
||||
André Lohan
|
||||
|
|
|
@ -202,9 +202,17 @@ blockquote.shared_content {
|
|||
}
|
||||
|
||||
#profile-photo-wrapper {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#newmember-tips {
|
||||
font-size: 1.2em;
|
||||
float: right;
|
||||
margin-top: -32px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
/* headers */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 5px 0px 5px 0px;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{{if $pager && ($pager.prev || $pager.next)}}
|
||||
<div class="pager">
|
||||
{{if $pager}}
|
||||
{{if $pager.prev}}<span class="pager_prev {{$pager.prev.class}}"><a href="{{$pager.prev.url}}">{{$pager.prev.text}}</a></span>{{/if}}
|
||||
|
||||
{{if $pager.first}}<span class="pager_first {{$pager.first.class}}"><a href="{{$pager.first.url}}">{{$pager.first.text}}</a></span>{{/if}}
|
||||
|
@ -9,5 +9,5 @@
|
|||
{{if $pager.last}} <span class="pager_last {{$pager.last.class}}"><a href="{{$pager.last.url}}">{{$pager.last.text}}</a></span>{{/if}}
|
||||
|
||||
{{if $pager.next}}<span class="pager_next {{$pager.next.class}}"><a href="{{$pager.next.url}}">{{$pager.next.text}}</a></span>{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
|
||||
<div id="peoplefind-sidebar" class="widget">
|
||||
<h3>{{$findpeople}}</h3>
|
||||
<div id="peoplefind-desc">{{$desc}}</div>
|
||||
<h3>{{$nv.findpeople}}</h3>
|
||||
<div id="peoplefind-desc">{{$nv.desc}}</div>
|
||||
<form action="dirfind" method="get" />
|
||||
<input id="side-peoplefind-url" type="text" name="search" size="24" title="{{$hint|escape:'html'}}" /><input id="side-peoplefind-submit" type="submit" name="submit" value="{{$findthem|escape:'html'}}" />
|
||||
<input id="side-peoplefind-url" type="text" name="search" size="24" title="{{$nv.hint|escape:'html'}}" /><input id="side-peoplefind-submit" type="submit" name="submit" value="{{$nv.findthem|escape:'html'}}" />
|
||||
</form>
|
||||
<div class="side-link" id="side-match-link"><a href="match" >{{$similar}}</a></div>
|
||||
<div class="side-link" id="side-suggest-link"><a href="suggest" >{{$suggest}}</a></div>
|
||||
<div class="side-link" id="side-directory-link"><a href="{{$global_dir}}" target="extlink" >{{$directory}}</a></div>
|
||||
<div class="side-link" id="side-random-profile-link" ><a href="randprof" target="extlink" >{{$random}}</a></div>
|
||||
{{if $inv}}
|
||||
<div class="side-link" id="side-invite-link" ><a href="invite" >{{$inv}}</a></div>
|
||||
<div class="side-link" id="side-match-link"><a href="match" >{{$nv.similar}}</a></div>
|
||||
<div class="side-link" id="side-suggest-link"><a href="suggest" >{{$nv.suggest}}</a></div>
|
||||
<div class="side-link" id="side-directory-link"><a href="directory" >{{$nv.local_directory}}</a></div>
|
||||
<div class="side-link" id="side-directory-link"><a href="{{$nv.global_dir}}" target="extlink" >{{$nv.directory}}</a></div>
|
||||
<div class="side-link" id="side-random-profile-link" ><a href="randprof" target="extlink" >{{$nv.random}}</a></div>
|
||||
{{if $nv.inv}}
|
||||
<div class="side-link" id="side-invite-link" ><a href="invite" >{{$nv.inv}}</a></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
|
||||
<div id="peoplefind-sidebar" class="widget">
|
||||
<h3>{{$findpeople}}</h3>
|
||||
<h3>{{$nv.findpeople}}</h3>
|
||||
|
||||
<form action="dirfind" method="get">
|
||||
{{* The search field *}}
|
||||
<label for="side-peoplefind-url" id="peoplefind-desc">{{$desc}}</label>
|
||||
<label for="side-peoplefind-url" id="peoplefind-desc">{{$nv.desc}}</label>
|
||||
<div class="form-group form-group-search">
|
||||
<input id="side-peoplefind-url" class="search-input form-control form-search" type="text" name="search" data-toggle="tooltip" title="{{$hint|escape:'html'}}" />
|
||||
<button id="side-peoplefind-submit" class="btn btn-default btn-sm form-button-search" type="submit">{{$findthem}}</button>
|
||||
<input id="side-peoplefind-url" class="search-input form-control form-search" type="text" name="search" data-toggle="tooltip" title="{{$nv.hint|escape:'html'}}" />
|
||||
<button id="side-peoplefind-submit" class="btn btn-default btn-sm form-button-search" type="submit">{{$nv.findthem|escape: 'html'}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{{* Directory links *}}
|
||||
<div class="side-link" id="side-directory-link"><a href="directory" >{{$nv.local_directory}}</a></div>
|
||||
<div class="side-link" id="side-directory-link"><a href="{{$nv.global_dir}}" target="extlink" >{{$nv.directory}}</a></div>
|
||||
{{* Additional links *}}
|
||||
<div class="side-link" id="side-match-link"><a href="match" >{{$similar}}</a></div>
|
||||
<div class="side-link" id="side-suggest-link"><a href="suggest" >{{$suggest}}</a></div>
|
||||
<div class="side-link" id="side-match-link"><a href="match" >{{$nv.similar}}</a></div>
|
||||
<div class="side-link" id="side-suggest-link"><a href="suggest" >{{$nv.suggest}}</a></div>
|
||||
|
||||
{{if $inv}}
|
||||
<div class="side-link" id="side-invite-link" ><a href="invite" >{{$inv}}</a></div>
|
||||
{{if $nv.inv}}
|
||||
<div class="side-link" id="side-invite-link" ><a href="invite" >{{$nv.inv}}</a></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1153,9 +1153,9 @@ aside #profiles-menu {
|
|||
left: 10px;
|
||||
}
|
||||
|
||||
aside #search-text, aside #side-follow-url, aside #side-peoplefind-url, right_aside input {
|
||||
width: 140px;
|
||||
height: 17px;
|
||||
aside #search-text, aside #side-follow-url, aside #side-peoplefind-url, right_aside #side-peoplefind-url {
|
||||
width: 65%;
|
||||
float: left;
|
||||
padding-left: 10px;
|
||||
/*border-top-left-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
|
@ -1167,6 +1167,15 @@ aside #search-text, aside #side-follow-url, aside #side-peoplefind-url, right_as
|
|||
-moz-border-right-colors: #dbdbdb;*/
|
||||
}
|
||||
|
||||
aside #side-peoplefind-submit, right_aside #side-peoplefind-submit {
|
||||
width: 25%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#side-match-link {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
aside h4, right_aside h4 {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
|
|
|
@ -39,17 +39,7 @@
|
|||
{{/if}}
|
||||
|
||||
{{if $nv}}
|
||||
<div id="right_friends" class="widget">
|
||||
<h3>{{$nv.title.1}}</h3>
|
||||
<ul role="menu">
|
||||
<li class="tool" role="menuitem"><a class="{{$nv.directory.2}}" href="{{$nv.directory.0}}" title="{{$nv.directory.3}}" >{{$nv.directory.1}}</a></li>
|
||||
<li class="tool" role="menuitem"><a class="{{$nv.global_directory.2}}" href="{{$nv.global_directory.0}}" target="blank" title="{{$nv.global_directory.3}}" >{{$nv.global_directory.1}}</a></li>
|
||||
<li class="tool" role="menuitem"><a class="{{$nv.match.2}}" href="{{$nv.match.0}}" title="{{$nv.match.3}}" >{{$nv.match.1}}</a></li>
|
||||
<li class="tool" role="menuitem"><a class="{{$nv.suggest.2}}" href="{{$nv.suggest.0}}" title="{{$nv.suggest.3}}" >{{$nv.suggest.1}}</a></li>
|
||||
<li class="tool" role="menuitem"><a class="{{$nv.invite.2}}" href="{{$nv.invite.0}}" title="{{$nv.invite.3}}" >{{$nv.invite.1}}</a></li>
|
||||
</ul>
|
||||
{{$nv.search}}
|
||||
</div>
|
||||
{{include file='peoplefind.tpl' nv=$nv}}
|
||||
{{/if}}
|
||||
|
||||
{{if $lastusers_title}}
|
||||
|
|
|
@ -196,19 +196,18 @@ function vier_community_info()
|
|||
//right_aside FIND FRIENDS
|
||||
if ($show_friends && local_user()) {
|
||||
$nv = [];
|
||||
$nv['title'] = ["", L10n::t('Find Friends'), "", ""];
|
||||
$nv['directory'] = ['directory', L10n::t('Local Directory'), "", ""];
|
||||
$nv['global_directory'] = [get_server(), L10n::t('Global Directory'), "", ""];
|
||||
$nv['match'] = ['match', L10n::t('Similar Interests'), "", ""];
|
||||
$nv['suggest'] = ['suggest', L10n::t('Friend Suggestions'), "", ""];
|
||||
$nv['invite'] = ['invite', L10n::t('Invite Friends'), "", ""];
|
||||
|
||||
$nv['search'] = '<form name="simple_bar" method="get" action="dirfind">
|
||||
<span class="sbox_l"></span>
|
||||
<span class="sbox">
|
||||
<input type="text" name="search" size="13" maxlength="50">
|
||||
</span>
|
||||
<span class="sbox_r" id="srch_clear"></span>';
|
||||
$nv['findpeople'] = L10n::t('Find People');
|
||||
$nv['desc'] = L10n::t('Enter name or interest');
|
||||
$nv['label'] = L10n::t('Connect/Follow');
|
||||
$nv['hint'] = L10n::t('Examples: Robert Morgenstein, Fishing');
|
||||
$nv['findthem'] = L10n::t('Find');
|
||||
$nv['suggest'] = L10n::t('Friend Suggestions');
|
||||
$nv['similar'] = L10n::t('Similar Interests');
|
||||
$nv['random'] = L10n::t('Random Profile');
|
||||
$nv['inv'] = L10n::t('Invite Friends');
|
||||
$nv['directory'] = L10n::t('Global Directory');
|
||||
$nv['global_dir'] = get_server();
|
||||
$nv['local_directory'] = L10n::t('Local Directory');
|
||||
|
||||
$aside['$nv'] = $nv;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue