/** * Convert assoc array to user object * @param $assocUserArray * @return \Cms\Data\User */ protected function getUserFromArray($assocUserArray) { // validate fields try { $this->validateRequiredFields($assocUserArray); } catch (\Exception $e) { Registry::getLogger()->logException(__METHOD__, __LINE__, $e, Log::ERR); return null; } $user = new \Cms\Data\User(); $user->setId($assocUserArray['id']); // user is readonly and not deletable $user->setReadonly(true); $user->setDeletable(false); // required fields $user->setFirstname($assocUserArray['firstname']); $user->setLastname($assocUserArray['lastname']); $user->setEmail($assocUserArray['email']); $user->setPassword($assocUserArray['password']); // optional if (isset($assocUserArray['gender'])) { $user->setGender($assocUserArray['gender']); } if (isset($assocUserArray['language'])) { $user->setLanguage($assocUserArray['language']); } if (isset($assocUserArray['passwordResetUrl'])) { $sourceInfo = $user->getSourceInfo(); $sourceInfo['passwordResetUrl'] = $assocUserArray['passwordResetUrl']; $user->setSourceInfo($sourceInfo); } if (isset($assocUserArray['dashboardUrl'])) { $sourceInfo = $user->getSourceInfo(); $sourceInfo['dashboardUrl'] = $assocUserArray['dashboardUrl']; $user->setSourceInfo($sourceInfo); } if (isset($assocUserArray['upgradeUrl'])) { $sourceInfo = $user->getSourceInfo(); $sourceInfo['upgradeUrl'] = $assocUserArray['upgradeUrl']; $user->setSourceInfo($sourceInfo); } return $user; }