diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index ca9d7c67792..f3e93a6fd84 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -28,6 +28,7 @@ */ require("./pre.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php"); $dir = DOL_DOCUMENT_ROOT."/includes/modules/barcode/"; @@ -60,6 +61,7 @@ else if ($_POST["action"] == 'setproductusebarcode') $html = new Form($db); +$formbarcode = new FormBarCode($db); llxHeader('',$langs->trans("BarcodeSetup"),'BarcodeConfiguration'); @@ -164,7 +166,7 @@ if ($resql) print ''; print ''; - print $html->setBarcodeEncoder($obj->coder,$barcodelist,$obj->rowid,'form'.$i); + print $formbarcode->setBarcodeEncoder($obj->coder,$barcodelist,$obj->rowid,'form'.$i); print "\n"; $var=!$var; $i++; @@ -237,7 +239,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('EAN13','form'.$i); + print $formbarcode->setBarcodeEncoder('EAN13','form'.$i); print "\n"; $i++; @@ -256,7 +258,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('UPC','form'.$i); + print $formbarcode->setBarcodeEncoder('UPC','form'.$i); print "\n"; $i++; @@ -272,7 +274,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('ISBN','form'.$i); + print $formbarcode->setBarcodeEncoder('ISBN','form'.$i); print "\n"; $i++; @@ -292,7 +294,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('C39','form'.$i); + print $formbarcode->setBarcodeEncoder('C39','form'.$i); print "\n"; $i++; @@ -313,7 +315,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('C128','form'.$i); + print $formbarcode->setBarcodeEncoder('C128','form'.$i); print "\n"; $i++; @@ -329,7 +331,7 @@ print ''; print ''; print ''; - print $html->setBarcodeEncoder('I25','form'.$i); + print $formbarcode->setBarcodeEncoder('I25','form'.$i); print "\n"; $i++; */ diff --git a/htdocs/admin/produit.php b/htdocs/admin/produit.php index 58474fa1b24..03e55519108 100644 --- a/htdocs/admin/produit.php +++ b/htdocs/admin/produit.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006-2007 Rodolphe Quiedeville * Copyright (C) 2007 Auguria SARL @@ -20,7 +20,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -31,6 +30,7 @@ */ require("./pre.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php"); $langs->load("admin"); $langs->load("propal"); @@ -135,6 +135,8 @@ else if ($_POST["action"] == 'setdefaultbarcodetype') * Affiche page */ +$formbarcode=new FormBarCode($db); + llxHeader('',$langs->trans("ProductSetup")); print_fiche_titre($langs->trans("ProductSetup"),'','setup'); @@ -279,7 +281,7 @@ if ($conf->barcode->enabled && $conf->global->PRODUIT_USE_BARCODE) print ""; print ''.$langs->trans("SetDefaultBarcodeType").''; print ''; - print $html->select_barcode_type($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE,"coder_id",1); + print $formbarcode->select_barcode_type($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE,"coder_id",1); print ''; print ''; print ""; @@ -363,5 +365,5 @@ if ($conf->left_menu == 'default.php' || $conf->left_menu == 'auguria_backoffice $db->close(); -llxFooter(); +llxFooter('$Date$ - $Revision$'); ?> diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 0ab7e50a029..2a67cd8d09f 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -3554,114 +3554,7 @@ class Form return $ret; } - /** - * \brief Liste de sélection du générateur de codes barres - * \param selected Id code pré-sélectionné - * \param code_id Id du code barre - * \param idForm Id du formulaire - */ - function setBarcodeEncoder($selected=0,$barcodelist,$code_id,$idForm='formbarcode') - { - global $conf, $langs; - - $disable = ''; - - // On vérifie si le code de barre est déjà sélectionné par défaut dans le module produit - if ($conf->produit->enabled && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id) - { - $disable = 'disabled="disabled"'; - } - - $select_encoder = '
'; - $select_encoder.= ''; - $select_encoder.= ''; - $select_encoder.= '
'; - return $select_encoder; - } - - /** - * \brief Retourne la liste des types de codes barres - * \param selected Id code pré-sélectionné - * \param htmlname Nom de la zone select - * \param useempty Affiche valeur vide dans liste - */ - function select_barcode_type($selected='',$htmlname='coder_id',$useempty=0) - { - global $langs; - - $sql = "SELECT rowid, code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_barcode_type"; - $sql.= " WHERE coder > 0"; - $sql.= " ORDER BY rowid"; - $result = $this->db->query($sql); - if ($result) - { - $num = $this->db->num_rows($result); - $i = 0; - - if ($useempty && $num > 0) - { - print ''; - print ''; - } - - while ($i < $num) - { - $obj = $this->db->fetch_object($result); - if ($selected == $obj->rowid) - { - print ''; - $i++; - } - print ""; - } - else { - dolibarr_print_error($this->db); - } - } - - /** - * \brief Affiche formulaire de selection du type de code barre - * \param page Page - * \param selected Id condition pré-sélectionnée - * \param htmlname Nom du formulaire select - */ - function form_barcode_type($page, $selected='', $htmlname='barcodetype_id') - { - global $langs,$conf; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print '
'; - $this->select_barcode_type($selected, $htmlname, 1); - print ''; - print '
'; - } - } - /** * \brief Retourne la liste des ecotaxes avec tooltip sur le libelle * \param selected code ecotaxes pre-selectionne diff --git a/htdocs/includes/barcode/html.formbarcode.class.php b/htdocs/includes/barcode/html.formbarcode.class.php new file mode 100644 index 00000000000..6cad9fcd715 --- /dev/null +++ b/htdocs/includes/barcode/html.formbarcode.class.php @@ -0,0 +1,162 @@ + + * Copyright (C) 2008 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. + * + * $Id$ + */ + +/** + \file htdocs/html.form.class.php + \brief Fichier de la classe des fonctions prédéfinie de composants html + \version $Revision$ +*/ + + +/** + \class Form + \brief Classe permettant la génération de composants html +*/ + +class FormBarCode +{ + var $db; + var $error; + + + /** + \brief Constructeur + \param DB handler d'accès base de donnée + */ + function FormBarCode($DB) + { + $this->db = $DB; + + return 1; + } + + + /** + * \brief Liste de sélection du générateur de codes barres + * \param selected Id code pré-sélectionné + * \param code_id Id du code barre + * \param idForm Id du formulaire + */ + function setBarcodeEncoder($selected=0,$barcodelist,$code_id,$idForm='formbarcode') + { + global $conf, $langs; + + $disable = ''; + + // On vérifie si le code de barre est déjà sélectionné par défaut dans le module produit + if ($conf->produit->enabled && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id) + { + $disable = 'disabled="disabled"'; + } + + $select_encoder = '
'; + $select_encoder.= ''; + $select_encoder.= ''; + $select_encoder.= '
'; + + return $select_encoder; + } + + /** + * \brief Retourne la liste des types de codes barres + * \param selected Id code pré-sélectionné + * \param htmlname Nom de la zone select + * \param useempty Affiche valeur vide dans liste + */ + function select_barcode_type($selected='',$htmlname='coder_id',$useempty=0) + { + global $langs; + + $sql = "SELECT rowid, code, libelle"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_barcode_type"; + $sql.= " WHERE coder > 0"; + $sql.= " ORDER BY rowid"; + $result = $this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows($result); + $i = 0; + + if ($useempty && $num > 0) + { + print ''; + print ''; + } + + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + if ($selected == $obj->rowid) + { + print ''; + $i++; + } + print ""; + } + else { + dolibarr_print_error($this->db); + } + } + + /** + * \brief Affiche formulaire de selection du type de code barre + * \param page Page + * \param selected Id condition pré-sélectionnée + * \param htmlname Nom du formulaire select + */ + function form_barcode_type($page, $selected='', $htmlname='barcodetype_id') + { + global $langs,$conf; + if ($htmlname != "none") + { + print '
'; + print ''; + print ''; + print ''; + print '
'; + $this->select_barcode_type($selected, $htmlname, 1); + print ''; + print '
'; + } + } + +} + +?> diff --git a/htdocs/product/barcode.php b/htdocs/product/barcode.php index 2a2ff1c186e..4b6bf45a13b 100644 --- a/htdocs/product/barcode.php +++ b/htdocs/product/barcode.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2007 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -31,6 +30,7 @@ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/product.lib.php"); require_once(DOL_DOCUMENT_ROOT."/product.class.php"); +require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php"); $langs->load("products"); $langs->load("bills"); @@ -76,6 +76,7 @@ if ($_POST['action'] == 'setbarcode' && $user->rights->barcode->creer) llxHeader("","",$langs->trans("BarCode")); $html = new Form($db); +$formbarcode = new FormBarCode($db); $product = new Product($db); if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); @@ -132,7 +133,7 @@ print ''; print ''; if ($_GET['action'] == 'editbarcodetype') { - $html->form_barcode_type($_SERVER['PHP_SELF'].'?id='.$product->id,$product->barcode_type,'barcodetype_id'); + $formbarcode->form_barcode_type($_SERVER['PHP_SELF'].'?id='.$product->id,$product->barcode_type,'barcodetype_id'); } else {