*/
public static function getContactListByUserId(int $user_id)
{
- $acl_contacts = Contact::selectToArray(
- ['id', 'name', 'addr', 'micro'],
- ['uid' => $user_id, 'pending' => false, 'rel' => [Contact::FOLLOWER, Contact::FRIEND]]
+ $fields = ['id', 'name', 'addr', 'micro'];
+ $params = ['order' => ['name']];
+ $acl_contacts = Contact::selectToArray($fields,
+ ['uid' => $user_id, 'self' => false, 'blocked' => false, 'archive' => false, 'deleted' => false,
+ 'pending' => false, 'rel' => [Contact::FOLLOWER, Contact::FRIEND]], $params
);
+
+ $acl_forums = Contact::selectToArray($fields,
+ ['uid' => $user_id, 'self' => false, 'blocked' => false, 'archive' => false, 'deleted' => false,
+ 'pending' => false, 'contact-type' => Contact::TYPE_COMMUNITY], $params
+ );
+
+ $acl_contacts = array_merge($acl_forums, $acl_contacts);
+
array_walk($acl_contacts, function (&$value) {
$value['type'] = 'contact';
});
*/
public static function getFullSelectorHTML(Page $page, array $user = null, bool $for_federation = false, array $default_permissions = [])
{
+ if (empty($user['uid'])) {
+ return '';
+ }
+
$page->registerFooterScript(Theme::getPathForFile('asset/typeahead.js/dist/typeahead.bundle.js'));
$page->registerFooterScript(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.js'));
$page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.css'));
// Defaults user permissions
if (empty($default_permissions)) {
$default_permissions = self::getDefaultUserPermissions($user);
- } else {
- $default_permissions = [
- 'allow_cid' => $default_permissions['allow_cid'] ?? [],
- 'allow_gid' => $default_permissions['allow_gid'] ?? [],
- 'deny_cid' => $default_permissions['deny_cid'] ?? [],
- 'deny_gid' => $default_permissions['deny_gid'] ?? [],
- ];
}
+ $default_permissions = [
+ 'allow_cid' => $default_permissions['allow_cid'] ?? [],
+ 'allow_gid' => $default_permissions['allow_gid'] ?? [],
+ 'deny_cid' => $default_permissions['deny_cid'] ?? [],
+ 'deny_gid' => $default_permissions['deny_gid'] ?? [],
+ 'hidewall' => $default_permissions['hidewall'] ?? false,
+ ];
+
if (count($default_permissions['allow_cid'])
+ count($default_permissions['allow_gid'])
+ count($default_permissions['deny_cid'])
$pubmail_enabled = false;
if (function_exists('imap_open') && !Config::get('system', 'imap_disabled')) {
- $mailacct = DBA::selectFirst('mailacct', ['pubmail'], ['`uid` = ? AND `server` != ""', $user['รบid']]);
+ $mailacct = DBA::selectFirst('mailacct', ['pubmail'], ['`uid` = ? AND `server` != ""', $user['uid']]);
if (DBA::isResult($mailacct)) {
$mail_enabled = true;
$pubmail_enabled = !empty($mailacct['pubmail']);
}
}
- if (empty($default_permissions['hidewall'])) {
+ if (!$default_permissions['hidewall']) {
if ($mail_enabled) {
$jotnets_fields[] = [
'type' => 'checkbox',