From 3384f1f1c01586d89ed7814cded89a2bcc43d6dd Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Wed, 27 Oct 2010 22:17:18 +0000
Subject: [PATCH] Remove the ability to administer settings in shared tables
 (mainly text formats) unless the user is an admin on the default site.

git-svn-id: file:///tmp/wdn_thm_drupal/trunk@269 20a16fea-79d4-4915-8869-1ea9d5ebf173
---
 sites/all/modules/unl/unl.module | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/sites/all/modules/unl/unl.module b/sites/all/modules/unl/unl.module
index b647e69c..6eea4d43 100644
--- a/sites/all/modules/unl/unl.module
+++ b/sites/all/modules/unl/unl.module
@@ -189,6 +189,30 @@ function unl_form_alter(&$form, $form_state, $form_id) {
       unset($form['checkboxes'][$role_id]);
     }
     
+    if (!in_array(variable_get('user_admin_role'), array_keys($GLOBALS['user']->roles))) {
+      $administrator_permissions = array(
+        'unl administer administrator permissions',
+        'unl site creation',
+        'administer modules',
+        'administer themes',
+        'administer software updates',
+        'administer imce',
+        'administer filters',
+      );
+    
+      foreach ($form['permission'] as $permission => $sub_form) {
+        if (in_array($permission, $administrator_permissions)) {
+          unset($form['permission'][$permission]);
+        }
+      }
+      foreach ($form['checkboxes'] as $role_id => $sub_form) {
+        foreach ($sub_form['#options'] as $permission => $value) {
+          if (in_array($permission, $administrator_permissions)) {
+            unset($form['checkboxes'][$role_id]['#options'][$permission]);
+          }
+        }
+      }
+    }
   }
 }
 
-- 
GitLab