\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