Code Duplication    Length = 10-10 lines in 6 locations

code/services/LDAPService.php 6 locations

@@ 269-278 (lines=10) @@
266
     * @param array $attributes List of specific AD attributes to return. Empty array means return everything.
267
     * @return array
268
     */
269
    public function getGroupByGUID($guid, $attributes = [])
270
    {
271
        $searchLocations = $this->config()->groups_search_locations ?: [null];
272
        foreach ($searchLocations as $searchLocation) {
273
            $records = $this->gateway->getGroupByGUID($guid, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
274
            if ($records) {
275
                return $records[0];
276
            }
277
        }
278
    }
279
280
    /**
281
     * Get a particular AD group's data given a DN.
@@ 287-296 (lines=10) @@
284
     * @param array $attributes List of specific AD attributes to return. Empty array means return everything.
285
     * @return array
286
     */
287
    public function getGroupByDN($dn, $attributes = [])
288
    {
289
        $searchLocations = $this->config()->groups_search_locations ?: [null];
290
        foreach ($searchLocations as $searchLocation) {
291
            $records = $this->gateway->getGroupByDN($dn, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
292
            if ($records) {
293
                return $records[0];
294
            }
295
        }
296
    }
297
298
    /**
299
     * Return all AD users in configured search locations, including all users in nested groups.
@@ 332-341 (lines=10) @@
329
     * @param array $attributes List of specific AD attributes to return. Empty array means return everything.
330
     * @return array
331
     */
332
    public function getUserByGUID($guid, $attributes = [])
333
    {
334
        $searchLocations = $this->config()->users_search_locations ?: [null];
335
        foreach ($searchLocations as $searchLocation) {
336
            $records = $this->gateway->getUserByGUID($guid, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
337
            if ($records) {
338
                return $records[0];
339
            }
340
        }
341
    }
342
343
    /**
344
     * Get a specific AD user's data given a DN.
@@ 351-360 (lines=10) @@
348
     *
349
     * @return array
350
     */
351
    public function getUserByDN($dn, $attributes = [])
352
    {
353
        $searchLocations = $this->config()->users_search_locations ?: [null];
354
        foreach ($searchLocations as $searchLocation) {
355
            $records = $this->gateway->getUserByDN($dn, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
356
            if ($records) {
357
                return $records[0];
358
            }
359
        }
360
    }
361
362
    /**
363
     * Get a specific user's data given an email.
@@ 369-378 (lines=10) @@
366
     * @param array $attributes List of specific AD attributes to return. Empty array means return everything.
367
     * @return array
368
     */
369
    public function getUserByEmail($email, $attributes = [])
370
    {
371
        $searchLocations = $this->config()->users_search_locations ?: [null];
372
        foreach ($searchLocations as $searchLocation) {
373
            $records = $this->gateway->getUserByEmail($email, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
374
            if ($records) {
375
                return $records[0];
376
            }
377
        }
378
    }
379
380
    /**
381
     * Get a specific user's data given a username.
@@ 387-396 (lines=10) @@
384
     * @param array $attributes List of specific AD attributes to return. Empty array means return everything.
385
     * @return array
386
     */
387
    public function getUserByUsername($username, $attributes = [])
388
    {
389
        $searchLocations = $this->config()->users_search_locations ?: [null];
390
        foreach ($searchLocations as $searchLocation) {
391
            $records = $this->gateway->getUserByUsername($username, $searchLocation, Zend\Ldap\Ldap::SEARCH_SCOPE_SUB, $attributes);
392
            if ($records) {
393
                return $records[0];
394
            }
395
        }
396
    }
397
398
    /**
399
     * Get a username for an email.