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

[Evolution] Fichiers README et CHANGELOG

parent 5e14d817
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"
# 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
......@@ -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
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment