mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-30 20:51:22 +00:00 
			
		
		
		
	getReverseSubstitutes() works with roles
This commit is contained in:
		
							parent
							
								
									66044f8b4a
								
							
						
					
					
						commit
						d954b4df1d
					
				|  | @ -1877,20 +1877,23 @@ class SeedDMS_Core_User { /* {{{ */ | |||
| 		if (!isset($this->_rev_substitutes)) { | ||||
| 			$queryStr = "SELECT `tblUsers`.* FROM `tblUserSubstitutes` ". | ||||
| 				"LEFT JOIN `tblUsers` ON `tblUserSubstitutes`.`user` = `tblUsers`.`id` ". | ||||
| 				"LEFT JOIN `tblRoles` ON `tblRoles`.`id`=`tblUsers`.`role` ". | ||||
| 				"WHERE `tblUserSubstitutes`.`substitute`='". $this->_id ."'"; | ||||
| 			/* None admins can only be substitutes for regular users, otherwise | ||||
| 			 * regular users can become admin | ||||
| 			 */ | ||||
| 			if(!$this->isAdmin()) | ||||
| 				$queryStr .= " AND `tblUsers`.`role` = ".SeedDMS_Core_User::role_user; | ||||
| 				$queryStr .= " AND `tblRoles`.`role` = ".SeedDMS_Core_User::role_user; | ||||
| 			$resArr = $db->getResultArray($queryStr); | ||||
| 			if (is_bool($resArr) && $resArr == false) | ||||
| 				return false; | ||||
| 
 | ||||
| 			$this->_rev_substitutes = array(); | ||||
| 			$classnamerole = $this->_dms->getClassname('role'); | ||||
| 			$classname = $this->_dms->getClassname('user'); | ||||
| 			foreach ($resArr as $row) { | ||||
| 				$user = new $classname($row["id"], $row["login"], $row["pwd"], $row["fullName"], $row["email"], $row["language"], $row["theme"], $row["comment"], $row["role"], $row["hidden"], $row["disabled"], $row["pwdExpiration"], $row["loginfailures"], $row["quota"], $row["homefolder"]); | ||||
| 				$role = $classnamerole::getInstance($row['role'], $this->_dms); | ||||
| 				$user = new $classname($row["id"], $row["login"], $row["pwd"], $row["fullName"], $row["email"], $row["language"], $row["theme"], $row["comment"], $role, $row["hidden"], $row["disabled"], $row["pwdExpiration"], $row["loginfailures"], $row["quota"], $row["homefolder"]); | ||||
| 				$user->setDMS($this->_dms); | ||||
| 				array_push($this->_rev_substitutes, $user); | ||||
| 			} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann