diff --git a/htdocs/includes/boxes/box_comptes.php b/htdocs/includes/boxes/box_comptes.php
new file mode 100644
index 00000000000..469dfc7595a
--- /dev/null
+++ b/htdocs/includes/boxes/box_comptes.php
@@ -0,0 +1,141 @@
+load("boxes");
+
+ $this->boxlabel=$langs->trans('BoxCurrentAccounts');
+ }
+
+ /**
+ * \brief Charge les données en mémoire pour affichage ultérieur
+ * \param $max Nombre maximum d'enregistrements à charger
+ */
+ function loadBox($max=5)
+ {
+ global $user, $langs, $db;
+ $langs->load("boxes");
+
+ $this->info_box_head = array('text' => $langs->trans("BoxTitleCurrentAccounts"));
+
+ if ($user->rights->banque->lire)
+ {
+ $sql = "SELECT rowid, label, bank, number";
+ $sql .= " FROM ".MAIN_DB_PREFIX."bank_account";
+ $sql .= " WHERE clos = 0 AND courant = 1";
+ $sql .= " ORDER BY label";
+ $sql .= $db->plimit($max, 0);
+
+ $result = $db->query($sql);
+
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+
+ $i = 0;
+ $solde_total = 0;
+
+ while ($i < $num)
+ {
+ $objp = $db->fetch_object($result);
+ $acc = new Account($db);
+ $acc->fetch($objp->rowid);
+ $solde_total += $acc->solde();
+
+ $this->info_box_contents[$i][0] = array('align' => 'left',
+ 'logo' => $this->boximg,
+ 'text' => stripslashes($objp->label),
+ 'url' => DOL_URL_ROOT."/compta/bank/account.php?account=".$objp->rowid);
+
+ $this->info_box_contents[$i][1] = array('align' => 'left',
+ 'text' => stripslashes($objp->bank)
+ );
+
+ $this->info_box_contents[$i][2] = array('align' => 'left',
+ 'text' => stripslashes($objp->number)
+ );
+
+ $this->info_box_contents[$i][3] = array('align' => 'right',
+ 'text' => price( $acc->solde() )
+ );
+
+ $i++;
+ }
+
+ // Total
+ $this->info_box_contents[$i][-1] = array('class' => 'liste_total');
+
+ $this->info_box_contents[$i][0] = array('align' => 'right',
+ 'colspan' => '4',
+ 'class' => 'liste_total',
+ 'text' => $langs->trans('Total')
+ );
+
+ $this->info_box_contents[$i][1] = array('align' => 'right',
+ 'class' => 'liste_total',
+ 'text' => price($solde_total)
+ );
+
+ }
+ else {
+ dolibarr_print_error($db);
+ }
+ }
+ else {
+ $this->info_box_contents[0][0] = array('align' => 'left',
+ 'text' => $langs->trans("ReadPermissionNotAllowed"));
+ }
+
+ }
+
+ function showBox()
+ {
+ parent::showBox($this->info_box_head, $this->info_box_contents);
+ }
+
+}
+
+?>
diff --git a/htdocs/includes/boxes/modules_boxes.php b/htdocs/includes/boxes/modules_boxes.php
index 7aea254b122..51f2d6f75df 100644
--- a/htdocs/includes/boxes/modules_boxes.php
+++ b/htdocs/includes/boxes/modules_boxes.php
@@ -79,14 +79,20 @@ class ModeleBoxes
if (isset($contents[$i]))
{
$var=!$var;
- if (sizeof($contents[$i])) print '
';
-
+ if (sizeof($contents[$i]))
+ {
+ if (isset($contents[$i][-1]['class'])) print '
';
+ else print '
';
+ }
+
// Affiche chaque cellule
for ($j=0, $m=sizeof($contents[$i]); $j < $m; $j++)
{
$tdparam="";
if (isset($contents[$i][$j]['align'])) $tdparam.=' align="'. $contents[$i][$j]['align'].'"';
if (isset($contents[$i][$j]['width'])) $tdparam.=' width="'. $contents[$i][$j]['width'].'"';
+ if (isset($contents[$i][$j]['colspan'])) $tdparam.=' colspan="'. $contents[$i][$j]['colspan'].'"';
+ if (isset($contents[$i][$j]['class'])) $tdparam.=' class="'. $contents[$i][$j]['class'].'"';
if ($contents[$i][$j]['text']) {
$texte=isset($contents[$i][$j]['text'])?$contents[$i][$j]['text']:'';
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index 0de2211bb43..6229a27735b 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -52,6 +52,7 @@ Cancel=Cancel
Modify=Modify
Edit=Edit
Validate=Validate
+ToValidate=To validate
Save=Save
SaveAs=Save As
TestConnection=Test connection
diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang
index d886071377a..cfcaed00336 100644
--- a/htdocs/langs/fr_FR/boxes.lang
+++ b/htdocs/langs/fr_FR/boxes.lang
@@ -1,29 +1,37 @@
# Dolibarr language file - fr_FR - boxes
-BoxLastRssInfos=Fils d'informations RSS
-BoxLastProducts=Derniers produits/services
-BoxLastProductsInContract=Derniers produits/services contractés
-BoxLastSupplierBills=Dernières factures fournisseurs
-BoxLastCustomerBills=Dernières factures clients
-BoxOldestUnpayedCustomerBills=Plus anciennes factures clients impayées
-BoxOldestUnpayedSupplierBills=Plus anciennes factures fournisseurs impayées
-BoxLastProposals=Dernières propositions commerciales
-BoxLastProspects=Derniers prospects
+BoxLastRssInfos=Fils d'informations RSS
+BoxLastProducts=Derniers produits/services
+BoxLastProductsInContract=Derniers produits/services contractés
+BoxLastSupplierBills=Dernières factures fournisseurs
+BoxLastCustomerBills=Dernières factures clients
+BoxOldestUnpayedCustomerBills=Plus anciennes factures clients impayées
+BoxOldestUnpayedSupplierBills=Plus anciennes factures fournisseurs impayées
+BoxLastProposals=Dernières propositions commerciales
+BoxLastProspects=Derniers prospects
BoxLastCustomers=Derniers clients
-BoxLastCustomerOrders=Dernières commandes
-BoxLastSuppliers=Derniers fournisseurs
-BoxLastBooks=Derniers livres
-BoxTitleLastBooks=Les %s derniers ouvrages enregistrés
-BoxTitleNbOfCustomers=Nombre de clients
-BoxTitleLastRssInfos=Les %s dernières infos de %s
-BoxTitleLastProducts=Les %s derniers produits/services enregistrés
-BoxTitleLastCustomerOrders=Les %s dernières commandes clients
-BoxTitleLastSuppliers=Les %s derniers fournisseurs enregistrés
-BoxTitleLastCustomers=Les %s derniers clients enregistrés
-BoxTitleLastPropals=Les %s dernières propositions enregistrés
-BoxTitleLastCustomerBills=Les %s dernières factures clients enregistrées
-BoxTitleLastSupplierBills=Les %s dernières factures fournisseurs enregistrées
-BoxTitleLastProspects=Les %s derniers prospects enregistrés
-BoxTitleLastProductsInContract=Les %s derniers produits/services contractés
-BoxTitleOldestUnpayedCustomerBills=Les %s plus anciennes factures clients impayées
-BoxTitleOldestUnpayedSupplierBills=Les %s plus anciennes factures fournisseurs impayées
-FailedToRefreshDataInfoNotUpToDate=Echec du rafraichissement du flux RSS. Les informations datent du %s.
+BoxLastCustomerOrders=Dernières commandes
+BoxLastSuppliers=Derniers fournisseurs
+BoxLastBooks=Derniers livres
+BoxCurrentAccounts=Soldes Comptes courants
+BoxSalesTurnover=Chiffre d'affaire
+BoxTotalUnpayedCustomerBills=Total des factures clients impayées
+BoxTotalUnpayedSuppliersBills=Total des factures fournisseurs impayées
+BoxTitleLastBooks=Les %s derniers ouvrages enregistrés
+BoxTitleNbOfCustomers=Nombre de clients
+BoxTitleLastRssInfos=Les %s dernières infos de %s
+BoxTitleLastProducts=Les %s derniers produits/services enregistrés
+BoxTitleLastCustomerOrders=Les %s dernières commandes clients
+BoxTitleLastSuppliers=Les %s derniers fournisseurs enregistrés
+BoxTitleLastCustomers=Les %s derniers clients enregistrés
+BoxTitleLastPropals=Les %s dernières propositions enregistrés
+BoxTitleLastCustomerBills=Les %s dernières factures clients enregistrées
+BoxTitleLastSupplierBills=Les %s dernières factures fournisseurs enregistrées
+BoxTitleLastProspects=Les %s derniers prospects enregistrés
+BoxTitleLastProductsInContract=Les %s derniers produits/services contractés
+BoxTitleOldestUnpayedCustomerBills=Les %s plus anciennes factures clients impayées
+BoxTitleOldestUnpayedSupplierBills=Les %s plus anciennes factures fournisseurs impayées
+BoxTitleCurrentAccounts=Les soldes de comptes courants
+BoxTitleSalesTurnover=Le chiffre d'affaire réalisé
+BoxTitleTotalUnpayedCustomerBills=Impayés clients
+BoxTitleTotalUnpayedSuppliersBills=Impayés fournisseurs
+FailedToRefreshDataInfoNotUpToDate=Echec du rafraichissement du flux RSS. Les informations datent du %s.
diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang
index 00538fffeef..9a536c85bd5 100644
--- a/htdocs/langs/fr_FR/main.lang
+++ b/htdocs/langs/fr_FR/main.lang
@@ -52,6 +52,7 @@ Cancel=Annuler
Modify=Modifier
Edit=Éditer
Validate=Valider
+ToValidate=A valider
Save=Enregistrer
SaveAs=Enregistrer sous
TestConnection=Tester la connexion