Difference between revisions of "Module Codes Barre (développeur)"

Tag: 2017 source edit
Tag: 2017 source edit
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
<!-- Do NOT edit this section
 
<!-- Do NOT edit this section
 
     Links below are automatically managed by PolyglotBot
 
     Links below are automatically managed by PolyglotBot
     You can edit links on the English source page : Modul_Barcode_(Developer) -->
+
     You can edit links on the English source page : Module_Barcode_(developer) -->
[[de:Modul_Barcode_(Developer)]]
 
 
[[en:Module_Barcode_(developer)]]
 
[[en:Module_Barcode_(developer)]]
 
[[es:Módulo_Código_de_barra_(desarrollador)]]
 
[[es:Módulo_Código_de_barra_(desarrollador)]]
 +
[[de:Modul_Barcode_(Developer)]]
 
<!-- END interlang links -->
 
<!-- END interlang links -->
  
Line 37: Line 37:
  
 
= Code PHP =
 
= Code PHP =
Pour générer une image d'un code barre, vous pouvez utiliser la portion de code suivant:
+
Pour générer une image d'un code barre ou d'un QR code, vous pouvez utiliser la portion de code suivant:
  
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
TODO
+
$code = 'string_to_convert_into_image';
 +
$generator = 'tcpdfbarcode';  // Can be 'tcpdfbarcode', 'phpbarcode', a value provided by an external module, ...
 +
$encoding = 'QRCODE';  // Can be 'QRCODE', 'EAN13', ...
 +
 +
$dirbarcode = array_merge(array("/core/modules/barcode/doc/"), $conf->modules_parts['barcode']);
 +
 
 +
$result = 0;
 +
foreach ($dirbarcode as $reldir) {
 +
$dir = dol_buildpath($reldir, 0);
 +
$newdir = dol_osencode($dir);
 +
 
 +
// Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php)
 +
if (!is_dir($newdir)) {
 +
continue;
 +
}
 +
 
 +
$result = @include_once $newdir.$generator.'.modules.php';
 +
if ($result) {
 +
break;
 +
}
 +
}
 +
 
 +
// Load barcode class
 +
$classname = "mod".ucfirst($generator);
 +
$module = new $classname($db);
 +
if ($module->encodingIsSupported($encoding)) {
 +
$result = $module->writeBarCode($code, $encoding, $readable);
 +
}
 +
    // image is into file $conf->barcode->dir_temp . '/barcode_' . $code . '_' . $encoding . '.png';
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 21:49, 31 March 2024

Barcode
Numéro/ID du module 55
Doc utilisateur du module Module Codes Barre
Doc développeur du module Cette page





Fonction

Gestion des codes barre. Ce module permet d'ajouter la possibilité de saisir une valeur de code barre sur les produits ou les tiers.

Permissions

  • ->barcode->lire
  • ->barcode->creer
  • ->barcode->supprimer

Tables SQL

Aucune. Le code barre est en général un code stocké au niveau de la propriété (dans la table Produit par exemple)

Code PHP

Pour générer une image d'un code barre ou d'un QR code, vous pouvez utiliser la portion de code suivant:

	$code = 'string_to_convert_into_image';
	$generator = 'tcpdfbarcode';  // Can be 'tcpdfbarcode', 'phpbarcode', a value provided by an external module, ...
	$encoding = 'QRCODE';  // Can be 'QRCODE', 'EAN13', ...
	
	$dirbarcode = array_merge(array("/core/modules/barcode/doc/"), $conf->modules_parts['barcode']);

	$result = 0;
	foreach ($dirbarcode as $reldir) {
		$dir = dol_buildpath($reldir, 0);
		$newdir = dol_osencode($dir);

		// Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php)
		if (!is_dir($newdir)) {
			continue;
		}

		$result = @include_once $newdir.$generator.'.modules.php';
		if ($result) {
			break;
		}
	}

	// Load barcode class
	$classname = "mod".ucfirst($generator);
	$module = new $classname($db);
	if ($module->encodingIsSupported($encoding)) {
		$result = $module->writeBarCode($code, $encoding, $readable);
	}
    // image is into file $conf->barcode->dir_temp . '/barcode_' . $code . '_' . $encoding . '.png';