Commit 84b1adb6 authored by David Surville's avatar David Surville
Browse files

[Evolution] Fichiers README et CHANGELOG

parent 5e14d817
Loading
Loading
Loading
Loading

CHANGELOG.md

0 → 100644
+23 −0
Original line number Diff line number Diff line
CHANGELOG
=========

3.0.0 (01/10/2020)
------------------

- Adaptation du code pour le passage à ZF3.
- Scission des classes liées aux entités ("Generic", "Group", "People", "Root", "Structure" et "System") en deux classes :
    - classe de base avec un setter pour (presque) chaque attribut Ldap
    - classe qui hérite de la classe de base avec des fonctions spécifiques à l'entité
- Gestions des attributs "supannActivite", "ucbnSecteurDisciplinaire" et "supannEmpCorps"
- Ajout des getters pour les attributs de la classe "People" : "rid", "sambaSID", "uidNumber", "gidNumber", "loginShell" et "homeDirectory"
- Ajout des setters pour les différents attributs liés aux structures de la classe "People"
- Ajout des attributs cachés "createTimestamp" et "modifyTimestamp" comme DateTimeAttributes
- Ajout des setters pour les attributs de la classe "People" : "supannEtablissement", "supannEtuAnneeInscription", "supannEtuCursusAnnee", "supannEtuDiplome" et "supannEtuEtape"
- Ajout des setters pour les attributs de la classe "People" : "supannEtuInscription", "ucbnSiteLocalisation", "ucbnAnneePostBac", "ucbnCodeEtape", "ucbnEtuComplementInscription", 
"ucbnPrivateAddress", "ucbnPrivateAddresseBis", "supannEtuElementPedagogique", "supannEtuRegimeInscription", "supannEtuSecteurDisciplinaire" 
et "supannEtuTypeDiplome"
- Gestion de la modification de l'attribut "supannRefId" par étiquette
- Ajout de fonctions de vérification du statut d'une personne dans la classe "People"
- Fonction de récupération de champs date au format Php DateTime
- Mise en place d'une entité "Root" pour gérer la racine de l'annuaire Ldap et d'un service associé
- Ajout des setters pour les attributs de la classe "People" : "supannAutreMail" et "mailForwardingAddress"

README.md

0 → 100644
+42 −0
Original line number Diff line number Diff line
# UnicaenLdap

 * [Introduction](#introduction)
 * [Installation](#installation)
 * [Configuration](#configuration)
 
## Introduction
 
Ce module permet de se connecter à l'annuaire Ldap de l'université et de consulter/modifier ses données. 

## Pré-requis

L'utilisation de ce module nécessite l'installation de l'extension `ext-ldap` de PHP.

## Installation

```bash 
$ composer require unicaen/ldap
```

## Configuration

> Récupérer les fichiers de config du module 
 
```bash
$ cp -n vendor/unicaen/zimbra/config/unicaen-ldap.local.php.dist config/autoload/unicaen-ldap.local.php
```

> Adapter le contenu à vos besoins en configurant notamment les paramètres de connexion au serveur Ldap.

```php
'unicaen-ldap' => [
    'host'                => 'ldap-test.unicaen.fr',
    'port'                => 389,
    'version'             => 3,
    'baseDn'              => "dc=unicaen,dc=fr", // racine de l'annuaire
    'bindRequiresDn'      => true,
    'username'            => "uid=xxxx,ou=system,dc=unicaen,dc=fr",
    'password'            => "xxxx",
    'accountFilterFormat' => "(&(objectClass=supannPerson)(supannAliasLogin=%s))",
]
```
 No newline at end of file
+18 −2
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace UnicaenLdap\Entity;

use DateTime;
use UnicaenLdap\Entity\Base\People as BasePeople;
use UnicaenLdap\Entity\Group as GroupEntity;
use UnicaenLdap\Entity\Structure as StructureEntity;
use UnicaenLdap\Entity\System as SystemEntity;
use UnicaenLdap\Exception;
@@ -392,7 +393,7 @@ class People extends BasePeople
    /**
     * Retourne les structures auxquelles appartient la personne
     *
     * @return StructureEntity[]|null
     * @return StructureEntity|StructureEntity[]|null
     */
    public function getStructure()
    {
@@ -425,7 +426,7 @@ class People extends BasePeople
    /**
     * Retourne les structures recherche auxquelles appartient la personne
     *
     * @return StructureEntity[]|null
     * @return StructureEntity|StructureEntity[]|null
     */
    public function getStructureRecherche()
    {
@@ -689,6 +690,21 @@ class People extends BasePeople
        return 1 == count($value) ? array_shift($value) : $value;
    }

    /**
     * Retourne la liste des groupes dont l'utilisateur fait partie
     * Si le groupe n'est plus valide à la date d'observation, alors il n'est pas retourné dans la liste
     *
     * @param DateTime $dateObservation
     * @param string   $orderBy Champ de tri (au besoin)
     * @return GroupEntity[]|null
     */
    public function getGroups(DateTime $dateObservation = null, $orderBy = null)
    {
        $groupService = $this->service->getLdapGroupService();

        return $groupService->filterValids($groupService->getAllBy($this->get('memberOf'), 'dn', $orderBy), $dateObservation);
    }

    /**
     * Modifie l'ensemble des attributs liés au mot de passe
     *