Commit 3937a692 authored by David Surville's avatar David Surville
Browse files

Ajout des classes d'objet nécessaires à la création de chaque entité

parent 2cb72276
...@@ -31,6 +31,15 @@ abstract class Entity ...@@ -31,6 +31,15 @@ abstract class Entity
* @var Node * @var Node
*/ */
protected $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 * Liste des attributs contenant des dates
...@@ -69,7 +78,7 @@ abstract class Entity ...@@ -69,7 +78,7 @@ abstract class Entity
if ($data instanceof Node){ if ($data instanceof Node){
$this->setNode( $data ); $this->setNode( $data );
}else{ }else{
$this->setNode( Node::create($data) ); $this->setNode( Node::create($data, $this->objectClass) );
} }
} }
...@@ -233,7 +242,7 @@ abstract class Entity ...@@ -233,7 +242,7 @@ abstract class Entity
public function set($attrName, $value) public function set($attrName, $value)
{ {
if (in_array($attrName, $this->dateTimeAttributes)){ if (in_array($attrName, $this->dateTimeAttributes)){
$this->getNode()->setDateTimeAttribute($attrName, $value); $this->getNode()->setDateTimeAttribute($attrName, $value, true);
}else{ }else{
$this->getNode()->setAttribute($attrName, $value); $this->getNode()->setAttribute($attrName, $value);
} }
......
...@@ -10,6 +10,20 @@ class Generic extends Entity ...@@ -10,6 +10,20 @@ class Generic extends Entity
{ {
protected $type = 'Generic'; 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 * Liste des attributs contenant des dates
......
...@@ -13,6 +13,16 @@ class Group extends Entity ...@@ -13,6 +13,16 @@ class Group extends Entity
protected $type = 'Group'; 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 * Liste des attributs contenant des dates
* *
......
...@@ -14,18 +14,37 @@ use DateTime; ...@@ -14,18 +14,37 @@ use DateTime;
*/ */
class People extends Entity 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 * Liste des rôles existants
*/ *
const ROLE_RSSI = 'T83'; * @var string[]
/**
* Rôle de correspondant sécurité des systèmes d'information
*/ */
const ROLE_CSSI = 'T84'; public static $roles_list = array(
'RESP_ADMINISTRATIF' => 'R40',
static protected $pattern = '/^\[role={SUPANN}(.*)\]\[type={SUPANN}(.*)\]\[code=(.*)\]\[libelle=(.*)\]$/'; );
protected $type = 'People'; 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 * Liste des attributs contenant des dates
...@@ -207,7 +226,7 @@ class People extends Entity ...@@ -207,7 +226,7 @@ class People extends Entity
*/ */
static public function isSupannRoleEntite($string, &$role = null, &$typeStructure = null, &$codeStructure = null, &$libelleRole = null) 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]; $role = $matches[1];
$typeStructure = $matches[2]; $typeStructure = $matches[2];
$codeStructure = $matches[3]; $codeStructure = $matches[3];
......
...@@ -12,6 +12,18 @@ class Structure extends Entity ...@@ -12,6 +12,18 @@ class Structure extends Entity
{ {
protected $type = 'Structure'; 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 * Liste des attributs contenant des dates
......
...@@ -10,6 +10,18 @@ class System extends Entity ...@@ -10,6 +10,18 @@ class System extends Entity
{ {
protected $type = 'System'; 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 * Liste des attributs contenant des dates
......
Supports Markdown
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