From: <gem...@li...> - 2012-07-13 14:30:35
|
Revision: 845 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=845&view=rev Author: mennodekker Date: 2012-07-13 14:30:28 +0000 (Fri, 13 Jul 2012) Log Message: ----------- Fixed #544: Duplicate logins could lead to problems when logging in to other organization dev: needs a message in changelog.txt Modified Paths: -------------- trunk/library/classes/Gems/User/UserLoader.php Modified: trunk/library/classes/Gems/User/UserLoader.php =================================================================== --- trunk/library/classes/Gems/User/UserLoader.php 2012-07-13 13:43:15 UTC (rev 844) +++ trunk/library/classes/Gems/User/UserLoader.php 2012-07-13 14:30:28 UTC (rev 845) @@ -56,6 +56,16 @@ const USER_STAFF = 'StaffUser'; /** + * When true a user is allowed to login to a different organization then the + * one that provides an account. See GetUserClassSelect for the possible options + * but be aware that duplicate accounts could lead to problems. To avoid + * problems you can always use the organization switch AFTER login. + * + * @var boolean + */ + public $allowLoginOnOtherOrganization = false; + + /** * When true Respondent members can use their e-mail address as login name * @var boolean */ @@ -502,8 +512,11 @@ $select = $this->getUserClassSelect($login_name, $organization); if ($row = $this->db->fetchRow($select, null, Zend_Db::FETCH_NUM)) { - // MUtil_Echo::track($row); - return $this->loadUser($row[0], $row[1], $row[2]); + MUtil_Echo::track($row); + if ($row[3] == 1 || $this->allowLoginOnOtherOrganization === true) { + // MUtil_Echo::track($row); + return $this->loadUser($row[0], $row[1], $row[2]); + } } } catch (Zend_Db_Exception $e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |