Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
lib
unicaen
ldap
Commits
de924209
Commit
de924209
authored
Mar 02, 2020
by
David Surville
Browse files
[Anomalie] Fonction de récupération de l'"OU" d'un utilisateur erronée
parent
f2159ded
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/UnicaenLdap/Entity/People.php
View file @
de924209
...
...
@@ -25,30 +25,6 @@ class People extends BasePeople
'RESP_ADMINISTRATIF'
=>
'R40'
,
];
/**
* Retourne le nom complet de cet individu LDAP.
*
* @param boolean $nomEnMajuscule Mettre le nom de famille en majuscules ?
* @param boolean $avecCivilite Inclure la civilité ?
* @param boolean $prenomDabord Mettre le prénom avant le nom de famille ?
* @return string
*/
public
function
getNomComplet
(
$nomEnMajuscule
=
false
,
$avecCivilite
=
false
,
$prenomDabord
=
false
)
{
$sn
=
$this
->
get
(
'sn'
);
$sn
=
is_array
(
$sn
)
?
current
(
$sn
)
:
$sn
;
if
(
!
$sn
)
{
return
''
;
}
$nom
=
$nomEnMajuscule
?
strtoupper
(
$sn
)
:
$sn
;
$prenom
=
$this
->
get
(
'givenname'
);
$civilite
=
$avecCivilite
?
' '
.
$this
->
get
(
'supannCivilite'
)
:
null
;
return
(
$prenomDabord
?
$prenom
.
' '
.
$nom
:
$nom
.
' '
.
$prenom
)
.
$civilite
;
}
/**
* Détermine si l'individu est actif ou non
*
...
...
@@ -86,7 +62,7 @@ class People extends BasePeople
*/
public
function
getOu
()
{
if
(
$result
=
$this
->
getDn
()
->
get
(
1
))
{
if
(
$result
=
$this
->
getNode
()
->
getDn
()
->
get
(
1
))
{
return
$result
[
'ou'
];
}
...
...
@@ -94,48 +70,80 @@ class People extends BasePeople
}
/**
* 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
* Retourne le nom complet de cet individu LDAP.
*
* @param DateTime $dateObservation
* @param string $orderBy Champ de tri (au besoin)
* @return Group[]
* @param boolean $nomEnMajuscule Mettre le nom de famille en majuscules ?
* @param boolean $avecCivilite Inclure la civilité ?
* @param boolean $prenomDabord Mettre le prénom avant le nom de famille ?
* @return string
*/
public
function
get
Groups
(
DateTime
$dateObservation
=
null
,
$orderBy
=
null
)
public
function
get
NomComplet
(
$nomEnMajuscule
=
false
,
$avecCivilite
=
false
,
$prenomDabord
=
false
)
{
$groupService
=
$this
->
getService
()
->
getLdapGroupService
();
$sn
=
$this
->
get
(
'sn'
);
$sn
=
is_array
(
$sn
)
?
current
(
$sn
)
:
$sn
;
return
$groupService
->
filterValids
(
$groupService
->
getAllBy
(
$this
->
get
(
'memberOf'
),
'dn'
,
$orderBy
),
$dateObservation
);
if
(
!
$sn
)
{
return
''
;
}
$nom
=
$nomEnMajuscule
?
strtoupper
(
$sn
)
:
$sn
;
$prenom
=
$this
->
get
(
'givenname'
);
$civilite
=
$avecCivilite
?
' '
.
$this
->
get
(
'supannCivilite'
)
:
null
;
return
(
$prenomDabord
?
$prenom
.
' '
.
$nom
:
$nom
.
' '
.
$prenom
)
.
$civilite
;
}
/**
*
Détermine si la personne est étudiante
*
Retourne le léocode associé à l'individu
*
* @return
boolean
* @return
string|null
*/
public
function
estEtudiant
()
public
function
getLeocarteCode
()
{
return
0
===
strpos
(
$this
->
uid
,
'e'
);
$attributeValues
=
$this
->
preFormat
(
$this
->
supannRefId
);
$label
=
$this
->
getLabel
(
'LEOCODE'
);
$value
=
array_filter
(
$attributeValues
,
function
(
$v
)
use
(
$label
)
{
return
preg_match
(
"/^
$label
(?<identifiant>.+)$/"
,
$v
);
});
return
!
empty
(
$value
)
?
str_replace
(
$label
,
''
,
array_values
(
$value
)[
0
])
:
null
;
}
/**
*
Détermine si la personne est un personnel
*
Retourne le code de la léocarte associée à l'individu
*
* @return
boolean
* @return
string|null
*/
public
function
estPersonnel
()
public
function
getLeocarteCSN
()
{
return
0
===
strpos
(
$this
->
uid
,
'p'
);
$attributeValues
=
$this
->
preFormat
(
$this
->
supannRefId
);
$label
=
$this
->
getLabel
(
'UNICAEN'
,
'REVERSECSN'
);
$value
=
array_filter
(
$attributeValues
,
function
(
$v
)
use
(
$label
)
{
return
preg_match
(
"/^
$label
(?<identifiant>.+)$/"
,
$v
);
});
return
!
empty
(
$value
)
?
str_replace
(
$label
,
''
,
array_values
(
$value
)[
0
])
:
null
;
}
/**
* Détermine si la personne est un invité
* 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
*
* @return boolean
* @param DateTime $dateObservation
* @param string $orderBy Champ de tri (au besoin)
* @return Group[]
*/
public
function
estInvite
(
)
public
function
getGroups
(
DateTime
$dateObservation
=
null
,
$orderBy
=
null
)
{
return
0
===
strpos
(
$this
->
uid
,
'i'
);
$groupService
=
$this
->
getService
()
->
getLdapGroupService
();
return
$groupService
->
filterValids
(
$groupService
->
getAllBy
(
$this
->
get
(
'memberOf'
),
'dn'
,
$orderBy
),
$dateObservation
);
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment