diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index 4874dded08d..a68d5c22002 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -51,10 +51,10 @@ abstract class CommonObjectLine extends CommonObject /** - * Returns the translation key from units dictionary. + * Returns the label, shot_label or code found in units dictionary from ->fk_unit. * A langs->trans() must be called on result to get translated value. * - * @param string $type Label type (long or short). This can be a translation key. + * @param string $type Label type (long, short or code). This can be a translation key. * @return string|int <0 if ko, label if ok */ public function getLabelOfUnit($type = 'long') @@ -69,17 +69,16 @@ abstract class CommonObjectLine extends CommonObject $label_type = 'label'; - if ($type == 'short') - { - $label_type = 'short_label'; - } + $label_type = 'label'; + if ($type == 'short') $label_type = 'short_label'; + elseif ($type == 'code') $label_type = 'code'; - $sql = 'select '.$label_type.',code from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; + $sql = 'select '.$label_type.', code from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; $resql = $this->db->query($sql); - if ($resql && $this->db->num_rows($resql) > 0) - { + if ($resql && $this->db->num_rows($resql) > 0) { $res = $this->db->fetch_array($resql); - $label = ($label_type == 'short' ? $res[$label_type] : 'unit'.$res['code']); + if ($label_type == 'code') $label = 'unit'.$res['code']; + else $label = $res[$label_type]; $this->db->free($resql); return $label; } diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index d1f36ca055d..99590e27a36 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -5367,10 +5367,12 @@ class Product extends CommonObject } /** - * Returns the text label from units dictionary + * Returns the label, shot_label or code found in units dictionary from ->fk_unit. + * A langs->trans() must be called on result to get translated value. * - * @param string $type Label type (long or short) + * @param string $type Label type (long, short or code) * @return string|int <0 if ko, label if ok + * @see getLabelOfUnit() in CommonObjectLine */ public function getLabelOfUnit($type = 'long') { @@ -5383,16 +5385,15 @@ class Product extends CommonObject $langs->load('products'); $label_type = 'label'; - - if ($type == 'short') { - $label_type = 'short_label'; - } + if ($type == 'short') $label_type = 'short_label'; + elseif ($type == 'code') $label_type = 'code'; $sql = 'select '.$label_type.', code from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; $resql = $this->db->query($sql); if ($resql && $this->db->num_rows($resql) > 0) { $res = $this->db->fetch_array($resql); - $label = ($label_type == 'short_label' ? $res[$label_type] : 'unit'.$res['code']); + if ($label_type == 'code') $label = 'unit'.$res['code']; + else $label = $res[$label_type]; $this->db->free($resql); return $label; }