Merge branch 'develop' into reuse

This commit is contained in:
Tobias Diekershoff 2024-08-24 19:20:00 +02:00
commit dc2d894a26
10 changed files with 1133 additions and 2307 deletions

View file

@ -72,7 +72,7 @@ class Conversations extends BaseModule
throw new NotFoundException($this->t('Contact not found.'));
}
$contact = Model\Contact::getById($pcid);
$contact = Model\Contact::getAccountById($pcid);
if (empty($contact)) {
throw new NotFoundException($this->t('Contact not found.'));
}
@ -97,13 +97,15 @@ class Conversations extends BaseModule
Nav::setSelected('contact');
$options = [
'lockstate' => ACL::getLockstateForUserId($this->userSession->getLocalUserId()) ? 'lock' : 'unlock',
'acl' => ACL::getFullSelectorHTML($this->page, $this->userSession->getLocalUserId(), true, []),
'bang' => '',
'content' => ($contact['contact-type'] == ModelContact::TYPE_COMMUNITY ? '!' : '@') . ($contact['addr'] ?: $contact['url']),
];
$o = $this->conversation->statusEditor($options);
if (!$contact['ap-posting-restricted']) {
$options = [
'lockstate' => ACL::getLockstateForUserId($this->userSession->getLocalUserId()) ? 'lock' : 'unlock',
'acl' => ACL::getFullSelectorHTML($this->page, $this->userSession->getLocalUserId(), true, []),
'bang' => '',
'content' => ($contact['contact-type'] == ModelContact::TYPE_COMMUNITY ? '!' : '@') . ($contact['addr'] ?: $contact['url']),
];
$o = $this->conversation->statusEditor($options);
}
$o .= Contact::getTabsHTML($contact, Contact::TAB_CONVERSATIONS);
$o .= Model\Contact::getThreadsFromId($contact['id'], $this->userSession->getLocalUserId(), 0, 0, $request['last_created'] ?? '');

View file

@ -421,13 +421,14 @@ class Register extends BaseModule
}
public static function getPolicy(): int
{
$admins = User::getAdminList(['login_date']);
$days = DI::config()->get('system', 'admin_inactivity_limit');
if ($days == 0) {
if ($days == 0 || empty($admins)) {
return intval(DI::config()->get('config', 'register_policy'));
}
$inactive_since = DateTimeFormat::utc('now - ' . $days . ' day');
foreach (User::getAdminList(['login_date']) as $admin) {
foreach ($admins as $admin) {
if (strtotime($admin['login_date']) > strtotime($inactive_since)) {
return intval(DI::config()->get('config', 'register_policy'));
}

View file

@ -142,30 +142,30 @@ class Acl extends BaseModule
switch ($type) {
case self::TYPE_MENTION_CONTACT_CIRCLE:
$condition = DBA::mergeConditions($condition,
["NOT `self` AND NOT `blocked` AND `notify` != ? AND `network` != ?", '', Protocol::OSTATUS
["NOT `self` AND NOT `blocked` AND `network` != ?", Protocol::OSTATUS
]);
break;
case self::TYPE_MENTION_CONTACT:
$condition = DBA::mergeConditions($condition,
["NOT `self` AND NOT `blocked` AND `notify` != ?", ''
["NOT `self` AND NOT `blocked`",
]);
break;
case self::TYPE_MENTION_GROUP:
$condition = DBA::mergeConditions($condition,
["NOT `self` AND NOT `blocked` AND `notify` != ? AND `contact-type` = ?", '', Contact::TYPE_COMMUNITY
["NOT `self` AND NOT `blocked` AND (NOT `ap-posting-restricted` OR `ap-posting-restricted` IS NULL) AND `contact-type` = ?", Contact::TYPE_COMMUNITY
]);
break;
case self::TYPE_PRIVATE_MESSAGE:
$condition = DBA::mergeConditions($condition,
["NOT `self` AND NOT `blocked` AND `notify` != ? AND `network` IN (?, ?, ?)", '', Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA
["NOT `self` AND NOT `blocked` AND `network` IN (?, ?, ?)", Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA
]);
break;
}
$contact_count = $this->database->count('contact', $condition);
$contact_count = $this->database->count('account-user-view', $condition);
$resultTotal = $circle_count + $contact_count;
@ -206,7 +206,7 @@ class Acl extends BaseModule
$contacts = [];
if ($type != self::TYPE_MENTION_CIRCLE) {
$contacts = Contact::selectToArray([], $condition, ['order' => ['name']]);
$contacts = Contact::selectAccountToArray([], $condition, ['order' => ['name']]);
}
$groups = [];