LDAPProviderFactory.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2016, Roger Szabo (roger.szabo@web.de)
  4. *
  5. * @author Roeland Jago Douma <roeland@famdouma.nl>
  6. * @author Roger Szabo <roger.szabo@web.de>
  7. * @author root <root@localhost.localdomain>
  8. *
  9. * @license GNU AGPL version 3 or any later version
  10. *
  11. * This program is free software: you can redistribute it and/or modify
  12. * it under the terms of the GNU Affero General Public License as
  13. * published by the Free Software Foundation, either version 3 of the
  14. * License, or (at your option) any later version.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU Affero General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU Affero General Public License
  22. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  23. *
  24. */
  25. namespace OCA\User_LDAP;
  26. use OCP\LDAP\ILDAPProviderFactory;
  27. use OCP\IServerContainer;
  28. use OCA\User_LDAP\User\DeletedUsersIndex;
  29. use OCA\User_LDAP\Mapping\UserMapping;
  30. class LDAPProviderFactory implements ILDAPProviderFactory {
  31. /**
  32. * Server container
  33. *
  34. * @var IServerContainer
  35. */
  36. private $serverContainer;
  37. /**
  38. * Constructor for the LDAP provider factory
  39. *
  40. * @param IServerContainer $serverContainer server container
  41. */
  42. public function __construct(IServerContainer $serverContainer) {
  43. $this->serverContainer = $serverContainer;
  44. }
  45. /**
  46. * creates and returns an instance of the ILDAPProvider
  47. *
  48. * @return OCP\LDAP\ILDAPProvider
  49. */
  50. public function getLDAPProvider() {
  51. $dbConnection = $this->serverContainer->getDatabaseConnection();
  52. $userMapping = new UserMapping($dbConnection);
  53. return new LDAPProvider($this->serverContainer, new Helper($this->serverContainer->getConfig()),
  54. new DeletedUsersIndex($this->serverContainer->getConfig(),
  55. $dbConnection, $userMapping));
  56. }
  57. }