diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php
index 70fbcad18d3..d10f184eab8 100644
--- a/htdocs/admin/system/constall.php
+++ b/htdocs/admin/system/constall.php
@@ -45,7 +45,7 @@ print '
';
print '';
print '| '.$langs->trans("Parameter").' | ';
print ''.$langs->trans("Value").' | ';
-if (!$user->entity) print ''.$langs->trans("Entity").' | ';
+if (empty($conf->multicompany->enabled) || !$user->entity) print ''.$langs->trans("Entity").' | '; // If superadmin or multicompany disabled
print "
\n";
$sql = "SELECT";
@@ -56,25 +56,33 @@ $sql.= ", type";
$sql.= ", note";
$sql.= ", entity";
$sql.= " FROM ".MAIN_DB_PREFIX."const";
-$sql.= " WHERE entity IN (".$user->entity.",".$conf->entity.")";
-$sql.= " ORDER BY entity, name ASC";
-
-$result = $db->query($sql);
-if ($result)
+if (empty($conf->multicompany->enabled))
{
- $num = $db->num_rows();
+ // If no multicompany mode, admins can see global and their constantes
+ $sql.= " WHERE entity IN (0,".$conf->entity.")";
+}
+else
+{
+ // If multicompany mode, superadmin (user->entity=0) can see everything, admin are limited to their entities.
+ if ($user->entity) $sql.= " WHERE entity IN (".$user->entity.",".$conf->entity.")";
+}
+$sql.= " ORDER BY entity, name ASC";
+$resql = $db->query($sql);
+if ($resql)
+{
+ $num = $db->num_rows($resql);
$i = 0;
$var=True;
while ($i < $num)
{
- $obj = $db->fetch_object($result);
+ $obj = $db->fetch_object($resql);
$var=!$var;
print '';
print '| '.$obj->name.' | '."\n";
print ''.$obj->value.' | '."\n";
- if (!$user->entity) print ''.$obj->entity.' | '."\n";
+ if (empty($conf->multicompany->enabled) || !$user->entity) print ''.$obj->entity.' | '."\n"; // If superadmin or multicompany disabled
print "
\n";
$i++;