Posts from contacts can now be collapsed

This commit is contained in:
Michael 2023-01-08 17:40:05 +00:00
parent c074da2b87
commit 50e43c530e
9 changed files with 229 additions and 150 deletions

View file

@ -87,6 +87,11 @@ class Contact extends BaseModule
self::toggleIgnoreContact($cdata['public']);
$count_actions++;
}
if (!empty($_POST['contacts_batch_collapse'])) {
self::toggleCollapseContact($cdata['public']);
$count_actions++;
}
}
if ($count_actions > 0) {
DI::sysmsg()->addInfo(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions));
@ -165,6 +170,18 @@ class Contact extends BaseModule
Model\Contact\User::setIgnored($contact_id, DI::userSession()->getLocalUserId(), $ignored);
}
/**
* Toggles the collapsed status of a contact identified by id.
*
* @param int $contact_id Id of the contact with uid = 0
* @throws \Exception
*/
private static function toggleCollapseContact(int $contact_id)
{
$collapsed = !Model\Contact\User::isCollapsed($contact_id, DI::userSession()->getLocalUserId());
Model\Contact\User::setCollapsed($contact_id, DI::userSession()->getLocalUserId(), $collapsed);
}
protected function content(array $request = []): string
{
if (!DI::userSession()->getLocalUserId()) {
@ -405,9 +422,10 @@ class Contact extends BaseModule
'$form_security_token' => BaseModule::getFormSecurityToken('contact_batch_actions'),
'multiselect' => 1,
'$batch_actions' => [
'contacts_batch_update' => DI::l10n()->t('Update'),
'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'),
'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'),
'contacts_batch_update' => DI::l10n()->t('Update'),
'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'),
'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'),
'contacts_batch_collapse' => DI::l10n()->t('Collapse') . '/' . DI::l10n()->t('Uncollapse'),
],
'$h_batch_actions' => DI::l10n()->t('Batch Actions'),
'$paginate' => $pager->renderFull($total),