diff --git a/ChangeLog b/ChangeLog index fc56330d404..7a5db0bfa6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,7 @@ For users: - New: Works even if Web hosting provider has disabled glob function. - New: Can now send supplier order by mail. - New: task #10076 : Show content of message in notification module. +- New: Widthrawal module is no more experimental. - Fix: Format number was wrong for ar_AR language. - Fix: Can change password if has only permission change password. - Fix: Project PDF document show the tasks. diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index c9de68d9e63..870de2ca5b6 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2008 Laurent Destailleur + * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2010 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -29,6 +29,7 @@ require("../../main.inc.php"); require_once(DOL_DOCUMENT_ROOT.'/lib/invoice.lib.php'); require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); +require_once(DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'); if (!$user->rights->facture->lire) accessforbidden(); @@ -86,7 +87,7 @@ if ($_GET["action"] == "delete") * View */ -$now=gmmktime(); +$now=dol_now(); llxHeader('',$langs->trans("Bill")); @@ -98,10 +99,10 @@ $html = new Form($db); /* */ /* *************************************************************************** */ -if ($_GET["facid"] > 0) +if ($_REQUEST["facid"] > 0 || $_REQUEST["ref"]) { - $fac = New Facture($db); - if ( $fac->fetch($_GET["facid"], $user->societe_id) > 0) + $fac = new Facture($db); + if ($fac->fetch($_REQUEST["facid"], $_REQUEST["ref"]) > 0) { if ($mesg) print $mesg.'
'; @@ -115,22 +116,33 @@ if ($_GET["facid"] > 0) } $head = facture_prepare_head($fac); - dol_fiche_head($head, 'standingorders', $langs->trans('InvoiceCustomer')); + dol_fiche_head($head, 'standingorders', $langs->trans('InvoiceCustomer'),0,'bill'); /* * Facture */ print ''; - // Reference du facture - print '"; // Societe print ''; - print ''; + print ''; print ''; // Dates @@ -164,8 +176,7 @@ if ($_GET["facid"] > 0) print ''; /* - * Demande de pr�l�vement - * + * Withdrawal request */ $sql = "SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande"; @@ -186,21 +197,29 @@ if ($_GET["facid"] > 0) } + /* + * Buttons + */ print "
\n"; // Add a withdraw request - if ($fac->statut > 0 && $fac->paye == 0 && $fac->mode_reglement_code == 'PRE' && $num == 0) + if ($fac->statut > 0 && $fac->paye == 0 && $num == 0) { - if ($user->rights->facture->creer) + if ($user->rights->prelevement->bons->configurer) { print ''.$langs->trans("MakeWithdrawRequest").''; } + else + { + print ''.$langs->trans("MakeWithdrawRequest").''; + } } + print "

