diff --git a/htdocs/compta/dons/fiche.php b/htdocs/compta/dons/fiche.php index fb4e1b07958..e3b3b7f008e 100644 --- a/htdocs/compta/dons/fiche.php +++ b/htdocs/compta/dons/fiche.php @@ -31,11 +31,13 @@ require_once("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/don.class.php"); require_once(DOL_DOCUMENT_ROOT."/paiement.class.php"); +$langs->load("companies"); $langs->load("donations"); $langs->load("bills"); $mesg=""; + /* * Actions */ @@ -195,12 +197,10 @@ if ($_GET["action"] == 'create') print ''.$langs->trans("Comments").' :
'; print ""; + print "".$langs->trans("PaymentMode")."\n"; - - $paiement = new Paiement($db); - - $paiement->select("modepaiement","CRDT"); - + $form = new Form($db); + $form->select_types_paiements('', 'modepaiement', 'CRDT', 0); print "\n"; if ($conf->projet->enabled) @@ -216,7 +216,6 @@ if ($_GET["action"] == 'create') $html->selectyesno("public",1,1); print "\n"; - $langs->load("companies"); print "".''.$langs->trans("Company").''; print "".''.$langs->trans("Firstname").''; print "".''.$langs->trans("Lastname").''; @@ -310,8 +309,8 @@ if ($_GET["rowid"] && $_GET["action"] == 'edit') print "".''.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->monnaie).''; print "".$langs->trans("PaymentMode")."\n"; - $paiement = new Paiement($db); - $paiement->select("modepaiement","CRDT"); + $form = new Form($db); + $form->select_types_paiements('', 'modepaiement', 'CRDT', 0); print "\n"; print "".''.$langs->trans("Status").''.$don->getLibStatut().''; diff --git a/htdocs/fourn/facture/paiementfourn.class.php b/htdocs/fourn/facture/paiementfourn.class.php index aaf55ee2b76..c3fe1f37be8 100644 --- a/htdocs/fourn/facture/paiementfourn.class.php +++ b/htdocs/fourn/facture/paiementfourn.class.php @@ -198,30 +198,6 @@ class PaiementFourn } } - /** - * \brief Affiche la liste des modes de paiement possible - * \param name nom du champ select - * \param filtre filtre sur un sens de paiement particulier, norme ISO (CRDT=Mode propre à un crédit, DBIT=mode propre à un débit) - * \param id ??? - */ - function select($name, $filtre='', $id='') - { - $form = new Form($this->db); - - if ($filtre == 'CRDT' || $filtre == 'crédit') - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 AND type IN (0,2) ORDER BY libelle'; - } - elseif ($filtre == 'DBIT' || $filtre == 'débit') - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 AND type IN (1,2) ORDER BY libelle'; - } - else - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 ORDER BY libelle'; - } - $form->select($name, $sql, $id); - } /** * \brief Supprime un paiement ainsi que les lignes qu'il a généré dans comptes diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 9d48d427176..055e7a8a483 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -270,13 +270,11 @@ class Form if ($resql) { $i = 0; - $num = $this->db->num_rows(); + $num = $this->db->num_rows($resql); while ($i < $num) { - $row = $this->db->fetch_row(); - - $listemethodes[$row[0]] = $row[1]; - + $obj = $this->db->fetch_object($resql); + $listemethodes[$obj->rowid] = $obj->libelle; $i++; } } @@ -1103,9 +1101,13 @@ class Form function select_types_paiements($selected='',$htmlname='paiementtype',$filtertype='',$format=0) { global $langs; - + + dolibarr_syslog("html.form.class.php::select_type_paiements $selected, $htmlname, $filtertype, $format",LOG_DEBUG); + $filterarray=array(); - if ($filtertype && $filtertype != '-1') $filterarray=split(',',$filtertype); + if ($filtertype == 'CRDT') $filterarray=array(0,2); + elseif ($filtertype == 'DBIT') $filterarray=array(1,2); + elseif ($filtertype != '-1') $filterarray=split(',',$filtertype); $this->load_cache_types_paiements(); @@ -2150,39 +2152,6 @@ class Form } - /** - * \brief Affiche liste déroulante depuis requete SQL - * \param name Nom de la zone select - * \param sql Requete sql - * \param id Id présélectionné - */ - function select($name, $sql, $id='') - { - $resql = $this->db->query($sql); - if ($resql) - { - print '\n"; - } - else - { - dolibarr_print_error($this->db); - } - } - /** \brief Affiche un select à partir d'un tableau \param htmlname Nom de la zone select diff --git a/htdocs/lib/mysql.lib.php b/htdocs/lib/mysql.lib.php index 14560d2d8e0..09704109bcb 100644 --- a/htdocs/lib/mysql.lib.php +++ b/htdocs/lib/mysql.lib.php @@ -344,6 +344,18 @@ class DoliDb return $ret; } + /** + \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. + \param resultset Curseur de la requete voulue + \return resource + */ + function fetch_object($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_fetch_object($resultset); + } + // Next function are not required. Only minor features use them. @@ -481,18 +493,6 @@ class DoliDb } - /** - \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. - \param resultset Curseur de la requete voulue - \return resource - */ - function fetch_object($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_fetch_object($resultset); - } - /** \brief Renvoie les données dans un tableau. \param resultset Curseur de la requete voulue diff --git a/htdocs/lib/pgsql.lib.php b/htdocs/lib/pgsql.lib.php index 8733f3f28d5..7329ecc923a 100644 --- a/htdocs/lib/pgsql.lib.php +++ b/htdocs/lib/pgsql.lib.php @@ -277,6 +277,18 @@ class DoliDb return $ret; } + /** + \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. + \param resultset Curseur de la requete voulue + \return resource + */ + function fetch_object($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return pg_fetch_object($resultset); + } + @@ -337,18 +349,6 @@ class DoliDb return $ret; } - /** - \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. - \param resultset Curseur de la requete voulue - \return resource - */ - function fetch_object($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return pg_fetch_object($resultset); - } - /** \brief Renvoie les données dans un tableau. \param resultset Curseur de la requete voulue diff --git a/htdocs/paiement.class.php b/htdocs/paiement.class.php index 593d9361d8e..02fd50314ae 100644 --- a/htdocs/paiement.class.php +++ b/htdocs/paiement.class.php @@ -194,30 +194,6 @@ class Paiement } } - /** - * \brief Affiche la liste des modes de paiement possible - * \param name nom du champ select - * \param filtre filtre sur un sens de paiement particulier, norme ISO (CRDT=Mode propre à un crédit, DBIT=mode propre à un débit) - * \param id ??? - */ - function select($name, $filtre='', $id='') - { - $form = new Form($this->db); - - if ($filtre == 'CRDT') - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 AND type IN (0,2) ORDER BY libelle'; - } - elseif ($filtre == 'DBIT') - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 AND type IN (1,2) ORDER BY libelle'; - } - else - { - $sql = 'SELECT id, libelle FROM '.MAIN_DB_PREFIX.'c_paiement WHERE active=1 ORDER BY libelle'; - } - $form->select($name, $sql, $id); - } /** * \brief Supprime un paiement ainsi que les lignes qu'il a généré dans comptes