diff --git a/doc/conf/LSobject/LSsearch.docbook b/doc/conf/LSobject/LSsearch.docbook
index 99d0c87c..d387a321 100644
--- a/doc/conf/LSobject/LSsearch.docbook
+++ b/doc/conf/LSobject/LSsearch.docbook
@@ -52,6 +52,7 @@ configuration des &LSobjects;, dans la variable LSsearch
'[LSformat 2]'
),
'formaterLSformat' => '[LSformat]',
+ 'formaterFunction' => '[fonction de formatage]',
'cssStyle' => '[CSS style]',
)
),
@@ -283,6 +284,16 @@ contexte dans lequel cette recherche est effectuée.
+
+ formaterFunction
+
+ Le nom d'une fonction optionnelle à exécuter pour mettre en forme le résultat
+ obtenu des &LSformats; précédents. Cette fonction ne sera appelée que si le résultat
+ obtenu précédement n'est pas vide. La fonction prendra en paramètre la valeur à mettre
+ en forme et retournera la valeur mise en forme.
+
+
+
cssStyle
diff --git a/public_html/includes/class/class.LSsearchEntry.php b/public_html/includes/class/class.LSsearchEntry.php
index 90a398ef..49245414 100644
--- a/public_html/includes/class/class.LSsearchEntry.php
+++ b/public_html/includes/class/class.LSsearchEntry.php
@@ -207,6 +207,16 @@ class LSsearchEntry {
$this -> registerOtherValue('val',$ret);
$ret=$this -> getFData($this->LSsearch->extraDisplayedColumns[$key]['formaterLSformat']);
}
+ if (!empty($ret) && isset($this->LSsearch->extraDisplayedColumns[$key]['formaterFunction'])) {
+ if (is_callable($this->LSsearch->extraDisplayedColumns[$key]['formaterFunction'])) {
+ $ret=call_user_func($this->LSsearch->extraDisplayedColumns[$key]['formaterFunction'],$ret);
+ }
+ else {
+ $func=$this->LSsearch->extraDisplayedColumns[$key]['formaterFunction'];
+ if(is_array($func)) $func=print_r($func,1);
+ LSerror::addErrorCode('LSsearchEntry_01',array('func' => $func, 'column' => $key));
+ }
+ }
$this -> cache[$key] = $ret;
return $ret;
}
@@ -233,4 +243,9 @@ class LSsearchEntry {
}
-?>
+/**
+ * Error Codes
+ **/
+LSerror :: defineError('LSsearchEntry_01',
+_("LSsearchEntry : Invalid formaterFunction %{func} for extraDisplayedColumns %{column}.")
+);