mirror of
https://github.com/friendica/friendica
synced 2025-04-25 05:10:11 +00:00
Merge branch 'develop' into notifications-summary
This commit is contained in:
commit
843502badc
140 changed files with 1030 additions and 1508 deletions
|
@ -56,7 +56,7 @@ class Objects extends BaseModule
|
|||
Logger::info('Provided GUID found.', ['guid' => $this->parameters['guid'], 'uri-id' => $itemuri['id']]);
|
||||
} else {
|
||||
// The item URI does not always contain the GUID. This means that we have to search the URL instead
|
||||
$url = DI::baseUrl()->get() . '/' . DI::args()->getQueryString();
|
||||
$url = DI::baseUrl() . '/' . DI::args()->getQueryString();
|
||||
$nurl = Strings::normaliseLink($url);
|
||||
$ssl_url = str_replace('http://', 'https://', $nurl);
|
||||
|
||||
|
|
|
@ -112,7 +112,6 @@ class Details extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Addons'),
|
||||
'$toggle' => DI::l10n()->t('Toggle'),
|
||||
'$settings' => DI::l10n()->t('Settings'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
|
||||
'$addon' => $addon,
|
||||
'$status' => $status,
|
||||
|
|
|
@ -68,7 +68,6 @@ class Index extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Addons'),
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$reload' => DI::l10n()->t('Reload active addons'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$function' => 'addons',
|
||||
'$addons' => $addons,
|
||||
'$pcount' => count($addons),
|
||||
|
|
|
@ -102,13 +102,11 @@ class DBSync extends BaseAdmin
|
|||
|
||||
if (!count($failed)) {
|
||||
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/dbsync/structure_check.tpl'), [
|
||||
'$base' => DI::baseUrl()->get(true),
|
||||
'$banner' => DI::l10n()->t('No failed updates.'),
|
||||
'$check' => DI::l10n()->t('Check database structure'),
|
||||
]);
|
||||
} else {
|
||||
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/dbsync/failed_updates.tpl'), [
|
||||
'$base' => DI::baseUrl()->get(true),
|
||||
'$banner' => DI::l10n()->t('Failed Updates'),
|
||||
'$desc' => DI::l10n()->t('This does not include updates prior to 1139, which did not return a status.'),
|
||||
'$mark' => DI::l10n()->t("Mark success \x28if update was manually applied\x29"),
|
||||
|
|
|
@ -81,7 +81,6 @@ class Features extends BaseAdmin
|
|||
$tpl = Renderer::getMarkupTemplate('admin/features.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$form_security_token' => self::getFormSecurityToken("admin_manage_features"),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$title' => DI::l10n()->t('Manage Additional Features'),
|
||||
'$features' => $features,
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
|
|
|
@ -80,7 +80,6 @@ class Settings extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Logs'),
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$clear' => DI::l10n()->t('Clear'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$logname' => DI::config()->get('system', 'logfile'),
|
||||
// see /help/smarty3-templates#1_1 on any Friendica node
|
||||
'$debugging' => ['debugging', DI::l10n()->t("Enable Debugging"), DI::config()->get('system', 'debugging'), ""],
|
||||
|
|
|
@ -80,7 +80,6 @@ class View extends BaseAdmin
|
|||
}
|
||||
}
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$title' => DI::l10n()->t('Administration'),
|
||||
'$page' => DI::l10n()->t('View Logs'),
|
||||
'$l10n' => [
|
||||
|
|
|
@ -118,7 +118,6 @@ class Site extends BaseAdmin
|
|||
$mail_enabled = !empty($_POST['mail_enabled']);
|
||||
$ostatus_enabled = !empty($_POST['ostatus_enabled']);
|
||||
$diaspora_enabled = !empty($_POST['diaspora_enabled']);
|
||||
$ssl_policy = (!empty($_POST['ssl_policy']) ? intval($_POST['ssl_policy']) : 0);
|
||||
$force_ssl = !empty($_POST['force_ssl']);
|
||||
$show_help = !empty($_POST['show_help']);
|
||||
$dbclean = !empty($_POST['dbclean']);
|
||||
|
@ -152,49 +151,10 @@ class Site extends BaseAdmin
|
|||
Worker::add(Worker::PRIORITY_LOW, 'Directory');
|
||||
}
|
||||
|
||||
if (DI::baseUrl()->getUrlPath() != "") {
|
||||
if (DI::baseUrl()->getPath() != "") {
|
||||
$diaspora_enabled = false;
|
||||
}
|
||||
if ($ssl_policy != intval(DI::config()->get('system', 'ssl_policy'))) {
|
||||
if ($ssl_policy == App\BaseURL::SSL_POLICY_FULL) {
|
||||
DBA::e("UPDATE `contact` SET
|
||||
`url` = REPLACE(`url` , 'http:' , 'https:'),
|
||||
`photo` = REPLACE(`photo` , 'http:' , 'https:'),
|
||||
`thumb` = REPLACE(`thumb` , 'http:' , 'https:'),
|
||||
`micro` = REPLACE(`micro` , 'http:' , 'https:'),
|
||||
`request` = REPLACE(`request`, 'http:' , 'https:'),
|
||||
`notify` = REPLACE(`notify` , 'http:' , 'https:'),
|
||||
`poll` = REPLACE(`poll` , 'http:' , 'https:'),
|
||||
`confirm` = REPLACE(`confirm`, 'http:' , 'https:'),
|
||||
`poco` = REPLACE(`poco` , 'http:' , 'https:')
|
||||
WHERE `self` = 1"
|
||||
);
|
||||
DBA::e("UPDATE `profile` SET
|
||||
`photo` = REPLACE(`photo` , 'http:' , 'https:'),
|
||||
`thumb` = REPLACE(`thumb` , 'http:' , 'https:')
|
||||
WHERE 1 "
|
||||
);
|
||||
} elseif ($ssl_policy == App\BaseURL::SSL_POLICY_SELFSIGN) {
|
||||
DBA::e("UPDATE `contact` SET
|
||||
`url` = REPLACE(`url` , 'https:' , 'http:'),
|
||||
`photo` = REPLACE(`photo` , 'https:' , 'http:'),
|
||||
`thumb` = REPLACE(`thumb` , 'https:' , 'http:'),
|
||||
`micro` = REPLACE(`micro` , 'https:' , 'http:'),
|
||||
`request` = REPLACE(`request`, 'https:' , 'http:'),
|
||||
`notify` = REPLACE(`notify` , 'https:' , 'http:'),
|
||||
`poll` = REPLACE(`poll` , 'https:' , 'http:'),
|
||||
`confirm` = REPLACE(`confirm`, 'https:' , 'http:'),
|
||||
`poco` = REPLACE(`poco` , 'https:' , 'http:')
|
||||
WHERE `self` = 1"
|
||||
);
|
||||
DBA::e("UPDATE `profile` SET
|
||||
`photo` = REPLACE(`photo` , 'https:' , 'http:'),
|
||||
`thumb` = REPLACE(`thumb` , 'https:' , 'http:')
|
||||
WHERE 1 "
|
||||
);
|
||||
}
|
||||
}
|
||||
$transactionConfig->set('system', 'ssl_policy' , $ssl_policy);
|
||||
|
||||
$transactionConfig->set('system', 'maxloadavg' , $maxloadavg);
|
||||
$transactionConfig->set('system', 'min_memory' , $min_memory);
|
||||
$transactionConfig->set('system', 'optimize_tables' , $optimize_tables);
|
||||
|
@ -408,12 +368,6 @@ class Site extends BaseAdmin
|
|||
Register::OPEN => DI::l10n()->t('Open')
|
||||
];
|
||||
|
||||
$ssl_choices = [
|
||||
App\BaseURL::SSL_POLICY_NONE => DI::l10n()->t('No SSL policy, links will track page SSL state'),
|
||||
App\BaseURL::SSL_POLICY_FULL => DI::l10n()->t('Force all links to use SSL'),
|
||||
App\BaseURL::SSL_POLICY_SELFSIGN => DI::l10n()->t('Self-signed certificate, use SSL for local links only (discouraged)')
|
||||
];
|
||||
|
||||
$check_git_version_choices = [
|
||||
'none' => DI::l10n()->t('Don\'t check'),
|
||||
'stable' => DI::l10n()->t('check the stable version'),
|
||||
|
@ -428,7 +382,7 @@ class Site extends BaseAdmin
|
|||
// ContactRelation::DISCOVERY_ALL => DI::l10n()->t('All'),
|
||||
];
|
||||
|
||||
$diaspora_able = (DI::baseUrl()->getUrlPath() == '');
|
||||
$diaspora_able = (DI::baseUrl()->getPath() == '');
|
||||
|
||||
$t = Renderer::getMarkupTemplate('admin/site.tpl');
|
||||
return Renderer::replaceMacros($t, [
|
||||
|
@ -452,7 +406,6 @@ class Site extends BaseAdmin
|
|||
'$relocate' => DI::l10n()->t('Relocate Node'),
|
||||
'$relocate_msg' => DI::l10n()->t('Relocating your node enables you to change the DNS domain of this node and keep all the existing users and posts. This process takes a while and can only be started from the relocate console command like this:'),
|
||||
'$relocate_cmd' => DI::l10n()->t('(Friendica directory)# bin/console relocate https://newdomain.com'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
|
||||
// name, label, value, help string, extra data...
|
||||
'$sitename' => ['sitename', DI::l10n()->t('Site name'), DI::config()->get('config', 'sitename'), ''],
|
||||
|
@ -464,9 +417,8 @@ class Site extends BaseAdmin
|
|||
'$touch_icon' => ['touch_icon', DI::l10n()->t('Touch icon'), DI::config()->get('system', 'touch_icon'), DI::l10n()->t('Link to an icon that will be used for tablets and mobiles.')],
|
||||
'$additional_info' => ['additional_info', DI::l10n()->t('Additional Info'), $additional_info, DI::l10n()->t('For public servers: you can add additional information here that will be listed at %s/servers.', Search::getGlobalDirectory())],
|
||||
'$language' => ['language', DI::l10n()->t('System language'), DI::config()->get('system', 'language'), '', $lang_choices],
|
||||
'$theme' => ['theme', DI::l10n()->t('System theme'), DI::config()->get('system', 'theme'), DI::l10n()->t('Default system theme - may be over-ridden by user profiles - <a href="%s" id="cnftheme">Change default theme settings</a>', DI::baseUrl()->get(true) . '/admin/themes'), $theme_choices],
|
||||
'$theme' => ['theme', DI::l10n()->t('System theme'), DI::config()->get('system', 'theme'), DI::l10n()->t('Default system theme - may be over-ridden by user profiles - <a href="%s" id="cnftheme">Change default theme settings</a>', DI::baseUrl() . '/admin/themes'), $theme_choices],
|
||||
'$theme_mobile' => ['theme_mobile', DI::l10n()->t('Mobile system theme'), DI::config()->get('system', 'mobile-theme', '---'), DI::l10n()->t('Theme for mobile devices'), $theme_choices_mobile],
|
||||
'$ssl_policy' => ['ssl_policy', DI::l10n()->t('SSL link policy'), DI::config()->get('system', 'ssl_policy'), DI::l10n()->t('Determines whether generated links should be forced to use SSL'), $ssl_choices],
|
||||
'$force_ssl' => ['force_ssl', DI::l10n()->t('Force SSL'), DI::config()->get('system', 'force_ssl'), DI::l10n()->t('Force all Non-SSL requests to SSL - Attention: on some systems it could lead to endless loops.')],
|
||||
'$show_help' => ['show_help', DI::l10n()->t('Show help entry from navigation menu'), !DI::config()->get('system', 'hide_help'), DI::l10n()->t('Displays the menu entry for the Help pages from the navigation menu. It is always accessible by calling /help directly.')],
|
||||
'$singleuser' => ['singleuser', DI::l10n()->t('Single user instance'), DI::config()->get('system', 'singleuser', '---'), DI::l10n()->t('Make this instance multi-user or single-user for the named user'), $user_names],
|
||||
|
|
|
@ -144,7 +144,6 @@ class Storage extends BaseAdmin
|
|||
'$use' => DI::l10n()->t('Use storage backend'),
|
||||
'$save_reload' => DI::l10n()->t('Save & Reload'),
|
||||
'$noconfig' => DI::l10n()->t('This backend doesn\'t have custom settings'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$form_security_token' => self::getFormSecurityToken("admin_storage"),
|
||||
'$storagebackend' => $current_storage_backend instanceof ICanWriteToStorage ? $current_storage_backend::getName() : DI::l10n()->t('Database (legacy)'),
|
||||
'$availablestorageforms' => $available_storage_forms,
|
||||
|
|
|
@ -98,6 +98,10 @@ class Summary extends BaseAdmin
|
|||
$warningtext[] = DI::l10n()->t('The last update failed. Please run "php bin/console.php dbstructure update" from the command line and have a look at the errors that might appear. (Some of the errors are possibly inside the logfile.)');
|
||||
}
|
||||
|
||||
if (empty(DI::config()->get('system', 'url'))) {
|
||||
$warningtext[] = DI::l10n()->t('The system.url entry is missing. This is a low level setting and can lead to unexpected behavior. Please add a valid entry as soon as possible in the config file or per console command!');
|
||||
}
|
||||
|
||||
$last_worker_call = DI::keyValue()->get('last_worker_execution');
|
||||
if (!$last_worker_call) {
|
||||
$warningtext[] = DI::l10n()->t('The worker was never executed. Please check your database structure!');
|
||||
|
@ -107,18 +111,18 @@ class Summary extends BaseAdmin
|
|||
|
||||
// Legacy config file warning
|
||||
if (file_exists('.htconfig.php')) {
|
||||
$warningtext[] = DI::l10n()->t('Friendica\'s configuration now is stored in config/local.config.php, please copy config/local-sample.config.php and move your config from <code>.htconfig.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', DI::baseUrl()->get() . '/help/Config');
|
||||
$warningtext[] = DI::l10n()->t('Friendica\'s configuration now is stored in config/local.config.php, please copy config/local-sample.config.php and move your config from <code>.htconfig.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', DI::baseUrl() . '/help/Config');
|
||||
}
|
||||
|
||||
if (file_exists('config/local.ini.php')) {
|
||||
$warningtext[] = DI::l10n()->t('Friendica\'s configuration now is stored in config/local.config.php, please copy config/local-sample.config.php and move your config from <code>config/local.ini.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', DI::baseUrl()->get() . '/help/Config');
|
||||
$warningtext[] = DI::l10n()->t('Friendica\'s configuration now is stored in config/local.config.php, please copy config/local-sample.config.php and move your config from <code>config/local.ini.php</code>. See <a href="%s">the Config help page</a> for help with the transition.', DI::baseUrl() . '/help/Config');
|
||||
}
|
||||
|
||||
// Check server vitality
|
||||
if (!self::checkSelfHostMeta()) {
|
||||
$well_known = DI::baseUrl()->get() . Probe::HOST_META;
|
||||
$well_known = DI::baseUrl() . Probe::HOST_META;
|
||||
$warningtext[] = DI::l10n()->t('<a href="%s">%s</a> is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See <a href="%s">the installation page</a> for help.',
|
||||
$well_known, $well_known, DI::baseUrl()->get() . '/help/Install');
|
||||
$well_known, $well_known, DI::baseUrl() . '/help/Install');
|
||||
}
|
||||
|
||||
// Check logfile permission
|
||||
|
@ -229,7 +233,7 @@ class Summary extends BaseAdmin
|
|||
private static function checkSelfHostMeta()
|
||||
{
|
||||
// Fetch the host-meta to check if this really is a vital server
|
||||
return DI::httpClient()->get(DI::baseUrl()->get() . Probe::HOST_META, HttpClientAccept::XRD_XML)->isSuccess();
|
||||
return DI::httpClient()->get(DI::baseUrl() . Probe::HOST_META, HttpClientAccept::XRD_XML)->isSuccess();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ class Details extends BaseAdmin
|
|||
require_once "view/theme/$theme/config.php";
|
||||
|
||||
if (function_exists('theme_admin')) {
|
||||
$admin_form = '<iframe onload="resizeIframe(this);" src="' . DI::baseUrl()->get(true) . '/admin/themes/' . $theme . '/embed?mode=minimal" width="100%" height="600px" frameborder="no"></iframe>';
|
||||
$admin_form = '<iframe onload="resizeIframe(this);" src="' . DI::baseUrl() . '/admin/themes/' . $theme . '/embed?mode=minimal" width="100%" height="600px" frameborder="no"></iframe>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,6 @@ class Details extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Themes'),
|
||||
'$toggle' => DI::l10n()->t('Toggle'),
|
||||
'$settings' => DI::l10n()->t('Settings'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$addon' => $theme,
|
||||
'$status' => $status,
|
||||
'$action' => $action,
|
||||
|
|
|
@ -95,7 +95,7 @@ class Embed extends BaseAdmin
|
|||
|
||||
$t = Renderer::getMarkupTemplate('admin/addons/embed.tpl');
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$action' => DI::baseUrl()->get(true) . '/admin/themes/' . $theme . '/embed?mode=minimal',
|
||||
'$action' => 'admin/themes/' . $theme . '/embed?mode=minimal',
|
||||
'$form' => $admin_form,
|
||||
'$form_security_token' => self::getFormSecurityToken("admin_theme_settings"),
|
||||
]);
|
||||
|
|
|
@ -112,7 +112,6 @@ class Index extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Themes'),
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$reload' => DI::l10n()->t('Reload active themes'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$function' => 'themes',
|
||||
'$addons' => $addons,
|
||||
'$pcount' => count($themes),
|
||||
|
|
|
@ -37,9 +37,9 @@ class Config extends BaseApi
|
|||
$config = [
|
||||
'site' => [
|
||||
'name' => DI::config()->get('config', 'sitename'),
|
||||
'server' => DI::baseUrl()->getHostname(),
|
||||
'server' => DI::baseUrl()->getHost(),
|
||||
'theme' => DI::config()->get('system', 'theme'),
|
||||
'path' => DI::baseUrl()->getUrlPath(),
|
||||
'path' => DI::baseUrl()->getPath(),
|
||||
'logo' => DI::baseUrl() . '/images/friendica-64.png',
|
||||
'fancy' => true,
|
||||
'language' => DI::config()->get('system', 'language'),
|
||||
|
@ -52,7 +52,7 @@ class Config extends BaseApi
|
|||
'private' => (bool)DI::config()->get('system', 'block_public'),
|
||||
'textlimit' => (string) DI::config()->get('config', 'api_import_size', DI::config()->get('config', 'max_import_size')),
|
||||
'sslserver' => null,
|
||||
'ssl' => DI::config()->get('system', 'ssl_policy') == App\BaseURL::SSL_POLICY_FULL ? 'always' : '0',
|
||||
'ssl' => DI::baseUrl()->getScheme() === 'https' ? 'always' : '0',
|
||||
'friendica' => [
|
||||
'FRIENDICA_PLATFORM' => App::PLATFORM,
|
||||
'FRIENDICA_VERSION' => App::VERSION,
|
||||
|
|
|
@ -107,6 +107,7 @@ class Statuses extends BaseApi
|
|||
'visibility' => '', // Visibility of the posted status. One of: "public", "unlisted", "private" or "direct".
|
||||
'scheduled_at' => '', // ISO 8601 Datetime at which to schedule a status. Providing this paramter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future.
|
||||
'language' => '', // ISO 639 language code for this status.
|
||||
'friendica' => [], // Friendica extensions to the standard Mastodon API spec
|
||||
], $request);
|
||||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
|
@ -208,8 +209,10 @@ class Statuses extends BaseApi
|
|||
$item['quote-uri-id'] = $request['quote_id'];
|
||||
}
|
||||
|
||||
$item['title'] = $request['friendica']['title'] ?? '';
|
||||
|
||||
if (!empty($request['spoiler_text'])) {
|
||||
if (!$request['in_reply_to_id'] && DI::pConfig()->get($uid, 'system', 'api_spoiler_title', true)) {
|
||||
if (!isset($request['friendica']['title']) && !$request['in_reply_to_id'] && DI::pConfig()->get($uid, 'system', 'api_spoiler_title', true)) {
|
||||
$item['title'] = $request['spoiler_text'];
|
||||
} else {
|
||||
$item['body'] = '[abstract=' . Protocol::ACTIVITYPUB . ']' . $request['spoiler_text'] . "[/abstract]\n" . $item['body'];
|
||||
|
|
|
@ -65,6 +65,13 @@ class Direct extends BaseApi
|
|||
$params['order'] = ['uri-id'];
|
||||
}
|
||||
|
||||
if (!empty($uid)) {
|
||||
$condition = DBA::mergeConditions(
|
||||
$condition,
|
||||
["NOT `parent-author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`) AND `cid` = `parent-author-id`)", $uid]
|
||||
);
|
||||
}
|
||||
|
||||
$mails = DBA::select('mail', ['id', 'uri-id'], $condition, $params);
|
||||
|
||||
$statuses = [];
|
||||
|
|
|
@ -90,11 +90,6 @@ class PublicTimeline extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ['gravity' => Item::GRAVITY_PARENT]);
|
||||
}
|
||||
|
||||
if (!empty($uid)) {
|
||||
$condition = DBA::mergeConditions($condition,
|
||||
["NOT `parent-author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`) AND `cid` = `parent-author-id`)", $uid]);
|
||||
}
|
||||
|
||||
$items = Post::selectPostsForUser($uid, ['uri-id'], $condition, $params);
|
||||
|
||||
$display_quotes = self::appSupportsQuotes();
|
||||
|
|
|
@ -104,6 +104,13 @@ class Tag extends BaseApi
|
|||
$params['order'] = ['uri-id'];
|
||||
}
|
||||
|
||||
if (!empty($uid)) {
|
||||
$condition = DBA::mergeConditions(
|
||||
$condition,
|
||||
["NOT `parent-author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`) AND `cid` = `parent-author-id`)", $uid]
|
||||
);
|
||||
}
|
||||
|
||||
$items = DBA::select('tag-search-view', ['uri-id'], $condition, $params);
|
||||
|
||||
$display_quotes = self::appSupportsQuotes();
|
||||
|
|
|
@ -41,6 +41,7 @@ class Links extends BaseApi
|
|||
{
|
||||
$request = $this->getRequest([
|
||||
'limit' => 10, // Maximum number of results to return. Defaults to 10.
|
||||
'offset' => 0, // Offset in set, Defaults to 0.
|
||||
], $request);
|
||||
|
||||
$condition = ["EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-thread-view`.`uri-id` AND `type` = ? AND NOT `name` IS NULL AND NOT `description` IS NULL) AND NOT `private` AND `commented` > ? AND `created` > ?",
|
||||
|
@ -48,13 +49,17 @@ class Links extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ['network' => Protocol::FEDERATED]);
|
||||
|
||||
$trending = [];
|
||||
$statuses = Post::selectPostThread(['uri-id', 'total-comments', 'total-actors'], $condition, ['limit' => $request['limit'], 'order' => ['total-actors' => true]]);
|
||||
$statuses = Post::selectPostThread(['uri-id', 'total-comments', 'total-actors'], $condition, ['limit' => [$request['offset'], $request['limit']], 'offset' => $request['offset'], 'order' => ['total-actors' => true]]);
|
||||
while ($status = Post::fetch($statuses)) {
|
||||
$history = [['day' => (string)time(), 'uses' => (string)$status['total-comments'], 'accounts' => (string)$status['total-actors']]];
|
||||
$trending[] = DI::mstdnCard()->createFromUriId($status['uri-id'], $history)->toArray();
|
||||
}
|
||||
DBA::close($statuses);
|
||||
|
||||
if (!empty($trending)) {
|
||||
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
|
||||
}
|
||||
|
||||
System::jsonExit($trending);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ class Statuses extends BaseApi
|
|||
|
||||
$request = $this->getRequest([
|
||||
'limit' => 10, // Maximum number of results to return. Defaults to 10.
|
||||
'offset' => 0, // Offset in set, Defaults to 0.
|
||||
], $request);
|
||||
|
||||
$condition = ["NOT `private` AND `commented` > ? AND `created` > ?", DateTimeFormat::utc('now -1 day'), DateTimeFormat::utc('now -1 week')];
|
||||
|
@ -52,7 +53,7 @@ class Statuses extends BaseApi
|
|||
$display_quotes = self::appSupportsQuotes();
|
||||
|
||||
$trending = [];
|
||||
$statuses = Post::selectPostThread(['uri-id'], $condition, ['limit' => $request['limit'], 'order' => ['total-actors' => true]]);
|
||||
$statuses = Post::selectPostThread(['uri-id'], $condition, ['limit' => [$request['offset'], $request['limit']], 'order' => ['total-actors' => true]]);
|
||||
while ($status = Post::fetch($statuses)) {
|
||||
try {
|
||||
$trending[] = DI::mstdnStatus()->createFromUriId($status['uri-id'], $uid, $display_quotes);
|
||||
|
@ -62,6 +63,10 @@ class Statuses extends BaseApi
|
|||
}
|
||||
DBA::close($statuses);
|
||||
|
||||
if (!empty($trending)) {
|
||||
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
|
||||
}
|
||||
|
||||
System::jsonExit($trending);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,11 +37,18 @@ class Tags extends BaseApi
|
|||
protected function rawContent(array $request = [])
|
||||
{
|
||||
$request = $this->getRequest([
|
||||
'limit' => 20, // Maximum number of results to return. Defaults to 10.
|
||||
'limit' => 20, // Maximum number of results to return. Defaults to 20.
|
||||
'offset' => 0, // Offset in set. Defaults to 0.
|
||||
'friendica_local' => false, // Whether to return local tag trends instead of global, defaults to false
|
||||
], $request);
|
||||
|
||||
$trending = [];
|
||||
$tags = Tag::getGlobalTrendingHashtags(24, 20);
|
||||
if ($request['friendica_local']) {
|
||||
$tags = Tag::getLocalTrendingHashtags(24, $request['limit'], $request['offset']);
|
||||
} else {
|
||||
$tags = Tag::getGlobalTrendingHashtags(24, $request['limit'], $request['offset']);
|
||||
}
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
$tag['name'] = $tag['term'];
|
||||
$history = [['day' => (string)time(), 'uses' => (string)$tag['score'], 'accounts' => (string)$tag['authors']]];
|
||||
|
@ -49,6 +56,10 @@ class Tags extends BaseApi
|
|||
$trending[] = $hashtag->toArray();
|
||||
}
|
||||
|
||||
System::jsonExit(array_slice($trending, 0, $request['limit']));
|
||||
if (!empty($trending)) {
|
||||
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
|
||||
}
|
||||
|
||||
System::jsonExit($trending);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ abstract class ContactEndpoint extends BaseApi
|
|||
if (!$screen_name) {
|
||||
$contact = Contact::getById($contact_id, ['nick', 'url']);
|
||||
// We don't have the followers of remote accounts so we check for locality
|
||||
if (empty($contact) || !Strings::startsWith($contact['url'], DI::baseUrl()->get())) {
|
||||
if (empty($contact) || !Strings::startsWith($contact['url'], DI::baseUrl())) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Contact not found'));
|
||||
}
|
||||
|
||||
|
|
|
@ -168,6 +168,34 @@ class BaseApi extends BaseModule
|
|||
return 'Link: <' . $next . '>; rel="next", <' . $prev . '>; rel="prev"';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the "link" header with "next" and "prev" links for an offset/limit type call
|
||||
* @return string
|
||||
*/
|
||||
protected static function getOffsetAndLimitLinkHeader(int $offset, int $limit): string
|
||||
{
|
||||
$request = self::$request;
|
||||
|
||||
unset($request['offset']);
|
||||
$request['limit'] = $limit;
|
||||
|
||||
$prev_request = $next_request = $request;
|
||||
|
||||
$prev_request['offset'] = $offset - $limit;
|
||||
$next_request['offset'] = $offset + $limit;
|
||||
|
||||
$command = DI::baseUrl() . '/' . DI::args()->getCommand();
|
||||
|
||||
$prev = $command . '?' . http_build_query($prev_request);
|
||||
$next = $command . '?' . http_build_query($next_request);
|
||||
|
||||
if ($prev_request['offset'] >= 0) {
|
||||
return 'Link: <' . $next . '>; rel="next", <' . $prev . '>; rel="prev"';
|
||||
} else {
|
||||
return 'Link: <' . $next . '>; rel="next"';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the "link" header with "next" and "prev" links
|
||||
* @return void
|
||||
|
@ -180,6 +208,18 @@ class BaseApi extends BaseModule
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the "link" header with "next" and "prev" links
|
||||
* @return void
|
||||
*/
|
||||
protected static function setLinkHeaderByOffsetLimit(int $offset, int $limit)
|
||||
{
|
||||
$header = self::getOffsetAndLimitLinkHeader($offset, $limit);
|
||||
if (!empty($header)) {
|
||||
header($header);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the app is known to support quoted posts
|
||||
*
|
||||
|
|
|
@ -59,7 +59,7 @@ class Download extends \Friendica\BaseModule
|
|||
|
||||
header('Content-Type: text/csv');
|
||||
header('Content-Transfer-Encoding: Binary');
|
||||
header('Content-disposition: attachment; filename="' . $this->baseUrl->getHostname() . '_domain_blocklist_' . substr($hash, 0, 6) . '.csv"');
|
||||
header('Content-disposition: attachment; filename="' . $this->baseUrl->getHost() . '_domain_blocklist_' . substr($hash, 0, 6) . '.csv"');
|
||||
header("Etag: $etag");
|
||||
|
||||
$this->blocklist->exportToFile('php://output');
|
||||
|
|
|
@ -47,7 +47,7 @@ class Bookmarklet extends BaseModule
|
|||
}
|
||||
|
||||
$referer = Strings::normaliseLink($_SERVER['HTTP_REFERER'] ?? '');
|
||||
$page = Strings::normaliseLink(DI::baseUrl()->get() . "/bookmarklet");
|
||||
$page = Strings::normaliseLink(DI::baseUrl() . "/bookmarklet");
|
||||
|
||||
if (!strstr($referer, $page)) {
|
||||
if (empty($_REQUEST["url"])) {
|
||||
|
|
|
@ -220,7 +220,6 @@ class Contact extends BaseModule
|
|||
|
||||
$tpl = Renderer::getMarkupTemplate('contacts-head.tpl');
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
]);
|
||||
|
||||
$o = '';
|
||||
|
|
|
@ -236,7 +236,6 @@ class Profile extends BaseModule
|
|||
$_SESSION['return_path'] = $this->args->getQueryString();
|
||||
|
||||
$this->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_head.tpl'), [
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
]);
|
||||
|
||||
switch ($localRelationship->rel) {
|
||||
|
|
|
@ -166,7 +166,7 @@ class Redir extends \Friendica\BaseModule
|
|||
}
|
||||
|
||||
if ($this->session->getRemoteUserId()) {
|
||||
$host = substr($this->baseUrl->getUrlPath() . ($this->baseUrl->getUrlPath() ? '/' . $this->baseUrl->getUrlPath() : ''), strpos($this->baseUrl->getUrlPath(), '://') + 3);
|
||||
$host = substr($this->baseUrl->getPath() . ($this->baseUrl->getPath() ? '/' . $this->baseUrl->getPath() : ''), strpos($this->baseUrl->getPath(), '://') + 3);
|
||||
$remotehost = substr($contact['addr'], strpos($contact['addr'], '@') + 1);
|
||||
|
||||
// On a local instance we have to check if the local user has already authenticated
|
||||
|
|
|
@ -58,7 +58,7 @@ class Localtime extends BaseModule
|
|||
$output .= '<p>' . DI::l10n()->t('Converted localtime: %s', self::$mod_localtime) . '</p>';
|
||||
}
|
||||
|
||||
$output .= '<form action ="' . DI::baseUrl()->get() . '/localtime?time=' . $time . '" method="post" >';
|
||||
$output .= '<form action ="localtime?time=' . $time . '" method="post">';
|
||||
$output .= '<p>' . DI::l10n()->t('Please select your timezone:') . '</p>';
|
||||
$output .= Temporal::getTimezoneSelect(($_REQUEST['timezone'] ?? '') ?: Installer::DEFAULT_TZ);
|
||||
$output .= '<input type="submit" name="submit" value="' . DI::l10n()->t('Submit') . '" /></form>';
|
||||
|
|
|
@ -61,7 +61,7 @@ class Fetch extends BaseModule
|
|||
}
|
||||
$host = $parts["scheme"] . "://" . $parts["host"];
|
||||
|
||||
if (Strings::normaliseLink($host) != Strings::normaliseLink(DI::baseUrl()->get())) {
|
||||
if (Strings::normaliseLink($host) != Strings::normaliseLink(DI::baseUrl())) {
|
||||
$location = $host . "/fetch/" . DI::args()->getArgv()[1] . "/" . urlencode($guid);
|
||||
System::externalRedirect($location, 301);
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ class Friendica extends BaseModule
|
|||
}
|
||||
|
||||
$tos = ($config->get('system', 'tosdisplay')) ?
|
||||
DI::l10n()->t('Read about the <a href="%1$s/tos">Terms of Service</a> of this node.', DI::baseUrl()->get()) :
|
||||
DI::l10n()->t('Read about the <a href="%1$s/tos">Terms of Service</a> of this node.', DI::baseUrl()) :
|
||||
'';
|
||||
|
||||
$blockList = $config->get('system', 'blocklist');
|
||||
|
@ -99,7 +99,7 @@ class Friendica extends BaseModule
|
|||
return Renderer::replaceMacros($tpl, [
|
||||
'about' => DI::l10n()->t('This is Friendica, version %s that is running at the web location %s. The database version is %s, the post update version is %s.',
|
||||
'<strong>' . App::VERSION . '</strong>',
|
||||
DI::baseUrl()->get(),
|
||||
DI::baseUrl(),
|
||||
'<strong>' . $config->get('system', 'build') . '/' . DB_UPDATE_VERSION . '</strong>',
|
||||
'<strong>' . $keyValue->get('post_update_version') . '/' . PostUpdate::VERSION . '</strong>'),
|
||||
'friendica' => DI::l10n()->t('Please visit <a href="https://friendi.ca">Friendi.ca</a> to learn more about the Friendica project.'),
|
||||
|
@ -151,7 +151,7 @@ class Friendica extends BaseModule
|
|||
if (!empty($administrator)) {
|
||||
$admin = [
|
||||
'name' => $administrator['username'],
|
||||
'profile' => DI::baseUrl()->get() . '/profile/' . $administrator['nickname'],
|
||||
'profile' => DI::baseUrl() . '/profile/' . $administrator['nickname'],
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -172,7 +172,7 @@ class Friendica extends BaseModule
|
|||
|
||||
$data = [
|
||||
'version' => App::VERSION,
|
||||
'url' => DI::baseUrl()->get(),
|
||||
'url' => DI::baseUrl(),
|
||||
'addons' => $visible_addons,
|
||||
'locked_features' => $locked_features,
|
||||
'explicit_content' => intval($config->get('system', 'explicit_content', 0)),
|
||||
|
@ -182,7 +182,7 @@ class Friendica extends BaseModule
|
|||
'site_name' => $config->get('config', 'sitename'),
|
||||
'platform' => strtolower(App::PLATFORM),
|
||||
'info' => $config->get('config', 'info'),
|
||||
'no_scrape_url' => DI::baseUrl()->get() . '/noscrape',
|
||||
'no_scrape_url' => DI::baseUrl() . '/noscrape',
|
||||
];
|
||||
|
||||
System::jsonExit($data);
|
||||
|
|
|
@ -66,15 +66,15 @@ class HCard extends BaseModule
|
|||
|
||||
$baseUrl = DI::baseUrl();
|
||||
|
||||
$uri = urlencode('acct:' . $profile['nickname'] . '@' . $baseUrl->getHostname() . ($baseUrl->getUrlPath() ? '/' . $baseUrl->getUrlPath() : ''));
|
||||
$uri = urlencode('acct:' . $profile['nickname'] . '@' . $baseUrl->getHost() . ($baseUrl->getPath() ? '/' . $baseUrl->getPath() : ''));
|
||||
|
||||
$page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . ($profile['net-publish'] ? 'true' : 'false') . '" />' . "\r\n";
|
||||
$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $baseUrl->get() . '/dfrn_poll/' . $nickname . '" />' . "\r\n";
|
||||
$page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $baseUrl->get() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
|
||||
header('Link: <' . $baseUrl->get() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $baseUrl . '/dfrn_poll/' . $nickname . '" />' . "\r\n";
|
||||
$page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $baseUrl . '/xrd/?uri=' . $uri . '" />' . "\r\n";
|
||||
header('Link: <' . $baseUrl . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
|
||||
foreach (['request', 'confirm', 'notify', 'poll'] as $dfrn) {
|
||||
$page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"" . $baseUrl->get() . "/dfrn_{$dfrn}/{$nickname}\" />\r\n";
|
||||
$page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"" . $baseUrl . "/dfrn_{$dfrn}/{$nickname}\" />\r\n";
|
||||
}
|
||||
|
||||
$block = (DI::config()->get('system', 'block_public') && !DI::userSession()->isAuthenticated());
|
||||
|
|
|
@ -102,7 +102,7 @@ class Help extends BaseModule
|
|||
|
||||
$idNum[$level] ++;
|
||||
|
||||
$href = DI::baseUrl()->get() . "/help/{$filename}#{$anchor}";
|
||||
$href = "help/{$filename}#{$anchor}";
|
||||
$toc .= "<li><a href=\"{$href}\">" . strip_tags($line) . "</a></li>";
|
||||
$id = implode("_", array_slice($idNum, 1, $level));
|
||||
$line = "<a name=\"{$id}\"></a>" . $line;
|
||||
|
|
|
@ -69,7 +69,7 @@ class Home extends BaseModule
|
|||
$customHome = $homeFilePath;
|
||||
|
||||
if (file_exists($cssFilePath)) {
|
||||
DI::page()['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . DI::baseUrl()->get() . '/home.css' . '" media="all" />';
|
||||
DI::page()->registerStylesheet('home.css', 'all');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ use Friendica\Util\BasePath;
|
|||
use Friendica\Util\Profiler;
|
||||
use Friendica\Util\Temporal;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use GuzzleHttp\Psr7\Uri;
|
||||
|
||||
class Install extends BaseModule
|
||||
{
|
||||
|
@ -73,7 +74,7 @@ class Install extends BaseModule
|
|||
/** @var App\Mode */
|
||||
protected $mode;
|
||||
|
||||
public function __construct(App $app, App\Mode $mode, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, Core\Installer $installer, array $server, array $parameters = [])
|
||||
public function __construct(App $app, BasePath $basePath, App\Mode $mode, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, Core\Installer $installer, array $server, array $parameters = [])
|
||||
{
|
||||
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||
|
||||
|
@ -94,12 +95,11 @@ class Install extends BaseModule
|
|||
|
||||
// get basic installation information and save them to the config cache
|
||||
$configCache = $this->app->getConfigCache();
|
||||
$basePath = new BasePath($this->app->getBasePath());
|
||||
$this->installer->setUpCache($configCache, $basePath->getPath());
|
||||
|
||||
// We overwrite current theme css, because during install we may not have a working mod_rewrite
|
||||
// so we may not have a css at all. Here we set a static css file for the install procedure pages
|
||||
Renderer::$theme['stylesheet'] = $this->baseUrl->get() . '/view/install/style.css';
|
||||
Renderer::$theme['stylesheet'] = $this->baseUrl . '/view/install/style.css';
|
||||
|
||||
$this->currentWizardStep = ($_POST['pass'] ?? '') ?: self::SYSTEM_CHECK;
|
||||
}
|
||||
|
@ -117,19 +117,15 @@ class Install extends BaseModule
|
|||
case self::DATABASE_CONFIG:
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'php_path');
|
||||
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'hostname');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'ssl_policy');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'basepath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'urlpath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'url');
|
||||
break;
|
||||
|
||||
case self::SITE_SETTINGS:
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'php_path');
|
||||
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'hostname');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'ssl_policy');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'basepath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'urlpath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'url');
|
||||
|
||||
$this->checkSetting($configCache, $_POST, 'database', 'hostname', Core\Installer::DEFAULT_HOST);
|
||||
$this->checkSetting($configCache, $_POST, 'database', 'username', '');
|
||||
|
@ -146,10 +142,8 @@ class Install extends BaseModule
|
|||
case self::FINISHED:
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'php_path');
|
||||
|
||||
$this->checkSetting($configCache, $_POST, 'config', 'hostname');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'ssl_policy');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'basepath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'urlpath');
|
||||
$this->checkSetting($configCache, $_POST, 'system', 'url');
|
||||
|
||||
$this->checkSetting($configCache, $_POST, 'database', 'hostname', Core\Installer::DEFAULT_HOST);
|
||||
$this->checkSetting($configCache, $_POST, 'database', 'username', '');
|
||||
|
@ -198,9 +192,9 @@ class Install extends BaseModule
|
|||
case self::SYSTEM_CHECK:
|
||||
$php_path = $configCache->get('config', 'php_path');
|
||||
|
||||
$status = $this->installer->checkEnvironment($this->baseUrl->get(), $php_path);
|
||||
$status = $this->installer->checkEnvironment($this->baseUrl, $php_path);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('install_checks.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('install/01_checks.tpl');
|
||||
$output .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => $install_title,
|
||||
'$pass' => $this->t('System check'),
|
||||
|
@ -218,43 +212,31 @@ class Install extends BaseModule
|
|||
break;
|
||||
|
||||
case self::BASE_CONFIG:
|
||||
$ssl_choices = [
|
||||
App\BaseURL::SSL_POLICY_NONE => $this->t("No SSL policy, links will track page SSL state"),
|
||||
App\BaseURL::SSL_POLICY_FULL => $this->t("Force all links to use SSL"),
|
||||
App\BaseURL::SSL_POLICY_SELFSIGN => $this->t("Self-signed certificate, use SSL for local links only \x28discouraged\x29")
|
||||
];
|
||||
$baseUrl = $configCache->get('system', 'url') ?
|
||||
new Uri($configCache->get('system', 'url')) :
|
||||
$this->baseUrl;
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('install_base.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('install/02_base_config.tpl');
|
||||
$output .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => $install_title,
|
||||
'$pass' => $this->t('Base settings'),
|
||||
'$ssl_policy' => ['system-ssl_policy',
|
||||
$this->t("SSL link policy"),
|
||||
$configCache->get('system', 'ssl_policy'),
|
||||
$this->t("Determines whether generated links should be forced to use SSL"),
|
||||
$ssl_choices],
|
||||
'$hostname' => ['config-hostname',
|
||||
$this->t('Host name'),
|
||||
$configCache->get('config', 'hostname'),
|
||||
$this->t('Overwrite this field in case the determinated hostname isn\'t right, otherweise leave it as is.'),
|
||||
$this->t('Required')],
|
||||
'$basepath' => ['system-basepath',
|
||||
$this->t("Base path to installation"),
|
||||
$configCache->get('system', 'basepath'),
|
||||
$this->t("If the system cannot detect the correct path to your installation, enter the correct path here. This setting should only be set if you are using a restricted system and symbolic links to your webroot."),
|
||||
$this->t('Required')],
|
||||
'$urlpath' => ['system-urlpath',
|
||||
$this->t('Sub path of the URL'),
|
||||
$configCache->get('system', 'urlpath'),
|
||||
$this->t('Overwrite this field in case the sub path determination isn\'t right, otherwise leave it as is. Leaving this field blank means the installation is at the base URL without sub path.'),
|
||||
''],
|
||||
'$system_url' => ['system-url',
|
||||
$this->t('The Friendica system URL'),
|
||||
(string)$baseUrl,
|
||||
$this->t("Overwrite this field in case the system URL determination isn't right, otherwise leave it as is."),
|
||||
$this->t('Required')],
|
||||
'$php_path' => $configCache->get('config', 'php_path'),
|
||||
'$submit' => $this->t('Submit'),
|
||||
]);
|
||||
break;
|
||||
|
||||
case self::DATABASE_CONFIG:
|
||||
$tpl = Renderer::getMarkupTemplate('install_db.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('install/03_database_config.tpl');
|
||||
$output .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => $install_title,
|
||||
'$pass' => $this->t('Database connection'),
|
||||
|
@ -264,10 +246,8 @@ class Install extends BaseModule
|
|||
'$required' => $this->t('Required'),
|
||||
'$requirement_not_satisfied' => $this->t('Requirement not satisfied'),
|
||||
'$checks' => $this->installer->getChecks(),
|
||||
'$hostname' => $configCache->get('config', 'hostname'),
|
||||
'$ssl_policy' => $configCache->get('system', 'ssl_policy'),
|
||||
'$basepath' => $configCache->get('system', 'basepath'),
|
||||
'$urlpath' => $configCache->get('system', 'urlpath'),
|
||||
'$system_url' => $configCache->get('system', 'url'),
|
||||
'$dbhost' => ['database-hostname',
|
||||
$this->t('Database Server Name'),
|
||||
$configCache->get('database', 'hostname'),
|
||||
|
@ -299,16 +279,14 @@ class Install extends BaseModule
|
|||
/* Installed langs */
|
||||
$lang_choices = $this->l10n->getAvailableLanguages();
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('install_settings.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('install/04_site_settings.tpl');
|
||||
$output .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => $install_title,
|
||||
'$required' => $this->t('Required'),
|
||||
'$checks' => $this->installer->getChecks(),
|
||||
'$pass' => $this->t('Site settings'),
|
||||
'$hostname' => $configCache->get('config', 'hostname'),
|
||||
'$ssl_policy' => $configCache->get('system', 'ssl_policy'),
|
||||
'$basepath' => $configCache->get('system', 'basepath'),
|
||||
'$urlpath' => $configCache->get('system', 'urlpath'),
|
||||
'$system_url' => $configCache->get('system', 'url'),
|
||||
'$dbhost' => $configCache->get('database', 'hostname'),
|
||||
'$dbuser' => $configCache->get('database', 'username'),
|
||||
'$dbpass' => $configCache->get('database', 'password'),
|
||||
|
@ -341,7 +319,7 @@ class Install extends BaseModule
|
|||
$db_return_text .= $txt;
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('install_finished.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('install/05_finished.tpl');
|
||||
$output .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => $install_title,
|
||||
'$required' => $this->t('Required'),
|
||||
|
@ -365,7 +343,7 @@ class Install extends BaseModule
|
|||
*/
|
||||
private function whatNext(): string
|
||||
{
|
||||
$baseurl = $this->baseUrl->get();
|
||||
$baseurl = $this->baseUrl;
|
||||
return
|
||||
$this->t('<h1>What next</h1>')
|
||||
. "<p>" . $this->t('IMPORTANT: You will need to [manually] setup a scheduled task for the worker.')
|
||||
|
|
|
@ -149,14 +149,14 @@ class Invite extends BaseModule
|
|||
if ($config->get('config', 'register_policy') === Register::CLOSED) {
|
||||
$linkTxt = DI::l10n()->t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.', $dirLocation . '/servers');
|
||||
} else {
|
||||
$linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s or any other public Friendica website.', DI::baseUrl()->get())
|
||||
$linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s or any other public Friendica website.', DI::baseUrl())
|
||||
. "\r\n" . "\r\n" . DI::l10n()->t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.', $dirLocation . '/servers');
|
||||
}
|
||||
} else { // there is no global directory URL defined
|
||||
if ($config->get('config', 'register_policy') === Register::CLOSED) {
|
||||
return DI::l10n()->t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');
|
||||
} else {
|
||||
$linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s.', DI::baseUrl()->get()
|
||||
$linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s.', DI::baseUrl()
|
||||
. "\r\n" . "\r\n" . DI::l10n()->t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks.'));
|
||||
}
|
||||
}
|
||||
|
@ -172,7 +172,7 @@ class Invite extends BaseModule
|
|||
DI::l10n()->t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
|
||||
. $linkTxt
|
||||
. "\r\n" . "\r\n" . (($inviteOnly) ? DI::l10n()->t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') . DI::l10n()->t('Once you have registered, please connect with me via my profile page at:')
|
||||
. "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->getLoggedInUserNickname()
|
||||
. "\r\n" . "\r\n" . DI::baseUrl() . '/profile/' . $app->getLoggedInUserNickname()
|
||||
. "\r\n" . "\r\n" . DI::l10n()->t('For more information about the Friendica project and why we feel it is important, please visit http://friendi.ca') . "\r\n" . "\r\n",
|
||||
],
|
||||
'$submit' => DI::l10n()->t('Submit')
|
||||
|
|
|
@ -88,7 +88,7 @@ class Magic extends BaseModule
|
|||
$contact = $this->dba->selectFirst('contact', ['id', 'nurl', 'url'], ['id' => $cid]);
|
||||
|
||||
// Redirect if the contact is already authenticated on this site.
|
||||
if ($this->app->getContactId() && strpos($contact['nurl'], Strings::normaliseLink($this->baseUrl->get())) !== false) {
|
||||
if ($this->app->getContactId() && strpos($contact['nurl'], Strings::normaliseLink($this->baseUrl)) !== false) {
|
||||
$this->logger->info('Contact is already authenticated');
|
||||
System::externalRedirect($dest);
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ class Magic extends BaseModule
|
|||
$header = HTTPSignature::createSig(
|
||||
$header,
|
||||
$user['prvkey'],
|
||||
'acct:' . $user['nickname'] . '@' . $this->baseUrl->getHostname() . ($this->baseUrl->getUrlPath() ? '/' . $this->baseUrl->getUrlPath() : '')
|
||||
'acct:' . $user['nickname'] . '@' . $this->baseUrl->getHost() . ($this->baseUrl->getPath() ? '/' . $this->baseUrl->getPath() : '')
|
||||
);
|
||||
|
||||
// Try to get an authentication token from the other instance.
|
||||
|
|
|
@ -35,7 +35,7 @@ class Manifest extends BaseModule
|
|||
|
||||
$manifest = [
|
||||
'name' => $config->get('config', 'sitename', 'Friendica'),
|
||||
'start_url' => DI::baseUrl()->get(),
|
||||
'start_url' => DI::baseUrl(),
|
||||
'display' => 'standalone',
|
||||
'description' => $config->get('config', 'info', DI::l10n()->t('A Decentralized Social Network')),
|
||||
'short_name' => 'Friendica',
|
||||
|
@ -74,12 +74,12 @@ class Manifest extends BaseModule
|
|||
if($touch_icon){
|
||||
$manifest['icons'] = [
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/' . $touch_icon,
|
||||
'src' => DI::baseUrl() . '/' . $touch_icon,
|
||||
'sizes' => '192x192',
|
||||
'type' => 'image/png',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/' . $touch_icon,
|
||||
'src' => DI::baseUrl() . '/' . $touch_icon,
|
||||
'sizes' => '512x512',
|
||||
'type' => 'image/png',
|
||||
],
|
||||
|
@ -87,37 +87,37 @@ class Manifest extends BaseModule
|
|||
} else {
|
||||
$manifest['icons'] = [
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica.svg',
|
||||
'src' => DI::baseUrl() . '/images/friendica.svg',
|
||||
'sizes' => 'any',
|
||||
'type' => 'image/svg+xml',
|
||||
'purpose' => 'any',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica-192.png',
|
||||
'src' => DI::baseUrl() . '/images/friendica-192.png',
|
||||
'sizes' => '192x192',
|
||||
'type' => 'image/png',
|
||||
'purpose' => 'any',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica-512.png',
|
||||
'src' => DI::baseUrl() . '/images/friendica-512.png',
|
||||
'sizes' => '512x512',
|
||||
'type' => 'image/png',
|
||||
'purpose' => 'any',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica-maskable.svg',
|
||||
'src' => DI::baseUrl() . '/images/friendica-maskable.svg',
|
||||
'sizes' => 'any',
|
||||
'type' => 'image/svg+xml',
|
||||
'purpose' => 'maskable',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica-maskable-192.png',
|
||||
'src' => DI::baseUrl() . '/images/friendica-maskable-192.png',
|
||||
'sizes' => '192x192',
|
||||
'type' => 'image/png',
|
||||
'purpose' => 'maskable',
|
||||
],
|
||||
[
|
||||
'src' => DI::baseUrl()->get() . '/images/friendica-maskable-512.png',
|
||||
'src' => DI::baseUrl() . '/images/friendica-maskable-512.png',
|
||||
'sizes' => '512x512',
|
||||
'type' => 'image/png',
|
||||
'purpose' => 'maskable',
|
||||
|
|
|
@ -124,7 +124,7 @@ class Contact extends BaseModeration
|
|||
'$form_security_token' => self::getFormSecurityToken('moderation_contactblock'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$baseurl' => $this->baseUrl,
|
||||
|
||||
'$contacts' => $contacts,
|
||||
'$total_contacts' => $this->tt('%s total blocked contact', '%s total blocked contacts', $total),
|
||||
|
|
|
@ -138,7 +138,7 @@ class Add extends BaseModeration
|
|||
'$newreason' => ['reason', $this->t('Block reason'), $request['reason'] ?? '', $this->t('The reason why you blocked this server domain pattern. This reason will be shown publicly in the server information page.'), $this->t('Required'), '', ''],
|
||||
'$pattern' => $pattern,
|
||||
'$gservers' => $gservers,
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$baseurl' => $this->baseUrl,
|
||||
'$form_security_token' => self::getFormSecurityToken('moderation_blocklist_add')
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -130,7 +130,7 @@ class Import extends \Friendica\Module\BaseModeration
|
|||
'$mode_append' => ['mode', $this->t('Append'), 'append', $this->t('Imports patterns from the file that weren\'t already existing in the current blocklist.'), 'checked="checked"'],
|
||||
'$mode_replace' => ['mode', $this->t('Replace'), 'replace', $this->t('Replaces the current blocklist by the imported patterns.')],
|
||||
'$blocklist' => $this->blocklist,
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$baseurl' => $this->baseUrl,
|
||||
'$form_security_token' => self::getFormSecurityToken('moderation_blocklist_import')
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ class Index extends BaseModeration
|
|||
'$listfile' => ['listfile', $this->t('Server domain pattern blocklist CSV file'), '', '', $this->t('Required'), '', 'file'],
|
||||
'$newdomain' => ['pattern', $this->t('Server Domain Pattern'), '', $this->t('The domain pattern of the new server to add to the blocklist. Do not include the protocol.'), $this->t('Required'), '', ''],
|
||||
'$entries' => $blocklistform,
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$baseurl' => $this->baseUrl,
|
||||
|
||||
'$form_security_token' => self::getFormSecurityToken('moderation_blocklist'),
|
||||
'$form_security_token_import' => self::getFormSecurityToken('moderation_blocklist_import'),
|
||||
|
|
|
@ -32,7 +32,7 @@ class Active extends BaseUsers
|
|||
{
|
||||
$this->checkModerationAccess();
|
||||
|
||||
self::checkFormSecurityTokenRedirectOnError($this->baseUrl->get(true), 'moderation_users_active');
|
||||
self::checkFormSecurityTokenRedirectOnError($this->baseUrl, 'moderation_users_active');
|
||||
|
||||
$users = $request['user'] ?? [];
|
||||
|
||||
|
@ -150,7 +150,7 @@ class Active extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('moderation_users_active'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$baseurl' => $this->baseUrl,
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$users' => $users,
|
||||
|
|
|
@ -149,7 +149,6 @@ class Blocked extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('moderation_users_blocked'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$users' => $users,
|
||||
|
|
|
@ -65,7 +65,6 @@ class Create extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('admin_users_create'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$newusername' => ['new_user_name', $this->t('Name'), '', $this->t('Name of the new user.')],
|
||||
|
|
|
@ -85,7 +85,6 @@ class Deleted extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('moderation_users_deleted'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$users' => $users,
|
||||
|
|
|
@ -83,7 +83,7 @@ class Index extends BaseUsers
|
|||
switch ($action) {
|
||||
case 'delete':
|
||||
if ($this->session->getLocalUserId() != $uid) {
|
||||
self::checkFormSecurityTokenRedirectOnError($this->baseUrl->get(true), 'moderation_users', 't');
|
||||
self::checkFormSecurityTokenRedirectOnError($this->baseUrl, 'moderation_users', 't');
|
||||
// delete user
|
||||
User::remove($uid);
|
||||
|
||||
|
@ -168,7 +168,6 @@ class Index extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('moderation_users'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$users' => $users,
|
||||
|
|
|
@ -105,7 +105,6 @@ class Pending extends BaseUsers
|
|||
'$form_security_token' => self::getFormSecurityToken('admin_users_pending'),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$query_string' => $this->args->getQueryString(),
|
||||
|
||||
'$pending' => $pending,
|
||||
|
|
|
@ -52,7 +52,6 @@ class NodeInfo210 extends BaseModule
|
|||
$nodeinfo = [
|
||||
'version' => '1.0',
|
||||
'server' => [
|
||||
'baseUrl' => $this->baseUrl->get(),
|
||||
'name' => $this->config->get('config', 'sitename'),
|
||||
'software' => 'friendica',
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
|
|
|
@ -244,7 +244,7 @@ class Ping extends BaseModule
|
|||
$registration['url'],
|
||||
$this->l10n->t('{0} requested registration'),
|
||||
new \DateTime($registration['created'], new \DateTimeZone('UTC')),
|
||||
new Uri($this->baseUrl->get(true) . '/moderation/users/pending')
|
||||
new Uri($this->baseUrl . '/moderation/users/pending')
|
||||
);
|
||||
}
|
||||
} else {
|
||||
|
@ -253,7 +253,7 @@ class Ping extends BaseModule
|
|||
$registrations[0]['url'],
|
||||
$this->l10n->t('{0} and %d others requested registration', count($registrations) - 1),
|
||||
new \DateTime($registrations[0]['created'], new \DateTimeZone('UTC')),
|
||||
new Uri($this->baseUrl->get(true) . '/moderation/users/pending')
|
||||
new Uri($this->baseUrl . '/moderation/users/pending')
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,8 @@ class OpenSearch extends BaseModule
|
|||
*/
|
||||
protected function rawContent(array $request = [])
|
||||
{
|
||||
$hostname = DI::baseUrl()->getHostname();
|
||||
$baseUrl = DI::baseUrl()->get();
|
||||
$hostname = DI::baseUrl()->getHost();
|
||||
$baseUrl = DI::baseUrl();
|
||||
|
||||
/** @var DOMDocument $xml */
|
||||
XML::fromArray([
|
||||
|
|
|
@ -352,7 +352,7 @@ class Profile extends BaseProfile
|
|||
$htmlhead .= '<link rel="alternate" type="application/atom+xml" href="' . $this->baseUrl . '/feed/' . $nickname . '/" title="' . $this->t('%s\'s posts', $profile['name']) . '"/>' . "\n";
|
||||
$htmlhead .= '<link rel="alternate" type="application/atom+xml" href="' . $this->baseUrl . '/feed/' . $nickname . '/comments" title="' . $this->t('%s\'s comments', $profile['name']) . '"/>' . "\n";
|
||||
$htmlhead .= '<link rel="alternate" type="application/atom+xml" href="' . $this->baseUrl . '/feed/' . $nickname . '/activity" title="' . $this->t('%s\'s timeline', $profile['name']) . '"/>' . "\n";
|
||||
$uri = urlencode('acct:' . $profile['nickname'] . '@' . $this->baseUrl->getHostname() . ($this->baseUrl->getUrlPath() ? '/' . $this->baseUrl->getUrlPath() : ''));
|
||||
$uri = urlencode('acct:' . $profile['nickname'] . '@' . $this->baseUrl->getHost() . ($this->baseUrl->getPath() ? '/' . $this->baseUrl->getPath() : ''));
|
||||
$htmlhead .= '<link rel="lrdd" type="application/xrd+xml" href="' . $this->baseUrl . '/xrd/?uri=' . $uri . '" />' . "\n";
|
||||
header('Link: <' . $this->baseUrl . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
|
||||
|
|
|
@ -78,7 +78,6 @@ class Schedule extends BaseProfile
|
|||
$tpl = Renderer::getMarkupTemplate('profile/schedule.tpl');
|
||||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken("profile_schedule"),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$title' => DI::l10n()->t('Scheduled Posts'),
|
||||
'$nickname' => $this->parameters['nickname'] ?? '',
|
||||
'$scheduled_at' => DI::l10n()->t('Scheduled'),
|
||||
|
|
|
@ -141,7 +141,6 @@ class UnkMail extends \Friendica\BaseModule
|
|||
|
||||
$tpl = Renderer::getMarkupTemplate('profile/unkmail-header.tpl');
|
||||
$this->page['htmlhead'] .= Renderer::replaceMacros($tpl, [
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$nickname' => $user['nickname'],
|
||||
'$linkurl' => $this->l10n->t('Please enter a link URL:')
|
||||
]);
|
||||
|
|
|
@ -48,7 +48,7 @@ class ReallySimpleDiscovery extends BaseModule
|
|||
'@attributes' => [
|
||||
'name' => 'Twitter',
|
||||
'preferred' => 'true',
|
||||
'apiLink' => DI::baseUrl()->get(),
|
||||
'apiLink' => DI::baseUrl(),
|
||||
'blogID' => '',
|
||||
],
|
||||
'settings' => [
|
||||
|
|
|
@ -161,7 +161,7 @@ class Register extends BaseModule
|
|||
'$ask_password' => $ask_password,
|
||||
'$password1' => ['password1', DI::l10n()->t('New Password:'), '', DI::l10n()->t('Leave empty for an auto generated password.')],
|
||||
'$password2' => ['confirm', DI::l10n()->t('Confirm:'), '', ''],
|
||||
'$nickdesc' => DI::l10n()->t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be "<strong>nickname@%s</strong>".', DI::baseUrl()->getHostname()),
|
||||
'$nickdesc' => DI::l10n()->t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be "<strong>nickname@%s</strong>".', DI::baseUrl()->getHost()),
|
||||
'$nicklabel' => DI::l10n()->t('Choose a nickname: '),
|
||||
'$photo' => $photo,
|
||||
'$publish' => $profile_publish,
|
||||
|
@ -169,7 +169,7 @@ class Register extends BaseModule
|
|||
'$username' => $username,
|
||||
'$email' => $email,
|
||||
'$nickname' => $nickname,
|
||||
'$sitename' => DI::baseUrl()->getHostname(),
|
||||
'$sitename' => DI::baseUrl()->getHost(),
|
||||
'$importh' => DI::l10n()->t('Import'),
|
||||
'$importt' => DI::l10n()->t('Import your profile to this friendica instance'),
|
||||
'$showtoslink' => DI::config()->get('system', 'tosdisplay'),
|
||||
|
@ -298,7 +298,7 @@ class Register extends BaseModule
|
|||
|
||||
$user = $result['user'];
|
||||
|
||||
$base_url = DI::baseUrl()->get();
|
||||
$base_url = DI::baseUrl();
|
||||
|
||||
if ($netpublish && intval(DI::config()->get('config', 'register_policy')) !== self::APPROVE) {
|
||||
$url = $base_url . '/profile/' . $user['nickname'];
|
||||
|
@ -404,11 +404,11 @@ class Register extends BaseModule
|
|||
'type' => Model\Notification\Type::SYSTEM,
|
||||
'event' => $event,
|
||||
'uid' => $admin['uid'],
|
||||
'link' => DI::baseUrl()->get(true) . '/moderation/users/',
|
||||
'link' => DI::baseUrl() . '/moderation/users/',
|
||||
'source_name' => $user['username'],
|
||||
'source_mail' => $user['email'],
|
||||
'source_nick' => $user['nickname'],
|
||||
'source_link' => DI::baseUrl()->get(true) . '/moderation/users/',
|
||||
'source_link' => DI::baseUrl() . '/moderation/users/',
|
||||
'source_photo' => User::getAvatarUrl($user, Proxy::SIZE_THUMB),
|
||||
'show_in_notification_page' => false
|
||||
]);
|
||||
|
|
|
@ -132,7 +132,6 @@ class Login extends BaseModule
|
|||
DI::page()['htmlhead'] .= Renderer::replaceMacros(
|
||||
Renderer::getMarkupTemplate('login_head.tpl'),
|
||||
[
|
||||
'$baseurl' => DI::baseUrl()->get(true)
|
||||
]
|
||||
);
|
||||
|
||||
|
@ -154,7 +153,7 @@ class Login extends BaseModule
|
|||
$o = Renderer::replaceMacros(
|
||||
$tpl,
|
||||
[
|
||||
'$dest_url' => DI::baseUrl()->get(true) . '/login',
|
||||
'$dest_url' => DI::baseUrl() . '/login',
|
||||
'$logout' => DI::l10n()->t('Logout'),
|
||||
'$login' => DI::l10n()->t('Login'),
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class OpenID extends BaseModule
|
|||
|
||||
if (!empty($_GET['openid_mode']) && !empty($session->get('openid'))) {
|
||||
|
||||
$openid = new LightOpenID(DI::baseUrl()->getHostname());
|
||||
$openid = new LightOpenID(DI::baseUrl()->getHost());
|
||||
|
||||
$l10n = DI::l10n();
|
||||
|
||||
|
@ -82,7 +82,7 @@ class OpenID extends BaseModule
|
|||
$session->set('openid_identity', $authId);
|
||||
|
||||
// Detect the server URL
|
||||
$open_id_obj = new LightOpenID(DI::baseUrl()->getHostname());
|
||||
$open_id_obj = new LightOpenID(DI::baseUrl()->getHost());
|
||||
$open_id_obj->identity = $authId;
|
||||
$session->set('openid_server', $open_id_obj->discover($open_id_obj->identity));
|
||||
|
||||
|
|
|
@ -93,7 +93,6 @@ class PasswordTooLong extends \Friendica\BaseModule
|
|||
'submit' => $this->l10n->t('Update Password'),
|
||||
],
|
||||
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$form_security_token' => self::getFormSecurityToken('security/password_too_long'),
|
||||
'$return_url' => $request['return_url'] ?? '',
|
||||
|
||||
|
|
|
@ -555,10 +555,9 @@ class Account extends BaseSettings
|
|||
$tpl = Renderer::getMarkupTemplate('settings/account.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$ptitle' => DI::l10n()->t('Account Settings'),
|
||||
'$desc' => DI::l10n()->t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . DI::baseUrl()->getHostname() . DI::baseUrl()->getUrlPath(), DI::baseUrl() . '/profile/' . $nickname),
|
||||
'$desc' => DI::l10n()->t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . DI::baseUrl()->getHost() . DI::baseUrl()->getPath(), DI::baseUrl() . '/profile/' . $nickname),
|
||||
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$uid' => DI::userSession()->getLocalUserId(),
|
||||
'$form_security_token' => self::getFormSecurityToken('settings'),
|
||||
'$open' => $this->parameters['open'] ?? 'password',
|
||||
|
|
|
@ -252,7 +252,6 @@ class Display extends BaseSettings
|
|||
'$calendar_title' => $this->t('Calendar'),
|
||||
|
||||
'$form_security_token' => self::getFormSecurityToken('settings_display'),
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$uid' => $uid,
|
||||
|
||||
'$theme' => ['theme', $this->t('Display Theme:'), $theme_selected, '', $themes, true],
|
||||
|
|
|
@ -68,7 +68,6 @@ class OAuth extends BaseSettings
|
|||
$tpl = Renderer::getMarkupTemplate('settings/oauth.tpl');
|
||||
return Renderer::replaceMacros($tpl, [
|
||||
'$form_security_token' => BaseSettings::getFormSecurityToken('settings_oauth'),
|
||||
'$baseurl' => $this->baseUrl->get(true),
|
||||
'$title' => $this->t('Connected Apps'),
|
||||
'$name' => $this->t('Name'),
|
||||
'$website' => $this->t('Home Page'),
|
||||
|
|
|
@ -208,7 +208,6 @@ class Index extends BaseSettings
|
|||
];
|
||||
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('settings/profile/index_head.tpl'), [
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
]);
|
||||
|
||||
$personal_account = ($profile['account-type'] != User::ACCOUNT_TYPE_COMMUNITY);
|
||||
|
@ -241,7 +240,7 @@ class Index extends BaseSettings
|
|||
|
||||
'$lbl_profile_photo' => DI::l10n()->t('Upload Profile Photo'),
|
||||
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$baseurl' => DI::baseUrl(),
|
||||
'$nickname' => $profile['nickname'],
|
||||
'$name' => ['name', DI::l10n()->t('Display name:'), $profile['name']],
|
||||
'$about' => ['about', DI::l10n()->t('Description:'), $profile['about']],
|
||||
|
|
|
@ -46,14 +46,14 @@ class HostMeta extends BaseModule
|
|||
$config->set('system', 'site_pubkey', $res['pubkey']);
|
||||
}
|
||||
|
||||
$domain = DI::baseUrl()->get();
|
||||
$domain = DI::baseUrl();
|
||||
|
||||
XML::fromArray([
|
||||
'XRD' => [
|
||||
'@attributes' => [
|
||||
'xmlns' => 'http://docs.oasis-open.org/ns/xri/xrd-1.0',
|
||||
],
|
||||
'hm:Host' => DI::baseUrl()->getHostname(),
|
||||
'hm:Host' => DI::baseUrl()->getHost(),
|
||||
'1:link' => [
|
||||
'@attributes' => [
|
||||
'rel' => 'lrdd',
|
||||
|
|
|
@ -46,9 +46,9 @@ class NodeInfo extends BaseModule
|
|||
$nodeinfo = [
|
||||
'links' => [
|
||||
['rel' => 'http://nodeinfo.diaspora.software/ns/schema/1.0',
|
||||
'href' => DI::baseUrl()->get() . '/nodeinfo/1.0'],
|
||||
'href' => DI::baseUrl() . '/nodeinfo/1.0'],
|
||||
['rel' => 'http://nodeinfo.diaspora.software/ns/schema/2.0',
|
||||
'href' => DI::baseUrl()->get() . '/nodeinfo/2.0'],
|
||||
'href' => DI::baseUrl() . '/nodeinfo/2.0'],
|
||||
]
|
||||
];
|
||||
|
||||
|
|
|
@ -64,17 +64,17 @@ class XSocialRelay extends BaseModule
|
|||
'tags' => $tagList,
|
||||
'protocols' => [
|
||||
'activitypub' => [
|
||||
'actor' => DI::baseUrl()->get() . '/friendica',
|
||||
'receive' => DI::baseUrl()->get() . '/inbox'
|
||||
'actor' => DI::baseUrl() . '/friendica',
|
||||
'receive' => DI::baseUrl() . '/inbox'
|
||||
],
|
||||
'dfrn' => [
|
||||
'receive' => DI::baseUrl()->get() . '/dfrn_notify'
|
||||
'receive' => DI::baseUrl() . '/dfrn_notify'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
if (DI::config()->get("system", "diaspora_enabled")) {
|
||||
$relay['protocols']['diaspora'] = ['receive' => DI::baseUrl()->get() . '/receive/public'];
|
||||
$relay['protocols']['diaspora'] = ['receive' => DI::baseUrl() . '/receive/public'];
|
||||
}
|
||||
|
||||
System::jsonExit($relay);
|
||||
|
|
|
@ -105,7 +105,7 @@ class Xrd extends BaseModule
|
|||
|
||||
private function printSystemJSON(array $owner)
|
||||
{
|
||||
$baseURL = $this->baseUrl->get();
|
||||
$baseURL = $this->baseUrl;
|
||||
$json = [
|
||||
'subject' => 'acct:' . $owner['addr'],
|
||||
'aliases' => [$owner['url']],
|
||||
|
@ -151,7 +151,7 @@ class Xrd extends BaseModule
|
|||
|
||||
private function printJSON(string $alias, array $owner, array $avatar)
|
||||
{
|
||||
$baseURL = $this->baseUrl->get();
|
||||
$baseURL = $this->baseUrl;
|
||||
|
||||
$json = [
|
||||
'subject' => 'acct:' . $owner['addr'],
|
||||
|
@ -228,7 +228,7 @@ class Xrd extends BaseModule
|
|||
|
||||
private function printXML(string $alias, array $owner, array $avatar)
|
||||
{
|
||||
$baseURL = $this->baseUrl->get();
|
||||
$baseURL = $this->baseUrl;
|
||||
|
||||
$xmlString = XML::fromArray([
|
||||
'XRD' => [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue