Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
8dc1d19381
6 changed files with 76 additions and 43 deletions
|
@ -164,6 +164,7 @@ if you don't use the option `--savedb` during installation, the DB credentials w
|
||||||
This variables wont be used at normal Friendica runtime.
|
This variables wont be used at normal Friendica runtime.
|
||||||
Instead, they get saved into `config/local.ini.php`.
|
Instead, they get saved into `config/local.ini.php`.
|
||||||
|
|
||||||
|
- `FRIENDICA_URL_PATH` The URL path of Friendica (f.e. '/friendica')
|
||||||
- `FRIENDICA_PHP_PATH` The path of the PHP binary
|
- `FRIENDICA_PHP_PATH` The path of the PHP binary
|
||||||
- `FRIENDICA_ADMIN_MAIL` The admin email address of Friendica (this email will be used for admin access)
|
- `FRIENDICA_ADMIN_MAIL` The admin email address of Friendica (this email will be used for admin access)
|
||||||
- `FRIENDICA_TZ` The timezone of Friendica
|
- `FRIENDICA_TZ` The timezone of Friendica
|
||||||
|
@ -182,7 +183,8 @@ All options will be saved in the `config/local.ini.php` and are overruling the a
|
||||||
- `-U|--dbuser <username>` The username of the mysql/mariadb database login (env `MYSQL_USER` or `MYSQL_USERNAME`)
|
- `-U|--dbuser <username>` The username of the mysql/mariadb database login (env `MYSQL_USER` or `MYSQL_USERNAME`)
|
||||||
- `-P|--dbpass <password>` The password of the mysql/mariadb database login (env `MYSQL_PASSWORD`)
|
- `-P|--dbpass <password>` The password of the mysql/mariadb database login (env `MYSQL_PASSWORD`)
|
||||||
- `-d|--dbdata <database>` The name of the mysql/mariadb database (env `MYSQL_DATABASE`)
|
- `-d|--dbdata <database>` The name of the mysql/mariadb database (env `MYSQL_DATABASE`)
|
||||||
- `-b|--phppath <path>` The path of the PHP binary (env `FRIENDICA_PHP_PATH`)
|
- `-u|--urlpath <url_path>` The URL path of Friendica - f.e. '/friendica' (env `FRIENDICA_URL_PATH`)
|
||||||
|
- `-b|--phppath <php_path>` The path of the PHP binary (env `FRIENDICA_PHP_PATH`)
|
||||||
- `-A|--admin <mail>` The admin email address of Friendica (env `FRIENDICA_ADMIN_MAIL`)
|
- `-A|--admin <mail>` The admin email address of Friendica (env `FRIENDICA_ADMIN_MAIL`)
|
||||||
- `-T|--tz <timezone>` The timezone of Friendica (env `FRIENDICA_TZ`)
|
- `-T|--tz <timezone>` The timezone of Friendica (env `FRIENDICA_TZ`)
|
||||||
- `-L|--land <language>` The language of Friendica (env `FRIENDICA_LANG`)
|
- `-L|--land <language>` The language of Friendica (env `FRIENDICA_LANG`)
|
||||||
|
|
|
@ -657,7 +657,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
|
||||||
'id' => ($preview ? 'P0' : $item['id']),
|
'id' => ($preview ? 'P0' : $item['id']),
|
||||||
'guid' => ($preview ? 'Q0' : $item['guid']),
|
'guid' => ($preview ? 'Q0' : $item['guid']),
|
||||||
'network' => $item['network'],
|
'network' => $item['network'],
|
||||||
'network_name' => ContactSelector::networkToName($item['network'], $profile_link),
|
'network_name' => ContactSelector::networkToName($item['network'], $item['author-link']),
|
||||||
'linktitle' => L10n::t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
|
'linktitle' => L10n::t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
|
||||||
'profile_url' => $profile_link,
|
'profile_url' => $profile_link,
|
||||||
'item_photo_menu' => item_photo_menu($item),
|
'item_photo_menu' => item_photo_menu($item),
|
||||||
|
|
|
@ -7,7 +7,9 @@ namespace Friendica\Content;
|
||||||
use Friendica\Core\Addon;
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
use Friendica\Core\Protocol;
|
use Friendica\Core\Protocol;
|
||||||
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
|
use Friendica\Util\Network;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ContactSelector class
|
* @brief ContactSelector class
|
||||||
|
@ -68,11 +70,11 @@ class ContactSelector
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $s network
|
* @param string $network network
|
||||||
* @param string $profile optional, default empty
|
* @param string $profile optional, default empty
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function networkToName($s, $profile = "")
|
public static function networkToName($network, $profile = "")
|
||||||
{
|
{
|
||||||
$nets = [
|
$nets = [
|
||||||
Protocol::DFRN => L10n::t('Friendica'),
|
Protocol::DFRN => L10n::t('Friendica'),
|
||||||
|
@ -98,21 +100,39 @@ class ContactSelector
|
||||||
$search = array_keys($nets);
|
$search = array_keys($nets);
|
||||||
$replace = array_values($nets);
|
$replace = array_values($nets);
|
||||||
|
|
||||||
$networkname = str_replace($search, $replace, $s);
|
$networkname = str_replace($search, $replace, $network);
|
||||||
|
|
||||||
if ((in_array($s, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) && ($profile != "")) {
|
if ((in_array($network, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) && ($profile != "")) {
|
||||||
$r = DBA::fetchFirst("SELECT `gserver`.`platform` FROM `gcontact`
|
// Create the server url out of the profile url
|
||||||
INNER JOIN `gserver` ON `gserver`.`nurl` = `gcontact`.`server_url`
|
$parts = parse_url($profile);
|
||||||
WHERE `gcontact`.`nurl` = ? AND `platform` != ''", normalise_link($profile));
|
unset($parts['path']);
|
||||||
|
$server_url = [normalise_link(Network::unparseURL($parts))];
|
||||||
|
|
||||||
if (DBA::isResult($r)) {
|
// Fetch the server url
|
||||||
$networkname = $r['platform'];
|
$gcontact = DBA::selectFirst('gcontact', ['server_url'], ['nurl' => normalise_link($profile)]);
|
||||||
|
if (!empty($gcontact) && !empty($gcontact['server_url'])) {
|
||||||
|
$server_url[] = normalise_link($gcontact['server_url']);
|
||||||
|
}
|
||||||
|
|
||||||
if ($s == Protocol::ACTIVITYPUB) {
|
// Now query the GServer for the platform name
|
||||||
|
$gserver = DBA::selectFirst('gserver', ['platform', 'network'], ['nurl' => $server_url]);
|
||||||
|
|
||||||
|
if (DBA::isResult($gserver)) {
|
||||||
|
if (!empty($gserver['platform'])) {
|
||||||
|
$platform = $gserver['platform'];
|
||||||
|
} elseif (!empty($gserver['network']) && ($gserver['network'] != Protocol::ACTIVITYPUB)) {
|
||||||
|
$platform = self::networkToName($gserver['network']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($platform)) {
|
||||||
|
$networkname = $platform;
|
||||||
|
|
||||||
|
if ($network == Protocol::ACTIVITYPUB) {
|
||||||
$networkname .= ' (AP)';
|
$networkname .= ' (AP)';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $networkname;
|
return $networkname;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,8 @@ Options
|
||||||
-d|--dbdata <database> The name of the mysql/mariadb database (env MYSQL_DATABASE)
|
-d|--dbdata <database> The name of the mysql/mariadb database (env MYSQL_DATABASE)
|
||||||
-U|--dbuser <username> The username of the mysql/mariadb database login (env MYSQL_USER or MYSQL_USERNAME)
|
-U|--dbuser <username> The username of the mysql/mariadb database login (env MYSQL_USER or MYSQL_USERNAME)
|
||||||
-P|--dbpass <password> The password of the mysql/mariadb database login (env MYSQL_PASSWORD)
|
-P|--dbpass <password> The password of the mysql/mariadb database login (env MYSQL_PASSWORD)
|
||||||
-b|--phppath <path> The path of the PHP binary (env FRIENDICA_PHP_PATH)
|
-u|--urlpath <url_path> The URL path of Friendica - f.e. '/friendica' (env FRIENDICA_URL_PATH)
|
||||||
|
-b|--phppath <php_path> The path of the PHP binary (env FRIENDICA_PHP_PATH)
|
||||||
-A|--admin <mail> The admin email address of Friendica (env FRIENDICA_ADMIN_MAIL)
|
-A|--admin <mail> The admin email address of Friendica (env FRIENDICA_ADMIN_MAIL)
|
||||||
-T|--tz <timezone> The timezone of Friendica (env FRIENDICA_TZ)
|
-T|--tz <timezone> The timezone of Friendica (env FRIENDICA_TZ)
|
||||||
-L|--lang <language> The language of Friendica (env FRIENDICA_LANG)
|
-L|--lang <language> The language of Friendica (env FRIENDICA_LANG)
|
||||||
|
@ -51,6 +52,7 @@ Environment variables
|
||||||
MYSQL_USERNAME|MYSQL_USER The username of the mysql/mariadb database login (MYSQL_USERNAME is for mysql, MYSQL_USER for mariadb)
|
MYSQL_USERNAME|MYSQL_USER The username of the mysql/mariadb database login (MYSQL_USERNAME is for mysql, MYSQL_USER for mariadb)
|
||||||
MYSQL_PASSWORD The password of the mysql/mariadb database login
|
MYSQL_PASSWORD The password of the mysql/mariadb database login
|
||||||
MYSQL_DATABASE The name of the mysql/mariadb database
|
MYSQL_DATABASE The name of the mysql/mariadb database
|
||||||
|
FRIENDICA_URL_PATH The URL path of Friendica (f.e. '/friendica')
|
||||||
FRIENDICA_PHP_PATH The path of the PHP binary
|
FRIENDICA_PHP_PATH The path of the PHP binary
|
||||||
FRIENDICA_ADMIN_MAIL The admin email address of Friendica (this email will be used for admin access)
|
FRIENDICA_ADMIN_MAIL The admin email address of Friendica (this email will be used for admin access)
|
||||||
FRIENDICA_TZ The timezone of Friendica
|
FRIENDICA_TZ The timezone of Friendica
|
||||||
|
@ -102,13 +104,14 @@ HELP;
|
||||||
$db_data = $this->getOption(['d', 'dbdata'], ($save_db) ? getenv('MYSQL_DATABASE') : '');
|
$db_data = $this->getOption(['d', 'dbdata'], ($save_db) ? getenv('MYSQL_DATABASE') : '');
|
||||||
$db_user = $this->getOption(['U', 'dbuser'], ($save_db) ? getenv('MYSQL_USER') . getenv('MYSQL_USERNAME') : '');
|
$db_user = $this->getOption(['U', 'dbuser'], ($save_db) ? getenv('MYSQL_USER') . getenv('MYSQL_USERNAME') : '');
|
||||||
$db_pass = $this->getOption(['P', 'dbpass'], ($save_db) ? getenv('MYSQL_PASSWORD') : '');
|
$db_pass = $this->getOption(['P', 'dbpass'], ($save_db) ? getenv('MYSQL_PASSWORD') : '');
|
||||||
|
$url_path = $this->getOption(['u', 'urlpath'], (!empty('FRIENDICA_URL_PATH')) ? getenv('FRIENDICA_URL_PATH') : null);
|
||||||
$php_path = $this->getOption(['b', 'phppath'], (!empty('FRIENDICA_PHP_PATH')) ? getenv('FRIENDICA_PHP_PATH') : '');
|
$php_path = $this->getOption(['b', 'phppath'], (!empty('FRIENDICA_PHP_PATH')) ? getenv('FRIENDICA_PHP_PATH') : '');
|
||||||
$admin_mail = $this->getOption(['A', 'admin'], (!empty('FRIENDICA_ADMIN_MAIL')) ? getenv('FRIENDICA_ADMIN_MAIL') : '');
|
$admin_mail = $this->getOption(['A', 'admin'], (!empty('FRIENDICA_ADMIN_MAIL')) ? getenv('FRIENDICA_ADMIN_MAIL') : '');
|
||||||
$tz = $this->getOption(['T', 'tz'], (!empty('FRIENDICA_TZ')) ? getenv('FRIENDICA_TZ') : '');
|
$tz = $this->getOption(['T', 'tz'], (!empty('FRIENDICA_TZ')) ? getenv('FRIENDICA_TZ') : '');
|
||||||
$lang = $this->getOption(['L', 'lang'], (!empty('FRIENDICA_LANG')) ? getenv('FRIENDICA_LANG') : '');
|
$lang = $this->getOption(['L', 'lang'], (!empty('FRIENDICA_LANG')) ? getenv('FRIENDICA_LANG') : '');
|
||||||
|
|
||||||
Install::createConfig(
|
Install::createConfig(
|
||||||
$php_path,
|
$url_path,
|
||||||
((!empty($db_port)) ? $db_host . ':' . $db_port : $db_host),
|
((!empty($db_port)) ? $db_host . ':' . $db_port : $db_host),
|
||||||
$db_user,
|
$db_user,
|
||||||
$db_pass,
|
$db_pass,
|
||||||
|
|
|
@ -402,7 +402,7 @@ class Post extends BaseObject
|
||||||
'thread_level' => $thread_level,
|
'thread_level' => $thread_level,
|
||||||
'edited' => $edited,
|
'edited' => $edited,
|
||||||
'network' => $item["network"],
|
'network' => $item["network"],
|
||||||
'network_name' => ContactSelector::networkToName($item['network'], $profile_link),
|
'network_name' => ContactSelector::networkToName($item['network'], $item['author-link']),
|
||||||
'received' => $item['received'],
|
'received' => $item['received'],
|
||||||
'commented' => $item['commented'],
|
'commented' => $item['commented'],
|
||||||
'created_date' => $item['created'],
|
'created_date' => $item['created'],
|
||||||
|
|
|
@ -205,6 +205,7 @@ CONF;
|
||||||
$this->assertTrue(putenv('FRIENDICA_ADMIN_MAIL=admin@friendica.local'));
|
$this->assertTrue(putenv('FRIENDICA_ADMIN_MAIL=admin@friendica.local'));
|
||||||
$this->assertTrue(putenv('FRIENDICA_TZ=Europe/Berlin'));
|
$this->assertTrue(putenv('FRIENDICA_TZ=Europe/Berlin'));
|
||||||
$this->assertTrue(putenv('FRIENDICA_LANG=de'));
|
$this->assertTrue(putenv('FRIENDICA_LANG=de'));
|
||||||
|
$this->assertTrue(putenv('FRIENDICA_URL_PATH=/friendica'));
|
||||||
|
|
||||||
$txt = $this->execute(['autoinstall']);
|
$txt = $this->execute(['autoinstall']);
|
||||||
|
|
||||||
|
@ -218,6 +219,7 @@ CONF;
|
||||||
$this->assertConfig('config', 'admin_email', 'admin@friendica.local');
|
$this->assertConfig('config', 'admin_email', 'admin@friendica.local');
|
||||||
$this->assertConfig('system', 'default_timezone', 'Europe/Berlin');
|
$this->assertConfig('system', 'default_timezone', 'Europe/Berlin');
|
||||||
$this->assertConfig('system', 'language', 'de');
|
$this->assertConfig('system', 'language', 'de');
|
||||||
|
$this->assertConfig('system', 'url_path', '/friendica');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -248,6 +250,9 @@ CONF;
|
||||||
array_push($args, '--lang');
|
array_push($args, '--lang');
|
||||||
array_push($args, 'de');
|
array_push($args, 'de');
|
||||||
|
|
||||||
|
array_push($args, '--urlpath');
|
||||||
|
array_push($args, '/friendica');
|
||||||
|
|
||||||
$txt = $this->execute($args);
|
$txt = $this->execute($args);
|
||||||
|
|
||||||
$this->assertFinished($txt, true);
|
$this->assertFinished($txt, true);
|
||||||
|
@ -260,6 +265,7 @@ CONF;
|
||||||
$this->assertConfig('config', 'admin_email', 'admin@friendica.local');
|
$this->assertConfig('config', 'admin_email', 'admin@friendica.local');
|
||||||
$this->assertConfig('system', 'default_timezone', 'Europe/Berlin');
|
$this->assertConfig('system', 'default_timezone', 'Europe/Berlin');
|
||||||
$this->assertConfig('system', 'language', 'de');
|
$this->assertConfig('system', 'language', 'de');
|
||||||
|
$this->assertConfig('system', 'url_path', '/friendica');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testNoDatabaseConnection()
|
public function testNoDatabaseConnection()
|
||||||
|
@ -298,7 +304,8 @@ Options
|
||||||
-d|--dbdata <database> The name of the mysql/mariadb database (env MYSQL_DATABASE)
|
-d|--dbdata <database> The name of the mysql/mariadb database (env MYSQL_DATABASE)
|
||||||
-U|--dbuser <username> The username of the mysql/mariadb database login (env MYSQL_USER or MYSQL_USERNAME)
|
-U|--dbuser <username> The username of the mysql/mariadb database login (env MYSQL_USER or MYSQL_USERNAME)
|
||||||
-P|--dbpass <password> The password of the mysql/mariadb database login (env MYSQL_PASSWORD)
|
-P|--dbpass <password> The password of the mysql/mariadb database login (env MYSQL_PASSWORD)
|
||||||
-b|--phppath <path> The path of the PHP binary (env FRIENDICA_PHP_PATH)
|
-b|--urlpath <url_path> The URL path of Friendica - f.e. '/friendica' (env FRIENDICA_URL_PATH)
|
||||||
|
-b|--phppath <php_path> The path of the PHP binary (env FRIENDICA_PHP_PATH)
|
||||||
-A|--admin <mail> The admin email address of Friendica (env FRIENDICA_ADMIN_MAIL)
|
-A|--admin <mail> The admin email address of Friendica (env FRIENDICA_ADMIN_MAIL)
|
||||||
-T|--tz <timezone> The timezone of Friendica (env FRIENDICA_TZ)
|
-T|--tz <timezone> The timezone of Friendica (env FRIENDICA_TZ)
|
||||||
-L|--lang <language> The language of Friendica (env FRIENDICA_LANG)
|
-L|--lang <language> The language of Friendica (env FRIENDICA_LANG)
|
||||||
|
@ -309,6 +316,7 @@ Environment variables
|
||||||
MYSQL_USERNAME|MYSQL_USER The username of the mysql/mariadb database login (MYSQL_USERNAME is for mysql, MYSQL_USER for mariadb)
|
MYSQL_USERNAME|MYSQL_USER The username of the mysql/mariadb database login (MYSQL_USERNAME is for mysql, MYSQL_USER for mariadb)
|
||||||
MYSQL_PASSWORD The password of the mysql/mariadb database login
|
MYSQL_PASSWORD The password of the mysql/mariadb database login
|
||||||
MYSQL_DATABASE The name of the mysql/mariadb database
|
MYSQL_DATABASE The name of the mysql/mariadb database
|
||||||
|
FRIENDICA_URL_PATH The URL path of Friendica (f.e. '/friendica')
|
||||||
FRIENDICA_PHP_PATH The path of the PHP binary
|
FRIENDICA_PHP_PATH The path of the PHP binary
|
||||||
FRIENDICA_ADMIN_MAIL The admin email address of Friendica (this email will be used for admin access)
|
FRIENDICA_ADMIN_MAIL The admin email address of Friendica (this email will be used for admin access)
|
||||||
FRIENDICA_TZ The timezone of Friendica
|
FRIENDICA_TZ The timezone of Friendica
|
||||||
|
|
Loading…
Reference in a new issue