Issue 13511: Ensure stattic community user settings

This commit is contained in:
Michael 2023-10-29 19:43:44 +00:00
parent 77ccd7201b
commit 7371070cde
5 changed files with 47 additions and 27 deletions

View file

@ -343,6 +343,35 @@ class User
return DBA::selectFirst('user', $fields, ['nickname' => $nickname]);
}
/**
* Set static settings for community user accounts
*
* @param integer $uid
* @return void
*/
public static function setCommunityUserSettings(int $uid)
{
$user = self::getById($uid, ['account-type', 'page-flags']);
if ($user['account-type'] != User::ACCOUNT_TYPE_COMMUNITY) {
return;
}
DI::pConfig()->set($uid, 'system', 'unlisted', true);
$fields = [
'allow_cid' => '',
'allow_gid' => $user['page-flags'] == User::PAGE_FLAGS_PRVGROUP ? '<' . Circle::FOLLOWERS . '>' : '',
'deny_cid' => '',
'deny_gid' => '',
'blockwall' => true,
'hidewall' => true,
];
User::update($fields, $uid);
Profile::update(['hide-friends' => true], $uid);
}
/**
* Returns the user id of a given profile URL
*