Merge pull request #11446 from annando/directory

Use central function to fetch the global directory
This commit is contained in:
Hypolite Petovan 2022-04-26 14:38:14 -04:00 committed by GitHub
commit 973257ae13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 24 additions and 14 deletions

View file

@ -25,12 +25,14 @@ use Friendica\Core\Addon;
use Friendica\Core\Cache\Enum\Duration; use Friendica\Core\Cache\Enum\Duration;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Search;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Group; use Friendica\Model\Group;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Post; use Friendica\Model\Post;
use Friendica\Model\Profile;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal; use Friendica\Util\Temporal;
@ -59,7 +61,7 @@ class Widget
*/ */
public static function findPeople() public static function findPeople()
{ {
$global_dir = DI::config()->get('system', 'directory'); $global_dir = Search::getGlobalDirectory();
if (DI::config()->get('system', 'invitation_only')) { if (DI::config()->get('system', 'invitation_only')) {
$x = intval(DI::pConfig()->get(local_user(), 'system', 'invites_remaining')); $x = intval(DI::pConfig()->get(local_user(), 'system', 'invites_remaining'));
@ -81,7 +83,7 @@ class Widget
$nv['random'] = DI::l10n()->t('Random Profile'); $nv['random'] = DI::l10n()->t('Random Profile');
$nv['inv'] = DI::l10n()->t('Invite Friends'); $nv['inv'] = DI::l10n()->t('Invite Friends');
$nv['directory'] = DI::l10n()->t('Global Directory'); $nv['directory'] = DI::l10n()->t('Global Directory');
$nv['global_dir'] = $global_dir; $nv['global_dir'] = Profile::zrl($global_dir, true);
$nv['local_directory'] = DI::l10n()->t('Local Directory'); $nv['local_directory'] = DI::l10n()->t('Local Directory');
$aside = []; $aside = [];

View file

@ -104,7 +104,7 @@ class Search
*/ */
public static function getContactsFromGlobalDirectory($search, $type = self::TYPE_ALL, $page = 1) public static function getContactsFromGlobalDirectory($search, $type = self::TYPE_ALL, $page = 1)
{ {
$server = DI::config()->get('system', 'directory', self::DEFAULT_DIRECTORY); $server = self::getGlobalDirectory();
$searchUrl = $server . '/search'; $searchUrl = $server . '/search';

View file

@ -2781,6 +2781,7 @@ class Contact
self::remove($contact['id']); self::remove($contact['id']);
} else { } else {
DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact, 'callstack' => System::callstack()]); DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact, 'callstack' => System::callstack()]);
return;
} }
$cdata = Contact::getPublicAndUserContactID($contact['id'], $contact['uid']); $cdata = Contact::getPublicAndUserContactID($contact['id'], $contact['uid']);

View file

@ -30,6 +30,7 @@ use Friendica\Core\Hook;
use Friendica\Core\L10n; use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Search;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -1287,7 +1288,7 @@ class User
$profile = DBA::selectFirst('profile', ['net-publish'], ['uid' => $register['uid']]); $profile = DBA::selectFirst('profile', ['net-publish'], ['uid' => $register['uid']]);
if (DBA::isResult($profile) && $profile['net-publish'] && DI::config()->get('system', 'directory')) { if (DBA::isResult($profile) && $profile['net-publish'] && Search::getGlobalDirectory()) {
$url = DI::baseUrl() . '/profile/' . $user['nickname']; $url = DI::baseUrl() . '/profile/' . $user['nickname'];
Worker::add(PRIORITY_LOW, "Directory", $url); Worker::add(PRIORITY_LOW, "Directory", $url);
} }

View file

@ -23,6 +23,7 @@ namespace Friendica\Module\Api\Friendica\Profile;
use Friendica\Profile\ProfileField\Collection\ProfileFields; use Friendica\Profile\ProfileField\Collection\ProfileFields;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\Search;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Profile; use Friendica\Model\Profile;
use Friendica\Module\BaseApi; use Friendica\Module\BaseApi;
@ -39,7 +40,7 @@ class Show extends BaseApi
$uid = self::getCurrentUserID(); $uid = self::getCurrentUserID();
// retrieve general information about profiles for user // retrieve general information about profiles for user
$directory = DI::config()->get('system', 'directory'); $directory = Search::getGlobalDirectory();
$profile = Profile::getByUID($uid); $profile = Profile::getByUID($uid);

View file

@ -59,7 +59,7 @@ class Search extends BaseApi
if (empty($results)) { if (empty($results)) {
if (DI::config()->get('system', 'poco_local_search')) { if (DI::config()->get('system', 'poco_local_search')) {
$results = CoreSearch::getContactsFromLocalDirectory($request['q'], CoreSearch::TYPE_ALL, 0, $request['limit']); $results = CoreSearch::getContactsFromLocalDirectory($request['q'], CoreSearch::TYPE_ALL, 0, $request['limit']);
} elseif (!empty(DI::config()->get('system', 'directory'))) { } elseif (CoreSearch::getGlobalDirectory()) {
$results = CoreSearch::getContactsFromGlobalDirectory($request['q'], CoreSearch::TYPE_ALL, 1); $results = CoreSearch::getContactsFromGlobalDirectory($request['q'], CoreSearch::TYPE_ALL, 1);
} }
} }

