| <?php |
|
|
| namespace Kanboard\Core\User; |
|
|
| |
| |
| |
| |
| |
| |
| class UserProperty |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| public static function getProperties(UserProviderInterface $user) |
| { |
| $properties = array( |
| 'username' => $user->getUsername(), |
| 'name' => $user->getName(), |
| 'email' => $user->getEmail(), |
| 'role' => $user->getRole(), |
| $user->getExternalIdColumn() => $user->getExternalId(), |
| ); |
|
|
| $properties = array_merge($properties, $user->getExtraAttributes()); |
|
|
| return array_filter($properties, array(__NAMESPACE__.'\UserProperty', 'isNotEmptyValue')); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public static function filterProperties(array $profile, array $properties) |
| { |
| $excludedProperties = explode_csv_field(EXTERNAL_AUTH_EXCLUDE_FIELDS); |
| $values = array(); |
|
|
| foreach ($properties as $property => $value) { |
| if (self::isNotEmptyValue($value) && |
| ! in_array($property, $excludedProperties) && |
| array_key_exists($property, $profile) && |
| $value !== $profile[$property]) { |
| $values[$property] = $value; |
| } |
| } |
|
|
| return $values; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public static function isNotEmptyValue($value) |
| { |
| return $value !== null && $value !== ''; |
| } |
| } |
|
|