Commit 9bb7bf3c authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

correctif majeur des fichiers pour passer ZF -> Laminas

parent c29d947e
Loading
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -3,11 +3,11 @@

namespace UnicaenUtilisateurLdapAdapter;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Zend\Stdlib\ArrayUtils;
use Zend\Stdlib\Glob;
use Zend\Config\Factory as ConfigFactory;
use Laminas\Config\Factory as ConfigFactory;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Stdlib\ArrayUtils;
use Laminas\Stdlib\Glob;

class Module
{
@@ -19,7 +19,7 @@ class Module
        $moduleRouteListener->attach($eventManager);

        /* Active un layout spécial si la requête est de type AJAX. Valable pour TOUS les modules de l'application. */
        $eventManager->getSharedManager()->attach('Zend\Mvc\Controller\AbstractActionController', 'dispatch',
        $eventManager->getSharedManager()->attach('Laminas\Mvc\Controller\AbstractActionController', 'dispatch',
            function (MvcEvent $e) {
                $request = $e->getRequest();
                if ($request instanceof HttpRequest && $request->isXmlHttpRequest()) {
@@ -47,7 +47,7 @@ class Module
    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
            'Laminas\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
+3 −3
Original line number Diff line number Diff line
@@ -8,8 +8,8 @@
    }
  ],
  "require": {
    "unicaen/utilisateur":                          ">=6.0",
    "unicaen/ldap":                                 ">=4.0"
    "unicaen/utilisateur": "^6.0",
    "unicaen/ldap": "^4.0"
  },
  "autoload": {
    "psr-0": {
+7 −6
Original line number Diff line number Diff line
@@ -2,14 +2,15 @@

## But du module

Le but de cet adaptateur est de fournir une service effectuant une recherche dans le LDAP en garantissant le contract des 
interface de `Unicaen/Utilisateur` : `RechercheIndividuServiceInterface` et `RechercheIndividuResultatInterface`.
Le but de cet adaptateur est de fournir une service effectuant une recherche dans le LDAP en garantissant le contract
des interface de `Unicaen/Utilisateur` : `RechercheIndividuServiceInterface` et `RechercheIndividuResultatInterface`.
Cela sans modification de `Unicaen/Ldap`.

## Historique des versions

**version 2.0.0**  16/02/2023
- version fournissant le service de recherche pour laminas / Php8
**version 0.1.1**  16/10/2019

- version initial fournissant le service de recherche

## Amélioration et/ou changement à venir

+8 −7
Original line number Diff line number Diff line
@@ -5,7 +5,8 @@ namespace UnicaenUtilisateurLdapAdapter\Entity;
use UnicaenLdap\Entity\People;
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterface;

class LdapIndividu implements RechercheIndividuResultatInterface {
class LdapIndividu implements RechercheIndividuResultatInterface
{

    /** @var \UnicaenLdap\Entity\People */
    private $people;
@@ -33,7 +34,7 @@ class LdapIndividu implements RechercheIndividuResultatInterface {
        return $this->people->getId();
    }

    public function getUsername()
    public function getUsername(string $attribut = "supannAliasLogin")
    {
        return $this->people->get('supannAliasLogin');
    }
+34 −7
Original line number Diff line number Diff line
@@ -2,17 +2,18 @@

namespace UnicaenUtilisateurLdapAdapter\Service;

use UnicaenLdap\Entity\People as PeopleEntity;
use UnicaenLdap\Exception;
use UnicaenLdap\Filter\People as PeopleFilter;
use UnicaenLdap\Service\People as PeopleService;
use UnicaenLdap\Entity\People  as PeopleEntity;
use UnicaenLdap\Service\LdapPeopleServiceAwareTrait;
use UnicaenUtilisateurLdapAdapter\Entity\LdapIndividu;
use UnicaenLdap\Service\People as PeopleService;
use UnicaenUtilisateur\Exception\RuntimeException;
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterface;
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuServiceInterface;
use UnicaenUtilisateurLdapAdapter\Entity\LdapIndividu;

class LdapService implements RechercheIndividuServiceInterface {
class LdapService implements RechercheIndividuServiceInterface
{
    use LdapPeopleServiceAwareTrait;

    /**
@@ -58,4 +59,30 @@ class LdapService implements RechercheIndividuServiceInterface {
        }
        return $res;
    }

    public function findByUsername(string $username)
    {
        $people = null;
        $filter = PeopleFilter::username($username);
        /** @var PeopleService $ldapService */
        try {
            $people = $this->ldapPeopleService->search($filter);
        } catch (Exception $e) {
            throw new RuntimeException("Une exception ldap est survenue :", $e);
        }

        if(sizeof($people) > 1):
            throw new RuntimeException("Plusieurs personnes correspondent au username.");
        endif;


        $res = null;
        /** @var PeopleEntity $peep */
        foreach ($people as $peep) {
            $p = new LdapIndividu();
            $p->setPeople($peep);
            $res = $p;
        }
        return $res;
    }
}
 No newline at end of file
Loading