diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index c5106067fc3..09916391c06 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -2376,16 +2376,17 @@ function departement_rowid($db,$code, $pays_id) /** \brief Renvoi un chemin de classement répertoire en fonction d'un id \remarks Examples: 1->"0/0/1/", 15->"0/1/5/" - \param $num Id à décomposer + \param $num Id à décomposer \param $level Niveau de decoupage (1, 2 ou 3 niveaux) */ function get_exdir($num,$level=3) { - $num = substr("000".$num, -$level); - if ($level == 1) return substr($num,0,1).'/'; - if ($level == 2) return substr($num,1,1).'/'.substr($num,0,1).'/'; - if ($level == 3) return substr($num,2,1).'/'.substr($num,1,1).'/'.substr($num,0,1).'/'; - return ''; + $num = eregi_replace('[^0-9]','',$num); + $num = substr("000".$num, -$level); + if ($level == 1) return substr($num,0,1).'/'; + if ($level == 2) return substr($num,1,1).'/'.substr($num,0,1).'/'; + if ($level == 3) return substr($num,2,1).'/'.substr($num,1,1).'/'.substr($num,0,1).'/'; + return ''; } /**