mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-18 14:33:49 +01:00
- LSattr_html_select_object && LSattr_html_select_list :
-> Mofication du paramètre de configuration 'display_attribute' en 'display_name_format' -> Ajout de commentaires
This commit is contained in:
parent
8cc6d37f8a
commit
a7a165651d
5 changed files with 42 additions and 16 deletions
|
@ -103,8 +103,8 @@ $GLOBALS['LSobjects']['LSeegroup'] = array (
|
|||
'html_options' => array(
|
||||
'selectable_object' => array(
|
||||
'object_type' => 'LSeepeople', // Nom de l'objet à lister
|
||||
'display_attribute' => '%{cn} (%{uidNumber})', // Spécifie le attributs à lister pour le choix,
|
||||
// si non définie => utilisation du 'select_display_attrs'
|
||||
'display_name_format' => '%{cn} (%{uidNumber})', // Spécifie le attributs à lister pour le choix,
|
||||
// si non définie => utilisation du 'display_name_format'
|
||||
// de la définition de l'objet
|
||||
|
||||
'value_attribute' => 'dn', // Spécifie le attributs dont la valeur sera retournée par
|
||||
|
@ -157,7 +157,7 @@ $GLOBALS['LSobjects']['LSeegroup'] = array (
|
|||
'html_options' => array (
|
||||
'selectable_object' => array(
|
||||
'object_type' => 'LSeepeople',
|
||||
'value_attribute' => '%{dn}'
|
||||
'value_attribute' => 'dn'
|
||||
),
|
||||
),
|
||||
'validation' => array (
|
||||
|
|
|
@ -272,8 +272,8 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
|
|||
'possible_values' => array(
|
||||
'OTHER_OBJECT' => array(
|
||||
'object_type' => 'LSeegroup', // Nom de l'objet à lister
|
||||
'display_attribute' => '%{cn} (%{gidNumber})', // Spécifie le attributs à lister pour le choix,
|
||||
// si non définie => utilisation du 'select_display_attrs'
|
||||
'display_name_format' => '%{cn} (%{gidNumber})', // Spécifie le attributs à lister pour le choix,
|
||||
// si non définie => utilisation du 'display_name_format'
|
||||
// de la définition de l'objet
|
||||
|
||||
'value_attribute' => 'gidNumber', // Spécifie le attributs dont la valeur sera retournée par
|
||||
|
|
|
@ -23,6 +23,21 @@
|
|||
/**
|
||||
* Type d'attribut HTML select_list
|
||||
*
|
||||
* 'html_options' => array (
|
||||
* 'possible_values' => array (
|
||||
* '[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
|
||||
* ...
|
||||
* 'OTHER_OBJECT' => array (
|
||||
* 'object_type' => '[Type d'LSobject]',
|
||||
* 'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
* 'value_attribute' => '[Nom de l'attribut clé]',
|
||||
* 'filter' => '[Filtre de recherche des LSobject]',
|
||||
* 'scope' => '[Scope de la recherche]',
|
||||
* 'basedn' => '[Basedn de la recherche]'
|
||||
* )
|
||||
* )
|
||||
* ),
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*/
|
||||
class LSattr_html_select_list extends LSattr_html{
|
||||
|
@ -72,7 +87,7 @@ class LSattr_html_select_list extends LSattr_html{
|
|||
*/
|
||||
function getPossibleValues() {
|
||||
$retInfos = array();
|
||||
if (isset($this -> config['html_options']['possible_values'])) {
|
||||
if (is_array($this -> config['html_options']['possible_values'])) {
|
||||
foreach($this -> config['html_options']['possible_values'] as $val_name => $val) {
|
||||
if($val_name=='OTHER_OBJECT') {
|
||||
if ((!isset($val['object_type'])) || (!isset($val['value_attribute']))) {
|
||||
|
@ -84,22 +99,22 @@ class LSattr_html_select_list extends LSattr_html{
|
|||
}
|
||||
$obj = new $val['object_type']();
|
||||
if($val['scope']) {
|
||||
$param=array('scope' => $this -> config['html_options']['possible_values']['scope']);
|
||||
$param=array('scope' => $val['scope']);
|
||||
}
|
||||
else {
|
||||
$param=array();
|
||||
}
|
||||
|
||||
$param['attributes'] = getFieldInFormat($val['display_attribute']);
|
||||
$param['attributes'] = getFieldInFormat($val['display_name_format']);
|
||||
|
||||
if ($val['value_attribute']!='dn') {
|
||||
$param['attributes'][] = $val['value_attribute'];
|
||||
}
|
||||
|
||||
$list = $obj -> search($val['filter'],$this -> config['html_options']['possible_values']['basedn'],$param);
|
||||
$list = $obj -> search($val['filter'],$val['basedn'],$param);
|
||||
if(($val['value_attribute']=='dn')||($val['value_attribute']=='%{dn}')) {
|
||||
for($i=0;$i<count($list);$i++) {
|
||||
$retInfos[$list[$i]['dn']]=getFData($val['display_attribute'],$list[$i]['attrs']);
|
||||
$retInfos[$list[$i]['dn']]=getFData($val['display_name_format'],$list[$i]['attrs']);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -108,7 +123,7 @@ class LSattr_html_select_list extends LSattr_html{
|
|||
if(is_array($key)) {
|
||||
$key = $key[0];
|
||||
}
|
||||
$retInfos[$key]=getFData($val['display_attribute'],$list[$i]['attrs']);
|
||||
$retInfos[$key]=getFData($val['display_name_format'],$list[$i]['attrs']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ class LSattr_html_select_object extends LSattr_html{
|
|||
$obj = new $conf['object_type']();
|
||||
foreach($DNs as $dn) {
|
||||
if($obj -> loadData($dn)) {
|
||||
$retInfos[$dn] = $obj -> getDisplayName($conf['display_attribute']);
|
||||
$retInfos[$dn] = $obj -> getDisplayName($conf['display_name_format']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ class LSattr_html_select_object extends LSattr_html{
|
|||
if ($filter!='') {
|
||||
$filter='(|'.$filter.')';
|
||||
$obj = new $conf['object_type']();
|
||||
$listobj = $obj -> listObjectsName($filter,NULL,array(),$conf['display_attribute']);
|
||||
$listobj = $obj -> listObjectsName($filter,NULL,array(),$conf['display_name_format']);
|
||||
foreach($listobj as $dn => $name) {
|
||||
$DNs[]=$dn;
|
||||
$retInfos[$dn] = $name;
|
||||
|
|
|
@ -24,8 +24,19 @@
|
|||
/**
|
||||
* Element select d'un formulaire pour LdapSaisie
|
||||
*
|
||||
* Cette classe définis les éléments select des formulaires.
|
||||
* Elle étant la classe basic LSformElement.
|
||||
* Cette classe définis les éléments select des formulaires.
|
||||
* Elle étant la classe basic LSformElement.
|
||||
*
|
||||
* Options HTML :
|
||||
* // *************************************
|
||||
* 'html_options' => array (
|
||||
* selectable_object => array (
|
||||
* 'object_type' => '[Type d'LSobject selectionnable]',
|
||||
* 'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
|
||||
* 'value_attribute' => '[LSformat de la valeur clé référant à un LSobject donnée]'
|
||||
* )
|
||||
* ),
|
||||
* // *************************************
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*/
|
||||
|
@ -144,7 +155,7 @@ 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']();
|
||||
$ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_attribute']);
|
||||
$ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_name_format']);
|
||||
if (is_array($ret)) {
|
||||
return $ret;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue