use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Search;
+use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
protected function rawContent(array $request = [])
{
- if (!local_user()) {
+ if (!DI::userSession()->getLocalUserId()) {
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this module.'));
}
$o = self::regularContactSearch($type);
}
- echo json_encode($o);
- exit;
+ System::jsonExit($o);
}
- private static function globalContactSearch()
+ private static function globalContactSearch(): array
{
// autocomplete for global contact search (e.g. navbar search)
$search = trim($_REQUEST['search']);
return $o;
}
- private static function regularContactSearch(string $type)
+ private static function regularContactSearch(string $type): array
{
$start = $_REQUEST['start'] ?? 0;
$count = $_REQUEST['count'] ?? 100;
$search = $_REQUEST['query'];
}
- Logger::info('ACL {action} - {subaction}', ['module' => 'acl', 'action' => 'content', 'subaction' => 'search', 'search' => $search, 'type' => $type, 'conversation' => $conv_id]);
+ Logger::info('ACL {action} - {subaction} - start', ['module' => 'acl', 'action' => 'content', 'subaction' => 'search', 'search' => $search, 'type' => $type, 'conversation' => $conv_id]);
$sql_extra = '';
- $condition = ["`uid` = ? AND NOT `deleted` AND NOT `pending` AND NOT `archive`", local_user()];
- $condition_group = ["`uid` = ? AND NOT `deleted`", local_user()];
+ $condition = ["`uid` = ? AND NOT `deleted` AND NOT `pending` AND NOT `archive`", DI::userSession()->getLocalUserId()];
+ $condition_group = ["`uid` = ? AND NOT `deleted`", DI::userSession()->getLocalUserId()];
if ($search != '') {
$sql_extra = "AND `name` LIKE '%%" . DBA::escape($search) . "%%'";
switch ($type) {
case self::TYPE_MENTION_CONTACT_GROUP:
$condition = DBA::mergeConditions($condition,
- ["NOT `self` AND NOT `blocked` AND `notify` != ? AND NOT `network` IN (?, ?)", '', Protocol::OSTATUS, Protocol::STATUSNET
+ ["NOT `self` AND NOT `blocked` AND `notify` != ? AND `network` != ?", '', Protocol::OSTATUS
]);
break;
case self::TYPE_MENTION_CONTACT:
$condition = DBA::mergeConditions($condition,
- ["NOT `self` AND NOT `blocked` AND `notify` != ? AND `network` != ?", '', Protocol::STATUSNET
+ ["NOT `self` AND NOT `blocked` AND `notify` != ?", ''
]);
break;
GROUP BY `group`.`name`, `group`.`id`
ORDER BY `group`.`name`
LIMIT ?, ?",
- local_user(),
+ DI::userSession()->getLocalUserId(),
$start,
$count
));
foreach ($r as $g) {
$entry = [
'type' => 'c',
- 'photo' => Contact::getMicro($g),
+ 'photo' => Contact::getMicro($g, true),
'name' => htmlspecialchars($g['name']),
'id' => intval($g['id']),
'network' => $g['network'],
$condition = ["`parent` = ?", $conv_id];
$params = ['order' => ['author-name' => true]];
- $authors = Post::selectForUser(local_user(), ['author-link'], $condition, $params);
+ $authors = Post::selectForUser(DI::userSession()->getLocalUserId(), ['author-link'], $condition, $params);
$item_authors = [];
while ($author = Post::fetch($authors)) {
$item_authors[$author['author-link']] = $author['author-link'];
if (count($contact) > 0) {
$unknown_contacts[] = [
'type' => 'c',
- 'photo' => Contact::getMicro($contact),
+ 'photo' => Contact::getMicro($contact, true),
'name' => htmlspecialchars($contact['name']),
'id' => intval($contact['id']),
'network' => $contact['network'],
'items' => $results['items'],
];
+ Logger::info('ACL {action} - {subaction} - done', ['module' => 'acl', 'action' => 'content', 'subaction' => 'search', 'search' => $search, 'type' => $type, 'conversation' => $conv_id]);
return $o;
}
}