"; /* - * Pr�l�vement + * Withdrawals */ print '
'.$langs->trans("Ref").''; - print $fac->ref; + // Ref + print '
'.$langs->trans("Ref").''; + $morehtmlref=''; + $discount=new DiscountAbsolute($db); + $result=$discount->fetch(0,$fac->id); + if ($result > 0) + { + $morehtmlref=' ('.$langs->trans("CreditNoteConvertedIntoDiscount",$discount->getNomUrl(1,'discount')).')'; + } + if ($result < 0) + { + dol_print_error('',$discount->error); + } + print $html->showrefnav($fac,'ref','',1,'facnumber','ref',$morehtmlref); print "
'.$langs->trans("Company").''; - print ''.$soc->nom.''.$soc->getNomUrl(1,'compta'); + print '
'; @@ -299,7 +318,7 @@ if ($_GET["facid"] > 0) } else { - /* Facture non trouv�e */ + /* Invoice not found */ print $langs->trans("ErrorBillNotFound",$_GET["facid"]); } } diff --git a/htdocs/compta/prelevement/class/bon-prelevement.class.php b/htdocs/compta/prelevement/class/bon-prelevement.class.php index b19dae2617e..a7b0d45c5c8 100644 --- a/htdocs/compta/prelevement/class/bon-prelevement.class.php +++ b/htdocs/compta/prelevement/class/bon-prelevement.class.php @@ -1135,8 +1135,7 @@ class BonPrelevement extends CommonObject } /** - * Generation d'un bon de prelevement - * + * Generate a withdrawal file */ function Generate() { @@ -1144,8 +1143,9 @@ class BonPrelevement extends CommonObject $result = -1; - $this->file = fopen ($this->filename,"w"); + dol_syslog("BonPrelevement::Generate build file ".$this->filename); + $this->file = fopen ($this->filename,"w"); /* * En-tete Emetteur @@ -1163,13 +1163,14 @@ class BonPrelevement extends CommonObject $i = 0; - if ($this->db->query($sql)) + $resql=$this->db->query($sql); + if ($resql) { - $num = $this->db->num_rows(); + $num = $this->db->num_rows($resql); while ($i < $num) { - $row = $this->db->fetch_row(); + $row = $this->db->fetch_row($resql); $this->EnregDestinataire($row[0], $row[1], diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index 2e51b28486f..54762a78332 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -74,7 +74,7 @@ $head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/create.php'; $head[$h][1] = $langs->trans("NewStandingOrder"); $h++; -dol_fiche_head($head, $hselected, $langs->trans("StandingOrders")); +dol_fiche_head($head, $hselected, $langs->trans("StandingOrders"), 0, 'payment'); $nb=$bprev->NbFactureAPrelever(); @@ -90,10 +90,10 @@ print ''; print ''; -print ''; -print ''; @@ -116,7 +116,7 @@ if ($nb) if ($nb) print ''.$langs->trans("CreateAll")."\n"; if ($nb11) print ''.$langs->trans("CreateBanque")."\n"; if ($nb1) print ''.$langs->trans("CreateGuichet")."\n"; - + print "\n"; } else diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php index aebba32e0ee..4d71e656998 100644 --- a/htdocs/compta/prelevement/index.php +++ b/htdocs/compta/prelevement/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2008 Laurent Destailleur + * Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -65,7 +65,7 @@ print ''; $var=!$var; -print ''; +print ''; print '
'.$langs->trans("NbOfInvoiceToWithdraw").''; print $nb; print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyBankCode").'='.PRELEVEMENT_CODE_BANQUE.''; +print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyBankCode").'='.$conf->global->PRELEVEMENT_CODE_BANQUE.''; print $nb1; print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyDeskCode").'='.PRELEVEMENT_CODE_GUICHET.''; +print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyDeskCode").'='.$conf->global->PRELEVEMENT_CODE_GUICHET.''; print $nb11; print '
'; print $bprev->NbFactureAPrelever(); print '
'.$langs->trans("AmountToWithdraw").'
'.$langs->trans("AmountToWithdraw").''; print price($bprev->SommeAPrelever()); print '

'; @@ -76,8 +76,8 @@ print ''; * Factures */ $sql = "SELECT f.facnumber, f.rowid, s.nom, s.rowid as socid"; -$sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; -$sql.= ", ".MAIN_DB_PREFIX."societe as s"; +$sql.= " FROM ".MAIN_DB_PREFIX."facture as f,"; +$sql.= " ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= " WHERE s.rowid = f.fk_soc"; diff --git a/htdocs/includes/modules/modPrelevement.class.php b/htdocs/includes/modules/modPrelevement.class.php index 66890758a53..15a069cbb44 100644 --- a/htdocs/includes/modules/modPrelevement.class.php +++ b/htdocs/includes/modules/modPrelevement.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2008 Laurent Destailleur + * Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -82,28 +82,28 @@ class modPrelevement extends DolibarrModules $this->rights_class = 'prelevement'; $this->rights[1][0] = 151; - $this->rights[1][1] = 'Consulter les prelevements'; + $this->rights[1][1] = 'Read withdrawals'; $this->rights[1][2] = 'r'; $this->rights[1][3] = 1; $this->rights[1][4] = 'bons'; $this->rights[1][5] = 'lire'; $this->rights[2][0] = 152; - $this->rights[2][1] = 'Configurer les prelevements'; + $this->rights[2][1] = 'Create/modify a withdrawal request'; $this->rights[2][2] = 'w'; $this->rights[2][3] = 0; $this->rights[2][4] = 'bons'; $this->rights[2][5] = 'configurer'; $this->rights[3][0] = 153; - $this->rights[3][1] = 'Consulter les bons de prelevements'; + $this->rights[3][1] = 'Read a widthrawal receipt'; $this->rights[3][2] = 'r'; $this->rights[3][3] = 0; $this->rights[3][4] = 'bons'; $this->rights[3][5] = 'lire'; $this->rights[4][0] = 154; - $this->rights[4][1] = 'Creer un bon de prelevement'; + $this->rights[4][1] = 'Create/modify a withdrawal receipt'; $this->rights[4][2] = 'w'; $this->rights[4][3] = 0; $this->rights[4][4] = 'bons'; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 11e14f63ddc..5bab62283e7 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -451,7 +451,7 @@ Permission144=Delete tasks Permission146=Read providers Permission147=Read stats Permission151=Read standing orders -Permission152=Setup standing orders +Permission152=Create/modify a standing orders request Permission153=Read standing orders receipts Permission161=Read contracts Permission162=Create/modify contracts diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 5306387e45c..91f3a5e7474 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -452,7 +452,7 @@ Permission144= Supprimer tous les projets et tâches (y compris privés dont je Permission146= Consulter les fournisseurs Permission147= Consulter les stats Permission151= Consulter les prélèvements -Permission152= Configurer les prélèvements +Permission152= Créer/modifier une demande de prélèvements Permission153= Consulter les bons de prélèvements Permission161= Consulter les contrats de services Permission162= Créer/modifier les contrats de services diff --git a/scripts/withdrawals/prelevement.php b/scripts/withdrawals/build_withdrawal_file.php similarity index 66% rename from scripts/withdrawals/prelevement.php rename to scripts/withdrawals/build_withdrawal_file.php index c43e124ad66..69424b7bdf3 100644 --- a/scripts/withdrawals/prelevement.php +++ b/scripts/withdrawals/build_withdrawal_file.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2009 Laurent Destailleur + * Copyright (C) 2005-2010 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ */ /** - * \file scripts/prelevement/prelevement.php + * \file scripts/withdrawals/build_withdrawal_file.php * \ingroup prelevement * \brief Script de prelevement * \version $Id$ @@ -30,8 +30,8 @@ $path=dirname(__FILE__).'/'; // Test if batch mode if (substr($sapi_type, 0, 3) == 'cgi') { - echo "Error: You ar usingr PH for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; - exit; + echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; + exit; } // Recupere env dolibarr @@ -51,12 +51,16 @@ $month = strftime("%m", $datetimeprev); $year = strftime("%Y", $datetimeprev); $user = new user($db); -$user->fetch(PRELEVEMENT_USER); +$user->fetch($conf->global->PRELEVEMENT_USER); -/* - * View - */ +print "***** ".$script_file." (".$version.") *****\n"; +if (! isset($argv[1])) { // Check parameters + print "This script check invoices with a withdrawal request and\n"; + print "then create payment and build a withdraw file.\n"; + print "Usage: ".$script_file." simu|real\n"; + exit; +} $factures = array(); $factures_prev = array(); @@ -80,21 +84,22 @@ if (!$error) $sql.= " AND f.total_ttc > 0"; $sql.= " AND f.fk_mode_reglement = 3"; - if ( $db->query($sql) ) + $resql= $db->query($sql); + if ($resql) { - $num = $db->num_rows(); + $num = $db->num_rows($resql); $i = 0; while ($i < $num) { - $row = $db->fetch_row(); + $row = $db->fetch_row($resql); - $factures[$i] = $row; + $factures[$i] = $row; - $i++; + $i++; } - $db->free(); - dol_syslog("$i factures a prelever"); + $db->free($resql); + dol_syslog($i." invoices to withdraw."); } else { @@ -117,89 +122,100 @@ if (!$error) * */ $i = 0; - dol_syslog("Debut verification des RIB"); + print "Start to check bank numbers RIB/IBAN.\n"; if (sizeof($factures) > 0) { foreach ($factures as $fac) { - $fact = new Facture($db); + $fact = new Facture($db); - if ($fact->fetch($fac[0]) == 1) - { - $soc = new Societe($db); - if ($soc->fetch($fact->socid) == 1) - { - if ($soc->verif_rib() == 1) - { - $factures_prev[$i] = $fac; - /* second tableau necessaire pour bon-prelevement */ - $factures_prev_id[$i] = $fac[0]; - $i++; - } - else - { - dol_syslog("Erreur de RIB societe $fact->socid $soc->nom"); - } - } - else - { - dol_syslog("Impossible de lire la societe"); - } - } - else - { - dol_syslog("Impossible de lire la facture"); - } + if ($fact->fetch($fac[0]) == 1) + { + $soc = new Societe($db); + if ($soc->fetch($fact->socid) == 1) + { + if ($soc->verif_rib() == 1) + { + $factures_prev[$i] = $fac; + /* second tableau necessaire pour bon-prelevement */ + $factures_prev_id[$i] = $fac[0]; + $i++; + } + else + { + print "Bad value for bank RIB/IBAN: Third party id=".$fact->socid.", name=".$soc->nom."\n"; + dol_syslog("Bad value for bank RIB/IBAN ".$fact->socid." ".$soc->nom); + } + } + else + { + print "Failed to read third party\n"; + dol_syslog("Failed to read third party"); + } + } + else + { + + print "Failed to read invoice\n"; + dol_syslog("Failed to read invoice"); + } } } else { - dol_syslog("Aucune factures a traiter"); + print "No invoices to process\n"; + dol_syslog("No invoice to process"); } } + + + /* - * - * - * + * Run withdrawal */ -dol_syslog(sizeof($factures_prev)." factures seront prelevees"); -print 'eeee'.$factures_prev; +$ok=0; + +$out=sizeof($factures_prev)." invoices will be withdrawn."; +print $out."\n"; +dol_syslog($out); + if (sizeof($factures_prev) > 0) { - /* - * Ouverture de la transaction - * - */ - - if (!$db->query("BEGIN")) + if ($argv[1]==='real') { - $error++; + $ok=1; } + else + { + print "Option for real mode was not set, we stop after this simulation\n"; + } +} +if ($ok) +{ /* - * Traitements - * + * We are in real mode. + * We create withdraw receipt, payments and build withdraw into disk */ + $db->begin(); + if (!$error) { $ref = "T".substr($year,-2).$month; - /* - * - * - */ $sql = "SELECT count(*)"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons"; $sql.= " WHERE ref LIKE '".$ref."%'"; $sql.= " AND entity = ".$conf->entity; - if ($db->query($sql)) + $resql=$db->query($sql); + if ($resql) { - $row = $db->fetch_row(); + $row = $db->fetch_row($resql); } else { @@ -213,7 +229,6 @@ if (sizeof($factures_prev) > 0) /* * Creation du bon de prelevement - * */ $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; @@ -223,33 +238,30 @@ if (sizeof($factures_prev) > 0) $sql.= ") VALUES ("; $sql.= "'".$ref."'"; $sql.= ", ".$conf->entity; - $sql.= ", ".$db->idate(mktime()); + $sql.= ", '".$db->idate(mktime())."'"; $sql.= ")"; - if ($db->query($sql)) + $resql=$db->query($sql); + if ($resql) { $prev_id = $db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); - $bonprev = new BonPrelevement($db, $this->prelevement."/receipts/".$filebonprev); + $bonprev = new BonPrelevement($db, $conf->prelevement->dir_output."/receipts/".$filebonprev); $bonprev->id = $prev_id; } else { $error++; - dol_syslog("Erreur creation du bon de prelevement"); + dol_syslog("Failed to create withdrawal ticket"); } } - /* - * - * - * - */ + if (!$error) { - dol_syslog("Debut generation des paiements"); - dol_syslog("Nombre de factures ".sizeof($factures_prev)); + dol_syslog("Start generation of payments"); + dol_syslog("Number of invoices: ".sizeof($factures_prev)); if (sizeof($factures_prev) > 0) { @@ -262,14 +274,16 @@ if (sizeof($factures_prev) > 0) $pai->amounts = array(); $pai->amounts[$fac[0]] = $fact->total_ttc; - $pai->datepaye = $db->idate($datetimeprev); + $pai->datepaye = $datetimeprev; $pai->paiementid = 3; // prelevement $pai->num_paiement = $ref; if ($pai->create($user, 1) == -1) // on appelle en no_commit { $error++; - dol_syslog("Erreur creation paiement facture ".$fac[0]); + $out="Failed to create payments for invoice ".$fac[0]; + print $out."\n"; + dol_syslog($out); } else { @@ -304,7 +318,7 @@ if (sizeof($factures_prev) > 0) */ $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande"; $sql.= " SET traite = 1"; - $sql.= ", date_traite = ".$db->idate(mktime()); + $sql.= ", date_traite = '".$db->idate(mktime())."'"; $sql.= ", fk_prelevement_bons = ".$prev_id; $sql.= " WHERE rowid = ".$fac[1]; @@ -315,27 +329,24 @@ if (sizeof($factures_prev) > 0) else { $error++; - dol_syslog("Erreur mise a jour des demandes"); - dol_syslog($db->error()); + dol_syslog("Erreur mise a jour des demandes ".$db->error()); } } } } - dol_syslog("Fin des paiements"); + dol_syslog("End payments"); } if (!$error) { /* * Bon de Prelevement - * - * */ - dol_syslog("Debut prelevement"); - dol_syslog("Nombre de factures ".sizeof($factures_prev)); + dol_syslog("Start generation of widthdrawal"); + dol_syslog("Number of invoices ".sizeof($factures_prev)); if (sizeof($factures_prev) > 0) { @@ -353,6 +364,7 @@ if (sizeof($factures_prev) > 0) $bonprev->factures = $factures_prev_id; + // Build file $bonprev->generate(); } dol_syslog( $filebonprev ) ; @@ -382,13 +394,12 @@ if (sizeof($factures_prev) > 0) */ if (!$error) { - $db->query("COMMIT"); - dol_syslog("COMMIT"); + $db->commit(); } else { - $db->query("ROLLBAK"); - dol_syslog("ROLLBACK"); + $db->rollback(); + dol_syslog("Error",LOG_ERROR); } } diff --git a/scripts/withdrawals/prelevement-verif.php b/scripts/withdrawals/prelevement-verif.php deleted file mode 100644 index f6e2fc86fa7..00000000000 --- a/scripts/withdrawals/prelevement-verif.php +++ /dev/null @@ -1,166 +0,0 @@ - - * Copyright (C) 2005-2009 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/** - * \file scripts/prelevement/prelevement-verif.php - * \ingroup prelevement - * \brief Verifie que les societes qui doivent etre prelevees ont bien un RIB correct - * \version $Id$ - */ - -$sapi_type = php_sapi_name(); -$script_file = basename(__FILE__); -$path=dirname(__FILE__).'/'; - -// Test if batch mode -if (substr($sapi_type, 0, 3) == 'cgi') { - echo "Error: You ar usingr PH for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; - exit; -} - -// Recupere env dolibarr -$version='$Revision$'; - -require_once($path."../../htdocs/master.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); -require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php"); - -$error = 0; - -$puser = new user($db); -$puser->fetch(PRELEVEMENT_USER); -dol_syslog("Prelevements effectues par ".$puser->fullname." [".PRELEVEMENT_USER."]"); - -dol_syslog("Raison sociale : ".PRELEVEMENT_RAISON_SOCIALE); -dol_syslog("Numero Nation Emetteur : ".PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR); - -dol_syslog("Code etablissement : ".PRELEVEMENT_CODE_BANQUE); -dol_syslog("Code guichet : ". PRELEVEMENT_CODE_GUICHET); -dol_syslog("Numero compte : ".PRELEVEMENT_NUMERO_COMPTE); - -/* - * - * Lectures des factures a prelever - * - */ - -$factures = array(); -$factures_prev = array(); - -if (!$error) -{ - - $sql = "SELECT f.rowid, pfd.rowid as pfdrowid, f.fk_soc"; - $sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; - $sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; - - $sql .= " WHERE f.fk_statut = 1"; - $sql .= " AND f.rowid = pfd.fk_facture"; - $sql .= " AND f.paye = 0"; - $sql .= " AND pfd.traite = 0"; - $sql .= " AND f.total_ttc > 0"; - $sql .= " AND f.fk_mode_reglement = 3"; - - if ( $db->query($sql) ) - { - $num = $db->num_rows(); - - $i = 0; - - while ($i < $num) - { - $row = $db->fetch_row(); - - $factures[$i] = $row; - - $i++; - } - $db->free(); - dol_syslog("$i factures a prelever"); - } - else - { - $error = 1; - dol_syslog("Erreur -1"); - dol_syslog($db->error()); - } -} - -/* - * - * Verification des clients - * - */ - -if (!$error) -{ - /* - * Verification des RIB - * - */ - $i = 0; - dol_syslog("Debut verification des RIB"); - - if (sizeof($factures) > 0) - { - foreach ($factures as $fac) - { - $fact = new Facture($db); - - if ($fact->fetch($fac[0]) == 1) - { - $soc = new Societe($db); - if ($soc->fetch($fact->socid) == 1) - { - - if ($soc->verif_rib() == 1) - { - - $factures_prev[$i] = $fac; - - $i++; - } - else - { - dol_syslog("Erreur de RIB societe $fact->socid $soc->nom"); - } - } - else - { - dol_syslog("Impossible de lire la societe"); - } - } - else - { - dol_syslog("Impossible de lire la facture"); - } - } - } - else - { - dol_syslog("Aucune factures a traiter"); - } -} - -dol_syslog(sizeof($factures_prev)." factures sur ".sizeof($factures)." seront prelevees"); - -$db->close(); - - -?>