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
Loading
Loading
Loading
Loading
+11 −2
Changes for src/UnicaenLdap/Entity/Entity.php: 11 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -32,6 +32,15 @@ abstract class Entity
     */
    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);
        }
+14 −0
Changes for src/UnicaenLdap/Entity/Generic.php: 14 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -11,6 +11,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
     *
+10 −0
Changes for src/UnicaenLdap/Entity/Group.php: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -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
     *
+28 −9
Changes for src/UnicaenLdap/Entity/People.php: 28 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -14,19 +14,38 @@ 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];
+12 −0
Changes for src/UnicaenLdap/Entity/Structure.php: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -13,6 +13,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
     *
Loading