Commit 959927aa authored by David Surville's avatar David Surville
Browse files

Ajout du filtre pour les roles

parent 3937a692
Loading
Loading
Loading
Loading
+17 −11
Changes for src/UnicaenLdap/Filter/People.php: 17 added lines, 11 removed lines.
Original line number Diff line number Diff line
<?php
namespace UnicaenLdap\Filter;

use UnicaenLdap\Entity\Structure;
use Zend\Ldap\Filter\MaskFilter;
use UnicaenLdap\Entity\Structure as Structure;

/**
 * Filtres pour les personnes
@@ -54,7 +55,7 @@ class People extends Filter
    {
        return self::orFilter(
            self::username($name),
            self::namr($name)
            self::name($name)
        );
    }

@@ -62,7 +63,7 @@ class People extends Filter
     * Génère un filtre de recherche par affectation
     *
     * @todo à terminer
     * @param string|Structure $structure Structure
     * @param string|EntityStructure $structure Structure
     * @return self
     */
    public static function affectation($name)
@@ -86,16 +87,21 @@ class People extends Filter
    }

    /**
     * Génère un filtre de recherche selon leur appartenance à un groupe et leur structure d'affectation.
     * Génère un filtre de recherche pour les rôles
     * 
     * @todo à terminer
     * @return self
     * @param string $role
     * @param string $type
     * @param string $structure
     * @return type
     */
    public static function role( $role, $structure = null, $recursive=false )
    {//(supannRoleEntite=[role={SUPANN}%s][type={SUPANN}%s][code=%s]*)
        // (&(uid=*)(|(ucbnSousStructure=%s;*)(supannAffectation=%s;*)))
        //return self::equals('cn', $name);
        throw new Exception('Méthode non terminée');
    public static function role( $role = null, $type = null, $structure = null )
    {
	$mask = 'supannRoleEntite=[role={SUPANN}%s][type={SUPANN}%s][code=%s][libelle=*]';
	return self::string(
		    self::unescapeValue(
			new MaskFilter($mask, $role ?: '*', $type ?: '*', $structure ?: '*')
		    )
	       );
    }

    /**