/** * Returns the user that match the given string * * @param String $user_name * @return PFUser * @throws Exception */ public function getUserByName($user_name) { $user = $this->user_manager->getUserByIdentifier($user_name); if ($user && $user->isAlive()) { return $user; } throw new Exception('Invalid user'); }
/** * @param SimpleXMLElement $xml_element * @return PFUser */ public function getUser(SimpleXMLElement $xml_element) { $submitter = $this->user_manager->getUserByIdentifier($this->getUserFormat($xml_element)); if (!$submitter) { $submitter = $this->user_manager->getUserAnonymous(); $submitter->setEmail((string) $xml_element); } return $submitter; }
public function getFieldDataFromRESTObject(array $rest_data, Tracker_FormElement_Field_List $field) { if (isset($rest_data['id']) && is_numeric($rest_data['id'])) { $id = (int) $rest_data['id']; $user = $this->getValue($id); if (!$user) { throw new Tracker_FormElement_InvalidFieldValueException('Cannot Bind to user with ID ' . $id . ' for field ID ' . $field->getId()); } return Tracker_FormElement_Field_OpenList::BIND_PREFIX . $id; } if (isset($rest_data['username'])) { $identifier = (string) $rest_data['username']; $user = $this->userManager->getUserByIdentifier($identifier); if (!$user) { throw new Tracker_FormElement_InvalidFieldValueException('Cannot Bind to user "' . $identifier . '" for field ID ' . $field->getId()); } return Tracker_FormElement_Field_OpenList::BIND_PREFIX . $user->getId(); } if (!isset($rest_data['email'])) { throw new Tracker_FormElement_InvalidFieldValueException('OpenList user fields values should be passed as an object with at least one of the properties "id", "username" or "email"'); } $identifier = (string) $rest_data['email']; $user = $this->userManager->getUserByIdentifier("email:{$identifier}"); if (!$user) { return Tracker_FormElement_Field_OpenList::NEW_VALUE_PREFIX . $identifier; } return Tracker_FormElement_Field_OpenList::BIND_PREFIX . $user->getId(); }
/** * @param SimpleXMLElement $ugroup * * @return PFUser[] */ private function getListOfUgroupMember(SimpleXMLElement $ugroup) { $ugroup_members = array(); foreach ($ugroup->members->member as $xml_member) { $identifier = $this->xml_helper->getUserFormat($xml_member); $user = $this->user_manager->getUserByIdentifier($identifier); if (!$user) { $this->logger->debug("User ({$identifier}) does not exist -> skipped"); continue; } $ugroup_members[] = $user; } return $ugroup_members; }
public function isValid($value) { if ($value) { $values = explode(',', $value); foreach ($values as $v) { if (stripos($v, '!') !== false) { //we check the string is an email $rule = new Rule_Email(); if (!$rule->isValid($v)) { //we check the string correspond to a username if (!$this->userManager->getUserByIdentifier(substr($v, 1))) { return false; } } } } } return true; }