Exemplo n.º 1
0
 /**
  * Load thumbnail and save it's base64 in userdata
  * @param Manager $ldap
  * @param array $userData
  * @return string|false
  */
 public static function getThumbnail(Manager $ldap, array $userData)
 {
     $raw = $ldap->search(null, Utils::getUserLookup($userData['username']), true, array('thumbnailphoto'));
     if (!$raw->current() instanceof Node) {
         return false;
     }
     /** @var NodeAttribute[] $attrs */
     $attrs = $raw->current()->getAttributes();
     // Load user image
     if (empty($attrs['thumbnailPhoto']) !== true && $attrs['thumbnailPhoto']->getValues()) {
         $img = $attrs['thumbnailPhoto']->getValues();
         return 'data:image/jpg' . ';base64,' . base64_encode($img[0]);
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * Load data as per constructor instance
  *
  * @param Manager $ldap
  * @param array $userData
  * @return array
  */
 public function getUserInfo(Manager $ldap, array $userData)
 {
     // Load
     $raw = $ldap->search(NULL, Utils::getUserLookup($userData['username']), TRUE, array_keys($this->loadInfo));
     if (!$raw->current() instanceof Node) {
         return array();
     }
     $attributes = $raw->current()->getAttributes();
     // Post process & return
     $return = array();
     foreach ($attributes as $key => $value) {
         /** @var NodeAttribute $value */
         $newKey = $this->loadInfo[$key];
         if ($key == 'objectSid') {
             $return[$newKey] = array($this->getObjectSidFromBinary($value->getValues()[0]));
         } else {
             $return[$newKey] = $value->getValues();
         }
         if (count($return[$newKey]) === 1) {
             $return[$newKey] = reset($return[$newKey]);
         }
     }
     return $return;
 }
Exemplo n.º 3
0
 /**
  * @param Manager $ldap
  * @param $groupDn
  * @return Node[]|false
  */
 protected function getGroupMemberOf(Manager $ldap, $groupDn)
 {
     return $ldap->search(null, str_replace(':group:', ldap_escape($groupDn, null, LDAP_ESCAPE_DN), self::$GroupMemberOfLookup));
 }