Hi,

at this point this seems to be more of a problem on Mollom side than DFF, but I'll post a cross-reference here in case some other DFF user has noticed same kind of problems.

Short version: It looks like Mollom automatically recognizes the nnnn@facebook usernames as spammers so that they are not able to post comments on the site.

Original issue in Mollom issue que: http://drupal.org/node/463026#comment-3264446.

If someone is having the same problems, please reply to the original issue in Mollom side.

Comments

Jean Rodas’s picture

Same happen to me i open a issue in Mollom

ebeyrent’s picture

Here's how I got around the problem. I prepend my own validation handler to my forms to process the Facebook email address before the form data gets sent to Mollom. If I can't get an email address, all of my Facebook users will need to fill out the CAPTCHA on every submit. As a workaround, it's better than nothing.

Something like this:


  function MYMODULE_form_alter(&$form, &$form_state, &$form_id) {
    switch($form_id) {
      case 'comment_form':
        // Prepend our own form validation handler
        array_unshift($form['#validate'], '_mollom_facebook_email_preprocess');
        break;
    }
  }

function _mollom_facebook_email_preprocess(&$form, &$form_state) {
  if (strpos($form_state['values']['author'], '@facebook') !== false) {
  	$info =_get_fb_user_info();
  	if(!empty($info['name'])) {
  		$form_state['values']['name'] = $info['name'];	
  	}
  	if(!empty($info['email'])) {
  		$form_state['values']['mail'] = $info['email'];
  	}
  }
}

function _get_fb_user_info() {
  global $_fb, $user;
  $fbu = fb_get_fbu($user->uid);
  if (isset($_fb) && $fbu) {
    try {
      $info = $_fb->api($fbu);
      if (!empty($info)) {
        return $info;
      }
    }
    catch (Exception $e) {
      if (fb_verbose()) {
        fb_log_exception($e, t('Failed to get facebook user email.'));
      }
    }
  }
  return FALSE;
}

When I implement this code, my form submissions appear to pass Mollom's validation.