diff --git a/src/includes/class/class.LSattr_html_select_list.php b/src/includes/class/class.LSattr_html_select_list.php
index cfcf160f..1979033f 100644
--- a/src/includes/class/class.LSattr_html_select_list.php
+++ b/src/includes/class/class.LSattr_html_select_list.php
@@ -66,12 +66,12 @@ class LSattr_html_select_list extends LSattr_html{
}
/**
- * Retourne un tableau des valeurs possibles de la liste de l'attribut courant
+ * Return array of possible values with translated labels (if enabled)
*
* @author Benjamin Renard
*
- * @retval array Tableau associatif des valeurs possible de la liste avec en clé
- * la valeur des balises option et en valeur ce qui sera affiché.
+ * @retval array Associative array with possible values as key and corresponding
+ * translated label as value.
*/
protected function getPossibleValues() {
return static :: _getPossibleValues(
@@ -82,7 +82,7 @@ class LSattr_html_select_list extends LSattr_html{
}
/**
- * Retourne un tableau des valeurs possibles de la liste
+ * Return array of possible values with translated labels (if enabled)
*
* @param[in] $options Attribute options (optional)
* @param[in] $name Attribute name (optional)
@@ -90,11 +90,12 @@ class LSattr_html_select_list extends LSattr_html{
*
* @author Benjamin Renard
*
- * @retval array Tableau associatif des valeurs possible de la liste avec en clé
- * la valeur des balises option et en valeur ce qui sera affiché.
+ * @retval array Associative array with possible values as key and corresponding
+ * translated label as value.
*/
public static function _getPossibleValues($options=false,$name=false,&$ldapObject=false) {
$retInfos = array();
+ $translate_labels = LSconfig :: get('translate_labels', true, 'bool', $options);
if (isset($options['possible_values']) && is_array($options['possible_values'])) {
foreach($options['possible_values'] as $val_key => $val_label) {
if($val_key==='OTHER_OBJECT') {
@@ -105,47 +106,32 @@ class LSattr_html_select_list extends LSattr_html{
$attrInfos=static :: getLSattributePossibleValues($val_label, $options, $name, $ldapObject);
$retInfos=static :: _array_merge($retInfos,$attrInfos);
}
- elseif (is_array($val_label)) {
- if (!isset($val_label['possible_values']) || !is_array($val_label['possible_values']) || !isset($val_label['label']))
- continue;
- $subRetInfos=array();
- foreach($val_label['possible_values'] as $vk => $vl) {
- if ($vk==='OTHER_OBJECT') {
- $objInfos=static :: getLSobjectPossibleValues($vl,$options,$name);
- $subRetInfos=static :: _array_merge($subRetInfos,$objInfos);
- }
- else {
- $vk=$ldapObject->getFData($vk);
- if (isset($options['translate_labels']) && !$options['translate_labels']) {
- $vl=$ldapObject->getFData($vl);
- }
- else {
- $vl=$ldapObject->getFData(__($vl));
- }
- $subRetInfos[$vk]=$vl;
- }
- }
- static :: _sort($subRetInfos,$options);
- if (isset($options['translate_labels']) && !$options['translate_labels']) {
- $subRetLabel = $ldapObject->getFData($val_label['label']);
- }
- else {
- $subRetLabel = $ldapObject->getFData(__($val_label['label']));
- }
- $retInfos[] = array (
- 'label' => $subRetLabel,
- 'possible_values' => $subRetInfos
- );
- }
+ elseif (is_array($val_label)) {
+ if (!isset($val_label['possible_values']) || !is_array($val_label['possible_values']) || !isset($val_label['label']))
+ continue;
+ $subRetInfos=array();
+ foreach($val_label['possible_values'] as $vk => $vl) {
+ if ($vk==='OTHER_OBJECT') {
+ $objInfos=static :: getLSobjectPossibleValues($vl,$options,$name);
+ $subRetInfos=static :: _array_merge($subRetInfos,$objInfos);
+ }
+ else {
+ $vk = $ldapObject->getFData($vk);
+ $vl = $ldapObject->getFData(($translate_labels?__($vl):$vl));
+ $subRetInfos[$vk] = $vl;
+ }
+ }
+ static :: _sort($subRetInfos,$options);
+ $subRetLabel = $ldapObject->getFData(($translate_labels?__($val_label['label']):$val_label['label']));
+ $retInfos[] = array (
+ 'label' => $subRetLabel,
+ 'possible_values' => $subRetInfos
+ );
+ }
else {
- $val_key=$ldapObject->getFData($val_key);
- if (isset($options['translate_labels']) && !$options['translate_labels']) {
- $val_label=$ldapObject->getFData($val_label);
- }
- else {
- $val_label=$ldapObject->getFData(__($val_label));
- }
- $retInfos[$val_key]=$val_label;
+ $val_key = $ldapObject->getFData($val_key);
+ $val_label = $ldapObject->getFData(($translate_labels?__($val_label):$val_label));
+ $retInfos[$val_key] = $val_label;
}
}
}