View file

@ -91,7 +91,7 @@ class Search extends BaseApi
if (empty($results)) { if (empty($results)) {
if (DI::config()->get('system', 'poco_local_search')) { if (DI::config()->get('system', 'poco_local_search')) {
$results = CoreSearch::getContactsFromLocalDirectory($q, CoreSearch::TYPE_ALL, 0, $limit); $results = CoreSearch::getContactsFromLocalDirectory($q, CoreSearch::TYPE_ALL, 0, $limit);
} elseif (!empty(DI::config()->get('system', 'directory'))) { } elseif (CoreSearch::getGlobalDirectory()) {
$results = CoreSearch::getContactsFromGlobalDirectory($q, CoreSearch::TYPE_ALL, 1); $results = CoreSearch::getContactsFromGlobalDirectory($q, CoreSearch::TYPE_ALL, 1);
} }
} }

View file

@ -91,7 +91,7 @@ class BaseSearch extends BaseModule
if ($localSearch && empty($results)) { if ($localSearch && empty($results)) {
$pager->setItemsPerPage(80); $pager->setItemsPerPage(80);
$results = Search::getContactsFromLocalDirectory($search, $type, $pager->getStart(), $pager->getItemsPerPage()); $results = Search::getContactsFromLocalDirectory($search, $type, $pager->getStart(), $pager->getItemsPerPage());
} elseif (strlen($config->get('system', 'directory')) && empty($results)) { } elseif (Search::getGlobalDirectory() && empty($results)) {
$results = Search::getContactsFromGlobalDirectory($search, $type, $pager->getPage()); $results = Search::getContactsFromGlobalDirectory($search, $type, $pager->getPage());
$pager->setItemsPerPage($results->getItemsPage()); $pager->setItemsPerPage($results->getItemsPage());
} }

View file

@ -28,6 +28,7 @@ use Friendica\Content\Widget;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Search;
use Friendica\DI; use Friendica\DI;
use Friendica\Model; use Friendica\Model;
use Friendica\Model\Profile; use Friendica\Model\Profile;
@ -61,7 +62,7 @@ class Directory extends BaseModule
$search = trim(rawurldecode($_REQUEST['search'] ?? '')); $search = trim(rawurldecode($_REQUEST['search'] ?? ''));
$gDirPath = ''; $gDirPath = '';
$dirURL = $config->get('system', 'directory'); $dirURL = Search::getGlobalDirectory();
if (strlen($dirURL)) { if (strlen($dirURL)) {
$gDirPath = Profile::zrl($dirURL, true); $gDirPath = Profile::zrl($dirURL, true);
} }

View file

@ -23,6 +23,7 @@ namespace Friendica\Module;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Search;
use Friendica\DI; use Friendica\DI;
use Friendica\Model; use Friendica\Model;
use Friendica\Model\User; use Friendica\Model\User;
@ -143,7 +144,7 @@ class Invite extends BaseModule
} }
} }
$dirLocation = $config->get('system', 'directory'); $dirLocation = Search::getGlobalDirectory();
if (strlen($dirLocation)) { if (strlen($dirLocation)) {
if ($config->get('config', 'register_policy') === Register::CLOSED) { 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'); $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');

View file

@ -25,6 +25,7 @@ use Exception;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Search;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -516,8 +517,8 @@ class Account extends BaseSettings
} }
$net_pub_desc = ''; $net_pub_desc = '';
if (strlen(DI::config()->get('system', 'directory'))) { if (Search::getGlobalDirectory()) {
$net_pub_desc = ' ' . DI::l10n()->t('Your profile will also be published in the global friendica directories (e.g. <a href="%s">%s</a>).', DI::config()->get('system', 'directory'), DI::config()->get('system', 'directory')); $net_pub_desc = ' ' . DI::l10n()->t('Your profile will also be published in the global friendica directories (e.g. <a href="%s">%s</a>).', Search::getGlobalDirectory(), Search::getGlobalDirectory());
} }
/* Installed langs */ /* Installed langs */

View file

@ -23,6 +23,7 @@ namespace Friendica\Worker;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Search;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -35,7 +36,7 @@ class Directory
{ {
public static function execute($url = '') public static function execute($url = '')
{ {
$dir = DI::config()->get('system', 'directory'); $dir = Search::getGlobalDirectory();
if (!strlen($dir)) { if (!strlen($dir)) {
return; return;

View file

@ -22,6 +22,7 @@
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Search;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Network\HTTPClient\Client\HttpClientAccept; use Friendica\Network\HTTPClient\Client\HttpClientAccept;
@ -38,7 +39,7 @@ class PullDirectory
return; return;
} }
$directory = DI::config()->get('system', 'directory'); $directory = Search::getGlobalDirectory();
if (empty($directory)) { if (empty($directory)) {
Logger::info('No directory configured'); Logger::info('No directory configured');
return; return;