From 83d68f06b86c1393317079f6f6a6e860b274d79f Mon Sep 17 00:00:00 2001
From: Marco Villegas <marvil07@gmail.com>
Date: Mon, 27 Dec 2010 18:02:40 -0500
Subject: [PATCH] A user mapping plugin that use multiple_email module.

---
 ...VersioncontrolUserMapperMultipleEmail.class.php |   22 ++++++++++++++++++++
 .../user_mapping_methods/multiple_email.inc        |    9 ++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 includes/plugins/user_mapping_methods/VersioncontrolUserMapperMultipleEmail.class.php
 create mode 100644 includes/plugins/user_mapping_methods/multiple_email.inc

diff --git includes/plugins/user_mapping_methods/VersioncontrolUserMapperMultipleEmail.class.php includes/plugins/user_mapping_methods/VersioncontrolUserMapperMultipleEmail.class.php
new file mode 100644
index 0000000..fbb1581
--- /dev/null
+++ includes/plugins/user_mapping_methods/VersioncontrolUserMapperMultipleEmail.class.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * Plugin to mapping of email using Multiple Email Addresses module.
+ *
+ * Assumes $commit->author and $commit->committer are valid email addresses;
+ * does no checking to ensure they're good.
+ */
+class VersioncontrolUserMapperMultipleEmail implements VersioncontrolUserMapperInterface {
+  public function mapAuthor(VersioncontrolOperation $commit) {
+    return $this->map($commit->author);
+  }
+
+  public function mapCommitter(VersioncontrolOperation $commit) {
+    return $this->map($commit->committer);
+  }
+
+  public function map($email) {
+    $uid = db_result(db_query("SELECT uid FROM {multiple_email} WHERE email = '%s'", $email));
+    return empty($uid) ? FALSE : $uid;
+  }
+}
diff --git includes/plugins/user_mapping_methods/multiple_email.inc includes/plugins/user_mapping_methods/multiple_email.inc
new file mode 100644
index 0000000..98f5b49
--- /dev/null
+++ includes/plugins/user_mapping_methods/multiple_email.inc
@@ -0,0 +1,9 @@
+<?php
+// $Id$
+
+$plugin = array(
+  'title' => t('Map using multiple email module.'),
+  'mapper' => array(
+    'class' => 'VersioncontrolUserMapperMultipleEmail',
+  ),
+);
-- 
1.7.2.3

