<?php namespace App\Providers; use Illuminate\Support\Collection; use Illuminate\Support\ServiceProvider; use LdapRecord\Configuration\DomainConfiguration; use LdapRecord\Laravel\LdapRecord; use App\Ldap\LdapUserRepository; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // Add a new option available to be set in the configuration: DomainConfiguration::extend('name', $default = null); // Use our LdapUserRepository to support multiple baseDN querying LdapRecord::locateUsersUsing(LdapUserRepository::class); } /** * Bootstrap any application services. * * @return void */ public function boot() { $this->loadViewsFrom(__DIR__.'/../../resources/themes/architect/views/','architect'); // Enable pluck on collections to work on private values Collection::macro('ppluck', function ($attr) { return $this->map(function (object $item) use ($attr) { return $item->{$attr}; })->values(); }); } }