From 7d17c59a51d06e7aeaf8b52fb5268dc14a7b51dd Mon Sep 17 00:00:00 2001
From: Michael Gapczynski <mtgap@owncloud.com>
Date: Fri, 27 Jul 2012 15:34:51 -0400
Subject: [PATCH] Fix group detection for sharing in case username contains
 '@', fix for oc-1270

---
 apps/files_sharing/ajax/getitem.php | 7 ++++++-
 apps/files_sharing/lib_share.php    | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/apps/files_sharing/ajax/getitem.php b/apps/files_sharing/ajax/getitem.php
index 36ac372cad4..852e5a24571 100644
--- a/apps/files_sharing/ajax/getitem.php
+++ b/apps/files_sharing/ajax/getitem.php
@@ -23,8 +23,13 @@ while ($path != $userDirectory) {
 				}
 			} else {
 				// Check if uid_shared_with is a group
-				if (($pos = strpos($uid_shared_with, '@')) !== false) {
+				$pos = strrpos($uid_shared_with, '@');
+				if ($pos !== false) {
 					$gid = substr($uid_shared_with, $pos + 1);
+				} else {
+					$gid = false;
+				}
+				if ($gid && OC_Group::groupExists($gid)) {
 					// Include users in the group so the users can be removed from the list of people to share with
 					if ($path == $source) {
 						$group = array(array('gid' => $gid, 'permissions' => $rows[$i]['permissions'], 'users' => OC_Group::usersInGroup($gid), 'parentFolder' => false));
diff --git a/apps/files_sharing/lib_share.php b/apps/files_sharing/lib_share.php
index c0d0a1f18b9..b939132a9a0 100644
--- a/apps/files_sharing/lib_share.php
+++ b/apps/files_sharing/lib_share.php
@@ -182,7 +182,7 @@ class OC_Share {
 				$uid_shared_with = OC_Group::usersInGroup($uid_shared_with);
 				// Remove the owner from the list of users in the group
 				$uid_shared_with = array_diff($uid_shared_with, array(OCP\USER::getUser()));
-			} else if ($uid = strstr($uid_shared_with, '@', true)) {
+			} else if ($uid = strrchr($uid_shared_with, '@', true)) {
 				$uid_shared_with = array($uid);
 			} else {
 				$uid_shared_with = array($uid_shared_with);
-- 
GitLab