diff --git a/ChangeLog b/ChangeLog
index d03c4bc8f70..a01f827fb2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,8 @@ English Dolibarr ChangeLog
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
-Fix: Bad get of localtaxes into contracts add lines
+Fix: Bad get of localtaxes into contracts add lines.
+Fix: Add a limit into list to avoid browser to hang when database is too large.
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
Fix: field's problem into company's page (RIB).
diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php
index f32fa89b59b..7b83d56fe01 100644
--- a/htdocs/comm/index.php
+++ b/htdocs/comm/index.php
@@ -473,8 +473,10 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
$var=true;
print '
';
- print '| '.$langs->trans("ProposalsOpened").' |
';
- while ($i < $num)
+ print '| '.$langs->trans("ProposalsOpened").' ('.$num.') |
';
+
+ $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD));
+ while ($i < $nbofloop)
{
$obj = $db->fetch_object($result);
$var=!$var;
@@ -511,7 +513,12 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
$i++;
$total += $obj->total_ttc;
}
- if ($total>0) {
+ if ($num > $nbofloop)
+ {
+ print '| '.$langs->trans("XMoreLines", ($num - $nbofloop))." |
";
+ }
+ else if ($total>0)
+ {
print '| '.$langs->trans("Total")." | ".price($total)." | |
";
}
print "
";
diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php
index 2a31d4a48b7..6631988c94d 100644
--- a/htdocs/comm/propal/index.php
+++ b/htdocs/comm/propal/index.php
@@ -301,7 +301,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($socid) $sql.= " AND s.rowid = ".$socid;
$sql.= " ORDER BY p.rowid DESC";
-
+
$result=$db->query($sql);
if ($result)
{
@@ -314,7 +314,9 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
print '';
print '| '.$langs->trans("ProposalsOpened").' ('.$num.') |
';
- while ($i < $num)
+
+ $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD));
+ while ($i < $nbofloop)
{
$obj = $db->fetch_object($result);
$var=!$var;
@@ -356,7 +358,12 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
$i++;
$total += $obj->total_ttc;
}
- if ($total>0) {
+ if ($num > $nbofloop)
+ {
+ print '| '.$langs->trans("XMoreLines", ($num - $nbofloop))." |
";
+ }
+ else if ($total>0)
+ {
print '| '.$langs->trans("Total")." | ".price($total)." | |
";
}
print "
";
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index 2bc80f696bd..3eac4f09a99 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -659,6 +659,7 @@ from=from
toward=toward
Access=Access
SetDemandReason=Set source
+XMoreLines=%s line(s) hidden
# Week day
Monday=Monday
diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang
index 9ad1a71b1a8..cc4a2026620 100644
--- a/htdocs/langs/fr_FR/main.lang
+++ b/htdocs/langs/fr_FR/main.lang
@@ -657,6 +657,7 @@ from=de
toward=vers
Access=Accès
SetDemandReason=Définir l'origine
+XMoreLines=%s ligne(s) non affichée(s)
# Week day
Monday=Lundi