/** * @param Attribute $email * @return CloudService */ public function setEmail($email) { $this->mail->set($email); return $this; }
/** * @param string $mobile */ public function setMobile($mobile) { $this->mobile->set($mobile); }
/** * @param string $cn * @return LenticularUser */ public function setUid($cn) { $this->cn->set($cn); return $this; }
/** * @param Attribute $registeredAddress * @return OrganizationalPerson */ public function setRegisteredAddress($registeredAddress) { $this->registeredAddress->set($registeredAddress); return $this; }
/** * @param Attribute $displayName * @return SambaSamAccount */ public function setDisplayName($displayName) { $this->displayName->set($displayName); return $this; }
public function addObject($class, $ldapArray = []) { $object = new $class(); $reflectionObject = new \ReflectionObject($object); do { foreach ($reflectionObject->getProperties() as $reflectionProperty) { $annotation = AnnotationHelper::getReader()->getPropertyAnnotation($reflectionProperty, Mapper\Attribute::class); if ($annotation instanceof Mapper\Attribute) { $name = strtolower(isset($annotation->name) ? $annotation->name : $reflectionProperty->name); if ($this->attributes->containsKey($name)) { $reflectionProperty->setAccessible(true); $reflectionProperty->setValue($object, $this->attributes[$name]); continue; } $attribute = null; switch ($annotation->type) { case 'string': case 'number': if (isset($ldapArray[$name])) { if ($this->attributes->containsKey($name)) { $attribute = $this->attributes[$name]; } else { if (is_array($ldapArray[$name])) { $value = isset($ldapArray[$name][0]) ? $ldapArray[$name][0] : null; } else { $value = $ldapArray[$name]; } $attribute = new Attribute(); $attribute->set($value); } } else { $attribute = new Attribute(); } break; case 'array': if (isset($ldapArray[$name])) { if (!is_array($ldapArray[$name])) { $values = array($ldapArray[$name]); } else { $values = []; foreach ($ldapArray[$name] as $key => $value) { if ($key === 'count') { continue; } $values[] = new Attribute($value); } } $attribute = new ArrayCollection($values); } else { $attribute = new ArrayCollection(); } break; case 'bool': case 'boolean': if (isset($ldapArray[$name])) { if ($this->attributes->containsKey($name)) { $attribute = $this->attributes[$name]; } else { if (is_array($ldapArray[$name])) { $value = isset($ldapArray[$name][0]) ? $ldapArray[$name][0] : null; } else { $value = $ldapArray[$name]; } $attribute = new Attribute(); $attribute->set($value); } } else { $attribute = new Attribute("FALSE"); } break; default: throw new \InvalidArgumentException('Invalid Attribute Type :' . $annotation->type); } $this->attributes[$name] = $attribute; $reflectionProperty->setAccessible(true); $reflectionProperty->setValue($object, $attribute); } } } while ($reflectionObject = $reflectionObject->getParentClass()); $this->objects[] = $object; $this->afterAddObject($class); }
/** * @param Attribute $gpgPublicKey * @return LenticularUser */ public function setGpgPublicKey($gpgPublicKey) { $this->gpgPublicKey->set($gpgPublicKey); return $this; }
/** * @param mixed $loginShell * @return PosixAccount */ public function setLoginShell($loginShell) { $this->loginShell->set($loginShell); return $this; }
/** * @param $cn */ public function setCn($cn) { $this->cn->set($cn); }
/** * @param string $shadowExpire * @return ShadowAccount */ public function setShadowExpire($shadowExpire) { $this->shadowExpire->set($shadowExpire); return $this; }
/** * @param string $authLabel * @return CloudService */ public function setAuthLabel($authLabel) { $this->authLabel->set($authLabel); return $this; }