[Fusionforge-commits] FusionForge branch Branch_5_3 updated. 1b32743ed7f679c892ca097652c8d07917225816

Franck Villaume nerville at fusionforge.org
Fri Feb 28 17:39:15 CET 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, Branch_5_3 has been updated
       via  1b32743ed7f679c892ca097652c8d07917225816 (commit)
      from  726d4535ed29b7c660ef326181e618cdc6f0b38f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1b32743ed7f679c892ca097652c8d07917225816
Author: Franck Villaume <franck.villaume at trivialdev.com>
Date:   Fri Feb 28 17:30:07 2014 +0100

    Git plugin : find another way to display user without using require_unique_email

diff --git a/src/common/include/User.class.php b/src/common/include/User.class.php
index 4bcd88a..41611bc 100644
--- a/src/common/include/User.class.php
+++ b/src/common/include/User.class.php
@@ -46,6 +46,24 @@ function &user_get_object_by_name($user_name, $res = false) {
 }
 
 /**
+ * user_get_object_by_realname() - Get User object by realname.
+ * user_get_object is useful so you can pool user objects/save database queries
+ * You should always use this instead of instantiating the object directly
+ * If we get lucky, we get the GFUser object.
+ *
+ * @param string       $user_name The unix username - required
+ * @param bool|int     $res       The result set handle ("SELECT * FROM USERS WHERE user_id=xx")
+ * @return GFUser User object or false on failure
+ */
+function &user_get_object_by_realname($real_name, $res = false) {
+	if (!$res) {
+		$res = db_query_params('SELECT * FROM users WHERE realname=$1',
+					array($real_name));
+	}
+	return user_get_object(db_result($res, 0, 'user_id'), $res);
+}
+
+/**
  * user_get_object_by_email() - Get User object by email address
  * Only works if sys_require_unique_email is true
  *
@@ -356,7 +374,7 @@ class GFUser extends Error {
 			return false;
 		}
 		if (forge_get_config('require_unique_email')) {
-			if (user_get_object_by_email('$email')) {
+			if (user_get_object_by_email($email)) {
 				$this->setError(_('User with this email already exists - use people search to recover your login.'));
 				return false;
 			}
diff --git a/src/plugins/scmgit/common/GitPlugin.class.php b/src/plugins/scmgit/common/GitPlugin.class.php
index be4ae9a..a3b6c48 100644
--- a/src/plugins/scmgit/common/GitPlugin.class.php
+++ b/src/plugins/scmgit/common/GitPlugin.class.php
@@ -960,7 +960,7 @@ class GitPlugin extends SCMPlugin {
 			$start_time = $params['begin'];
 			$end_time = $params['end'];
 			$repo = forge_get_config('repos_path', 'scmgit') . '/' . $project->getUnixName() . '/' . $project->getUnixName() . '.git';
-			$pipe = popen("GIT_DIR=\"$repo\" git log --date=raw --since=@$start_time --until=@$end_time --all --pretty='format:%ad||%ae||%s||%h' --name-status", 'r' );
+			$pipe = popen("GIT_DIR=\"$repo\" git log --date=raw --since=@$start_time --until=@$end_time --all --pretty='format:%ad||%an||%s||%h' --name-status", 'r' );
 			while (!feof($pipe) && $data = fgets($pipe)) {
 				$line = trim($data);
 				$splitedLine = explode('||', $line);
@@ -970,11 +970,11 @@ class GitPlugin extends SCMPlugin {
 					$result['group_id'] = $group_id;
 					$result['ref_id'] = 'browser.php?group_id='.$group_id;
 					$result['description'] = $splitedLine[2].' (commit '.$splitedLine[3].')';
-					$userObject = user_get_object_by_email($splitedLine[1]);
+					$userObject = user_get_object_by_realname($splitedLine[1]);
 					if (is_a($userObject, 'GFUser')) {
-						$result['realname'] = make_user_link($userObject->getUnixName(), $userObject->getRealName());
+						$result['realname'] = util_display_user($userObject->getUnixName(), $userObject->getID(), $userObject->getRealName());
 					} else {
-						$result['realname'] = '';
+						$result['realname'] = $splitedLine[1];
 					}
 					$splitedDate = explode(' ', $splitedLine[0]);
 					$result['activity_date'] = $splitedDate[0];

-----------------------------------------------------------------------

Summary of changes:
 src/common/include/User.class.php             |   20 +++++++++++++++++++-
 src/plugins/scmgit/common/GitPlugin.class.php |    8 ++++----
 2 files changed, 23 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list