You are here

function _social_topic_get_permissions in Open Social 8.7

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  2. 8 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  3. 8.2 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  4. 8.3 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  5. 8.4 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  6. 8.5 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  7. 8.6 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  8. 8.8 modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  9. 10.3.x modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  10. 10.0.x modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  11. 10.1.x modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()
  12. 10.2.x modules/social_features/social_topic/social_topic.install \_social_topic_get_permissions()

Return the permissions per role.

Parameters

string $role: The role to get the permissions for.

Return value

array A list of permissions.

1 call to _social_topic_get_permissions()
_social_topic_set_permissions in modules/social_features/social_topic/social_topic.install
Function to set permissions.

File

modules/social_features/social_topic/social_topic.install, line 70
Install, update and uninstall functions for the social_topic module.

Code

function _social_topic_get_permissions($role) {

  // Anonymous.
  $permissions['anonymous'] = [
    'view node.topic.field_content_visibility:public content',
  ];

  // Authenticated.
  $permissions['authenticated'] = array_merge($permissions['anonymous'], [
    'create topic content',
    'delete own topic content',
    'edit own topic content',
    'override topic published option',
    'view node.topic.field_content_visibility:community content',
    'view topics on my profile',
    'view topics on other profiles',
  ]);

  // Content manager.
  $permissions['contentmanager'] = array_merge($permissions['authenticated'], [
    'delete any topic content',
    'edit any topic content',
    'revert topic revisions',
    'delete topic revisions',
    'view topic revisions',
    'override topic revision log entry',
    'override topic authored by option',
    'override topic authored on option',
    'override topic promote to front page option',
    'override topic revision option',
    'override topic sticky option',
  ]);

  // Site manager.
  $permissions['sitemanager'] = array_merge($permissions['contentmanager'], [
    'administer visibility settings',
    'administer social_topic settings',
  ]);
  if (isset($permissions[$role])) {
    return $permissions[$role];
  }
  return [];
}