1 file.module file_permission()

Implements hook_permission().

File

core/modules/file/file.module, line 137
Defines a "managed_file" Form API field and a "file" field for Field module.

Code

function file_permission() {
  $permissions = array(
    'access file overview' => array(
      'title' => t('Access the manage files overview'),
      'description' => t('The <a href="@url">manage files overview page</a> shows all files uploaded to the site.', array('@url' => url('admin/content/files'))),
    ),
    'bypass file access' => array(
      'title' => t('Bypass file access control'),
      'description' => t('View, edit and delete all files regardless of permission restrictions.'),
      'restrict access' => TRUE,
      'warning' => t('Bypasses all other file permissions.'),
    ),
    'administer file types' => array(
      'title' => t('Administer file types'),
      'restrict access' => TRUE,
      'warning' => t('Potentially-dangerous filetypes can be allowed on the site (e.g.: <code>.zip</code>, <code>.exe</code>, etc.).'),
    ),
    'create files' => array(
      'title' => t('Add and upload new files'),
    ),
    'view own private files' => array(
      'title' => t('View own private files'),
    ),
    'view own files' => array(
      'title' => t('View own files'),
    ),
    'view private files' => array(
      'title' => t('View private files'),
      'restrict access' => TRUE,
      'warning' => t('Viewing files not available to the public can lead to a breach of private/sensitive information.'),
    ),
    'view files' => array(
      'title' => t('View files'),
    ),
    'manage files' => array(
      'title' => t('Manage or replace any file'),
      'description' => t('Allow managing of files from the files overview page.'),
      'restrict access' => TRUE,
      'warning' => t('Private files can be made publicly-available.'),
    ),
    'delete files' => array(
      'title' => t('Delete any file'),
      'description' => t('Allow deleting files directly from the manage files overview page.'),
      'restrict access' => TRUE,
      'warning' => t('Deleting files can cause irreversible data loss.'),
    ),
  );

  // Add description for the 'View file details' and 'View own private file
  // details' permissions to show which stream wrappers they apply to.
  $wrappers = file_get_public_and_private_stream_wrapper_names();
  $wrappers += array('public' => array(t('None')), 'private' => array(t('None')));

  $permissions['view files']['description'] = t('Includes the following stream wrappers: %wrappers.', array('%wrappers' => implode(', ', $wrappers['public'])));
  $permissions['view own private files']['description'] = t('Includes the following stream wrappers: %wrappers.', array('%wrappers' => implode(', ', $wrappers['private'])));

  // Generate standard file permissions for all applicable file types.
  foreach (file_permissions_get_configured_types() as $type) {
    $permissions += file_list_permissions($type);
  }

  return $permissions;
}