Index: nodewords.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords.module,v
retrieving revision 1.57.2.360
diff -u -p -r1.57.2.360 nodewords.module
--- nodewords.module	30 Oct 2010 04:57:44 -0000	1.57.2.360
+++ nodewords.module	30 Oct 2010 17:08:56 -0000
@@ -91,7 +91,7 @@ function nodewords_nodeapi(&$node, $op, 
  * Implements hook_perm().
  */
 function nodewords_perm() {
-  return array('administer meta tags');
+  return array('administer meta tags', 'edit meta tags');
 }
 
 /**
Index: nodewords_ui/nodewords_ui.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_ui/Attic/nodewords_ui.module,v
retrieving revision 1.1.2.13
diff -u -p -r1.1.2.13 nodewords_ui.module
--- nodewords_ui/nodewords_ui.module	4 Aug 2010 16:29:27 -0000	1.1.2.13
+++ nodewords_ui/nodewords_ui.module	30 Oct 2010 17:08:56 -0000
@@ -26,21 +26,18 @@ function nodewords_ui_content_extra_fiel
  * Implements hook_form_alter().
  */
 function nodewords_ui_form_alter(&$form, $form_state, $form_id) {
-  $bool = (
-    isset($form['type']) &&
-    isset($form['#node']) &&
-    $form_id == $form['type']['#value'] . '_node_form'
-  );
-  if ($bool) {
-    $node = $form['#node'];
-    $form['nodewords'] = nodewords_tags_edit_fields(
-      _nodewords_ui_get_node_metatags_type($node),
-      !empty($node->nodewords['metatags']) ? $node->nodewords['metatags'] : array(),
-      array(
-        'fieldset' => TRUE,
-        'tag options' => array('content type' => $form['type']['#value']),
-      )
-    );
+  if (isset($form['type']) && isset($form['#node']) && $form_id == $form['type']['#value'] . '_node_form') {
+    if (user_access('administer meta tags') || user_access('edit meta tags')) {
+      $node = $form['#node'];
+      $form['nodewords'] = nodewords_tags_edit_fields(
+        _nodewords_ui_get_node_metatags_type($node),
+        !empty($node->nodewords['metatags']) ? $node->nodewords['metatags'] : array(),
+        array(
+          'fieldset' => TRUE,
+          'tag options' => array('content type' => $form['type']['#value']),
+        )
+      );
+    }
   }
 }
 
@@ -138,24 +135,15 @@ function nodewords_ui_theme() {
  * Implements hook_user().
  */
 function nodewords_ui_user($op, &$edit, &$account, $category = NULL) {
-  global $user;
-
-  $bool = (
-    $op == 'form' &&
-    (
-      user_access('administer meta tags') ||
-      $user->uid == $account->uid
-    ) &&
-    $category == 'account'
-  );
-  if ($bool) {
-    $form['nodewords'] = nodewords_tags_edit_fields(
-      array('type' => NODEWORDS_TYPE_USER, 'id' => $account->uid),
-      isset($account->nodewords['metatags']) ? $account->nodewords['metatags'] : array(),
-      array('fieldset' => TRUE)
-    );
-
-    return $form;
+  if ($op == 'form' && $category == 'account') {
+    if (user_access('administer meta tags') || user_access('edit meta tags')) {
+      $form['nodewords'] = nodewords_tags_edit_fields(
+        array('type' => NODEWORDS_TYPE_USER, 'id' => $account->uid),
+        isset($account->nodewords['metatags']) ? $account->nodewords['metatags'] : array(),
+        array('fieldset' => TRUE)
+      );
+      return $form;
+    }
   }
 }
 
