Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
lib
unicaen
ldap
Commits
3937a692
Commit
3937a692
authored
Oct 03, 2014
by
David Surville
Browse files
Ajout des classes d'objet nécessaires à la création de chaque entité
parent
2cb72276
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/UnicaenLdap/Entity/Entity.php
View file @
3937a692
...
...
@@ -31,6 +31,15 @@ abstract class Entity
* @var Node
*/
protected
$node
;
/**
* Liste des classes d'objet nécessaires à la création de l'entité
*
* @var string[]
*/
protected
$objectClass
=
array
(
);
/**
* Liste des attributs contenant des dates
...
...
@@ -69,7 +78,7 @@ abstract class Entity
if
(
$data
instanceof
Node
){
$this
->
setNode
(
$data
);
}
else
{
$this
->
setNode
(
Node
::
create
(
$data
)
);
$this
->
setNode
(
Node
::
create
(
$data
,
$this
->
objectClass
)
);
}
}
...
...
@@ -233,7 +242,7 @@ abstract class Entity
public
function
set
(
$attrName
,
$value
)
{
if
(
in_array
(
$attrName
,
$this
->
dateTimeAttributes
)){
$this
->
getNode
()
->
setDateTimeAttribute
(
$attrName
,
$value
);
$this
->
getNode
()
->
setDateTimeAttribute
(
$attrName
,
$value
,
true
);
}
else
{
$this
->
getNode
()
->
setAttribute
(
$attrName
,
$value
);
}
...
...
src/UnicaenLdap/Entity/Generic.php
View file @
3937a692
...
...
@@ -10,6 +10,20 @@ class Generic extends Entity
{
protected
$type
=
'Generic'
;
/**
* Liste des classes d'objet nécessaires à la création d'une adresse générique
*
* @var string[]
*/
protected
$objectClass
=
array
(
'top'
,
'inetOrgPerson'
,
'organizationalPerson'
,
'person'
,
'supannPerson'
,
'ucbnEmp'
);
/**
* Liste des attributs contenant des dates
...
...
src/UnicaenLdap/Entity/Group.php
View file @
3937a692
...
...
@@ -13,6 +13,16 @@ class Group extends Entity
protected
$type
=
'Group'
;
/**
* Liste des classes d'objet nécessaires à la création d'un groupe
*
* @var string[]
*/
protected
$objectClass
=
array
(
'groupOfNames'
,
'supannGroupe'
);
/**
* Liste des attributs contenant des dates
*
...
...
src/UnicaenLdap/Entity/People.php
View file @
3937a692
...
...
@@ -14,18 +14,37 @@ use DateTime;
*/
class
People
extends
Entity
{
protected
$role_pattern
=
'/^\[role={SUPANN}(.*)\]\[type={SUPANN}(.*)\]\[code=(.*)\]\[libelle=(.*)\]$/'
;
/**
* Rôle de responsable de la sécurité des systèmes d'information
*/
const
ROLE_RSSI
=
'T83'
;
/**
* Rôle de correspondant sécurité des systèmes d'information
* Liste des rôles existants
*
* @var string[]
*/
const
ROLE_CSSI
=
'T84'
;
static
protected
$pattern
=
'/^\[role={SUPANN}(.*)\]\[type={SUPANN}(.*)\]\[code=(.*)\]\[libelle=(.*)\]$/'
;
public
static
$roles_list
=
array
(
'RESP_ADMINISTRATIF'
=>
'R40'
,
)
;
protected
$type
=
'People'
;
/**
* Liste des classes d'objet nécessaires à la création d'une personne
* Il est nécessaire d'ajouter la classe 'ucbnEtu' ou 'ucbnEmp' selon le
* statut de la personne.
*
* @var string[]
*/
protected
$objectClass
=
array
(
'top'
,
'inetOrgPerson'
,
'organizationalPerson'
,
'person'
,
'eduPerson'
,
'supannPerson'
,
'sambaAccount'
,
'sambaSamAcount'
,
'posixAccount'
);
/**
* Liste des attributs contenant des dates
...
...
@@ -207,7 +226,7 @@ class People extends Entity
*/
static
public
function
isSupannRoleEntite
(
$string
,
&
$role
=
null
,
&
$typeStructure
=
null
,
&
$codeStructure
=
null
,
&
$libelleRole
=
null
)
{
if
(
preg_match
(
static
::
$
pattern
,
$string
,
$matches
))
{
if
(
preg_match
(
$this
->
role_
pattern
,
$string
,
$matches
))
{
$role
=
$matches
[
1
];
$typeStructure
=
$matches
[
2
];
$codeStructure
=
$matches
[
3
];
...
...
src/UnicaenLdap/Entity/Structure.php
View file @
3937a692
...
...
@@ -12,6 +12,18 @@ class Structure extends Entity
{
protected
$type
=
'Structure'
;
/**
* Liste des classes d'objet nécessaires à la création d'une structure
*
* @var string[]
*/
protected
$objectClass
=
array
(
'top'
,
'organizationalUnit'
,
'supannEntite'
,
'ucbnEntite'
);
/**
* Liste des attributs contenant des dates
...
...
src/UnicaenLdap/Entity/System.php
View file @
3937a692
...
...
@@ -10,6 +10,18 @@ class System extends Entity
{
protected
$type
=
'System'
;
/**
* Liste des classes d'objet nécessaires à la création d'un compte système
*
* @var string[]
*/
protected
$objectClass
=
array
(
'top'
,
'inetOrgPerson'
,
'organizationalPerson'
,
'person'
,
);
/**
* Liste des attributs contenant des dates
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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