Commit 630a0879 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'master' into release_4.0.0

parents bea9c6d2 779a53ba
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ class People extends Entity
        'supannPerson',
        'schacPersonalCharacteristics',
        'schacEntryMetadata',
        'schacLinkageIdentifiers',
        'ucbnEmp',
        'ucbnEtu',
        'posixAccount',
@@ -102,6 +103,7 @@ class People extends Entity
        'sambaSID',
        'schacDateOfBirth',
        'schacExpiryDate',
        'schacPersonalUniqueCode',
        'sexe',
        'sn',
        'supannActivite',
@@ -305,6 +307,7 @@ class People extends Entity
        '\[libelle=(?<libelle>.+)\]$/';
    static protected $role_src_pattern = '/^(?<code>\d{4});(?<libelle>.+)$/';
    static protected $service_etat_pattern = '/^(?<etiquette>\{[\w\-]+\})(?<value>(A|I|S){1})$/';
    static protected $personal_unique_code_pattern = '/^urn:schac:personalUniqueCode:(int:esi:)*(?<country_code>[\w]{2}):(?<code>.+)$/';


    /**
@@ -434,6 +437,27 @@ class People extends Entity
        return $this;
    }

    /**
     * Attribut Ldap "schacPersonalUniqueCode"
     *
     * @param array|string|null $value
     * @param bool $append
     * @return $this
     * @throws Exception
     * @throws LdapException
     */
    public function setSchacPersonalUniqueCode($value = null, $append = false)
    {
        $value = $this->preFormat($value);
        $value = array_filter($value, function ($v) {
            return preg_match(self::$personal_unique_code_pattern, $v);
        });

        $this->appendOrNot('schacPersonalUniqueCode', $value, $append);

        return $this;
    }

    /**
     * Attribut Ldap "dateFinInscription"
     *