Index: mollom.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/mollom/mollom.module,v retrieving revision 1.54 diff -u -p -r1.54 mollom.module --- mollom.module 24 Jul 2010 00:51:57 -0000 1.54 +++ mollom.module 29 Jul 2010 18:50:17 -0000 @@ -1580,16 +1580,21 @@ function mollom_get_statistics($refresh /** * Implements hook_field_extra_fields(). * - * Allow users to re-order the CAPTCHA field on node forms through the Field UI. + * Allow users to re-order Mollom form additions through Field UI. */ function mollom_field_extra_fields() { $extras = array(); - foreach (node_type_get_names() as $type => $name) { - if (mollom_form_load($type . '_node_form')) { - $extras['node'][$type]['mollom'] = array( + $forms = array_flip(db_query('SELECT form_id FROM {mollom_form}')->fetchCol()); + foreach (mollom_form_list() as $form_id => $info) { + if (isset($info['entity']) && isset($forms[$form_id])) { + // @todo double-check 'default' + $entity_type = $info['entity']; + $bundle = (isset($info['bundle']) ? $info['bundle'] : 'default'); + + $extras[$entity_type][$bundle]['mollom'] = array( 'label' => t('Mollom'), 'description' => t('Mollom CAPTCHA'), - 'weight' => 99999, + 'weight' => 99, ); } } @@ -1705,6 +1710,7 @@ function node_mollom_form_list() { $forms[$form_id] = array( 'title' => t('@name form', array('@name' => $type->name)), 'entity' => 'node', + 'bundle' => $type->type, 'delete form' => 'node_delete_confirm', ); } @@ -1724,6 +1730,7 @@ function node_mollom_form_info($form_id) // @todo This is incompatible with node access. 'bypass access' => array('bypass node access', 'edit any ' . $type->type . ' content'), 'entity' => 'node', + 'bundle' => $type->type, 'elements' => array(), 'mapping' => array( 'post_id' => 'nid',