X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FBaseSearchModule.php;h=ed39f071ca61c92c898aa1a702ccd638f04cfbf2;hb=4d8ca5c9c212153c4f892d7b67a2e52a741d7f4d;hp=7e13a590ed0c82a8f39f3d5bc08c900df77304f0;hpb=1e36c68e48b0e88ceacac1a730bd7b7f6c14748c;p=friendica.git diff --git a/src/Module/BaseSearchModule.php b/src/Module/BaseSearchModule.php index 7e13a590ed..ed39f071ca 100644 --- a/src/Module/BaseSearchModule.php +++ b/src/Module/BaseSearchModule.php @@ -8,11 +8,11 @@ use Friendica\Content\Pager; use Friendica\Core\L10n; use Friendica\Core\Renderer; use Friendica\Core\Search; +use Friendica\Model; +use Friendica\Network\HTTPException; use Friendica\Object\Search\ContactResult; use Friendica\Object\Search\ResultList; use Friendica\Util\Proxy as ProxyUtils; -use Friendica\Model; -use Friendica\Network\HTTPException; use Friendica\Util\Strings; /** @@ -34,7 +34,7 @@ class BaseSearchModule extends BaseModule $a = self::getApp(); $config = $a->getConfig(); - $community = false; + $type = Search::TYPE_ALL; $localSearch = $config->get('system', 'poco_local_search'); @@ -48,24 +48,27 @@ class BaseSearchModule extends BaseModule if (strpos($search, '@') === 0) { $search = substr($search, 1); + $type = Search::TYPE_PEOPLE; $header = L10n::t('People Search - %s', $search); - $results = Search::getContactsFromProbe($search); + + if (strrpos($search, '@') > 0) { + $results = Search::getContactsFromProbe($search); + } } if (strpos($search, '!') === 0) { - $search = substr($search, 1); - $community = true; - $header = L10n::t('Forum Search - %s', $search); + $search = substr($search, 1); + $type = Search::TYPE_FORUM; + $header = L10n::t('Forum Search - %s', $search); } $pager = new Pager($a->query_string); if ($localSearch && empty($results)) { $pager->setItemsPerPage(80); - $results = Search::getContactsFromLocalDirectory($search, $pager->getStart(), $pager->getItemsPerPage(), $community); - + $results = Search::getContactsFromLocalDirectory($search, $type, $pager->getStart(), $pager->getItemsPerPage()); } elseif (strlen($config->get('system', 'directory')) && empty($results)) { - $results = Search::getContactsFromGlobalDirectory($search, $pager->getPage()); + $results = Search::getContactsFromGlobalDirectory($search, $type, $pager->getPage()); $pager->setItemsPerPage($results->getItemsPage()); } @@ -76,8 +79,8 @@ class BaseSearchModule extends BaseModule * Prints a human readable search result * * @param ResultList $results - * @param Pager $pager - * @param string $header + * @param Pager $pager + * @param string $header * * @return string The result * @throws HTTPException\InternalServerErrorException @@ -85,14 +88,14 @@ class BaseSearchModule extends BaseModule */ protected static function printResult(ResultList $results, Pager $pager, $header = '') { - if (empty($results) || empty($results->getResults())) { - info(L10n::t('No matches') . EOL); + if ($results->getTotal() == 0) { + info(L10n::t('No matches')); return ''; } $a = self::getApp(); - $id = 0; + $id = 0; $entries = []; foreach ($results->getResults() as $result) {