LSattr_html :: select_list / select_object : add parameter to handle onlyAccessible...
authorBenjamin Renard <brenard@easter-eggs.com>
Thu, 23 Mar 2017 15:29:33 +0000 (16:29 +0100)
committerBenjamin Renard <brenard@easter-eggs.com>
Thu, 23 Mar 2017 15:29:33 +0000 (16:29 +0100)
doc/conf/LSattribute/LSattr_html/LSattr_html_select_list.docbook
doc/conf/LSattribute/LSattr_html/LSattr_html_select_object.docbook
public_html/includes/class/class.LSattr_html_select_list.php
public_html/includes/class/class.LSattr_html_select_object.php
public_html/includes/class/class.LSformElement_select_object.php

index a0abe28..ae41e1d 100644 (file)
@@ -19,7 +19,8 @@
        'values_attribute' => '[Nom de l'attribut clé multi-valeur]',
        'filter' => '[Filtre de recherche des LSobject]',
        'scope' => '[Scope de la recherche]',
        'values_attribute' => '[Nom de l'attribut clé multi-valeur]',
        'filter' => '[Filtre de recherche des LSobject]',
        'scope' => '[Scope de la recherche]',
-       'basedn' => '[Basedn de la recherche]'
+       'basedn' => '[Basedn de la recherche]',
+       'onlyAccessible' => '[Booléen]'
      ),
      array (
        'label' => '[LSformat du nom du groupe de valeurs]',
      ),
      array (
        'label' => '[LSformat du nom du groupe de valeurs]',
       <simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
     </listitem>
   </varlistentry>
       <simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
     </listitem>
   </varlistentry>
+
+  <varlistentry>
+    <term>onlyAccessible</term>
+    <listitem>
+      <simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
+    </listitem>
+  </varlistentry>
 </variablelist>
 
   </listitem>
 </variablelist>
 
   </listitem>
index 0fb33f1..1f6bfb4 100644 (file)
@@ -11,7 +11,8 @@
    selectable_object => array (
      'object_type' => '[Type d'LSobject selectionnable]',
      'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
    selectable_object => array (
      'object_type' => '[Type d'LSobject selectionnable]',
      'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
-     'value_attribute' => '[Nom de l'attribut clé des LSobjects]'
+     'value_attribute' => '[Nom de l'attribut clé des LSobjects]',
+     'onlyAccessible' => '[Booléen]'
    ),
    'ordered' => [Booléen],
    'sort' => [Booléen],
    ),
    'ordered' => [Booléen],
    'sort' => [Booléen],
       lors de la sélection des objets.</simpara>
     </listitem>
   </varlistentry>
       lors de la sélection des objets.</simpara>
     </listitem>
   </varlistentry>
+
+  <varlistentry>
+    <term>onlyAccessible</term>
+    <listitem>
+      <simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
+    </listitem>
+  </varlistentry>
 </variablelist>
 
   </listitem>
 </variablelist>
 
   </listitem>
index f27a6ab..7708689 100644 (file)
@@ -170,6 +170,7 @@ class LSattr_html_select_list extends LSattr_html{
       'basedn' => (isset($conf['basedn'])?$conf['basedn']:null),
       'scope'  => (isset($conf['scope'])?$conf['scope']:null),
       'displayFormat' => (isset($conf['display_name_format'])?$conf['display_name_format']:null),
       'basedn' => (isset($conf['basedn'])?$conf['basedn']:null),
       'scope'  => (isset($conf['scope'])?$conf['scope']:null),
       'displayFormat' => (isset($conf['display_name_format'])?$conf['display_name_format']:null),
+      'onlyAccessible' => (isset($conf['onlyAccessible'])?$conf['onlyAccessible']:False),
     );
 
     if (isset($conf['value_attribute']) && $conf['value_attribute']!='dn') {
     );
 
     if (isset($conf['value_attribute']) && $conf['value_attribute']!='dn') {
index 4a94268..45ee996 100644 (file)
@@ -165,7 +165,9 @@ class LSattr_html_select_object extends LSattr_html{
           foreach($values as $val) {
             if (!empty($val)) {
               $filter=Net_LDAP2_Filter::create($conf['value_attribute'],'equals',$val);
           foreach($values as $val) {
             if (!empty($val)) {
               $filter=Net_LDAP2_Filter::create($conf['value_attribute'],'equals',$val);
-              $listobj = $obj -> listObjectsName($filter,NULL,array(),$conf['display_name_format']);
+              $sparams=array();
+              $sparams['onlyAccessible'] = (isset($conf['onlyAccessible'])?$conf['onlyAccessible']:False);
+              $listobj = $obj -> listObjectsName($filter,NULL,$sparams,$conf['display_name_format']);
               if (count($listobj)==1) {
                foreach($listobj as $dn => $name) {
                   $DNs[]=$dn;
               if (count($listobj)==1) {
                foreach($listobj as $dn => $name) {
                   $DNs[]=$dn;
index efd880d..3f279f8 100644 (file)
@@ -179,7 +179,9 @@ class LSformElement_select_object extends LSformElement {
     if (is_array($this -> params['html_options']['selectable_object'])) {
       if (LSsession :: loadLSobject($this -> params['html_options']['selectable_object']['object_type'])) {
         $obj = new $this -> params['html_options']['selectable_object']['object_type']();
     if (is_array($this -> params['html_options']['selectable_object'])) {
       if (LSsession :: loadLSobject($this -> params['html_options']['selectable_object']['object_type'])) {
         $obj = new $this -> params['html_options']['selectable_object']['object_type']();
-        $ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_name_format'],false,true,$this -> params['html_options']['selectable_object']['filter']);
+        $sparams = array();
+        $sparams['onlyAccessible'] = (isset($this -> params['html_options']['selectable_object']['onlyAccessible'])?$this -> params['html_options']['selectable_object']['onlyAccessible']:FALSE);
+        $ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_name_format'],false,true,(isset($this -> params['html_options']['selectable_object']['filter'])?$this -> params['html_options']['selectable_object']['filter']:NULL),$sparams);
         if (is_array($ret)) {
           return $ret;
         }
         if (is_array($ret)) {
           return $ret;
         }