function forum_access_form_node_form_get_available_tids in Forum Access 8
Get list of available tids for specific account.
Parameters
\Drupal\Core\Session\AccountInterface $account: The user object for the user whose access is being checked.
\Drupal\node\NodeInterface $node: The node to check.
Return value
array List of available tids for specific account.
1 call to forum_access_form_node_form_get_available_tids()
- forum_access_form_node_form_alter in ./
forum_access.module - Implements hook_form_FORM_ID_alter() for node_form.
File
- ./
forum_access.module, line 787 - Contains forum_access.module.
Code
function forum_access_form_node_form_get_available_tids(AccountInterface $account, NodeInterface $node) {
module_load_include('inc', 'forum_access', 'includes/forum_access.common');
// We figure out what tids we want to show in form according
// to the forum access settings.
$forum_access_settings = forum_access_get_settings_by_roles($account
->getRoles(), 'create');
$tids = [];
foreach ($forum_access_settings as $setting) {
$tids[$setting->tid] = $setting->tid;
}
// Also get all forums they happen to be able to moderate.
$acl_access_settings = forum_access_get_settings_by_user('forum_access', $account
->id(), 'moderate');
foreach ($acl_access_settings as $setting) {
$tids[$setting->figure] = $setting->figure;
}
// Make available current forum for existed node.
if (!empty($node)) {
$forum_tid = forum_access_get_tid($node);
$tids[$forum_tid] = $forum_tid;
}
return $tids;
}