Guest User

Untitled

a guest
May 26th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * This update enables the content_permissions module and gives all anonymous
  5. * and authenticated users view access to all fields; and all 'administrator'-
  6. * users edit access.
  7. */
  8. function skaneutil_update_6003() {
  9. require('includes/skaneutil_updateutils.inc');
  10.  
  11. drupal_install_modules(array('content_permissions'));
  12.  
  13. $fields = array_keys(content_fields());
  14. $edit_permissions = array();
  15. $view_permissions = array();
  16.  
  17. foreach ($fields as $field) {
  18. $edit_permissions[] = "edit {$field}";
  19. $view_permissions[] = "view {$field}";
  20. }
  21.  
  22. $result = db_query('SELECT r.rid, r.name, p.perm FROM {role} AS r
  23. INNER JOIN {permission} AS p ON r.rid=p.rid');
  24. while ($role = db_fetch_object($result)) {
  25. switch ($role->rid) {
  26. case DRUPAL_ANONYMOUS_RID:
  27. case DRUPAL_AUTHENTICATED_RID:
  28. $can_view = array_merge(explode(', ', $role->perm), $view_permissions);
  29. skaneutil_update_utils_update_permissions($role->rid, $can_view);
  30. break;
  31. default:
  32. if ($role->name == 'administrator') {
  33. $can_edit = array_merge(explode(', ', $role->perm), $edit_permissions);
  34. skaneutil_update_utils_update_permissions($role->rid, $can_edit);
  35. }
  36. break;
  37. }
  38. }
  39.  
  40. return array();
  41. }
Add Comment
Please, Sign In to add comment