<?php
// Including all required classes
require('barcode_php8/class/BCGFont.php');
require('barcode_php8/class/BCGColor.php');
require('barcode_php8/class/BCGDrawing.php');

// Including the barcode technology
include('barcode_php8/class/BCGcode39.barcode.php');

include_once ("../include/mcglobal.inc.php");

// Check HTTP-Parameters
getSecHttpVars("1",array("text", "scale", "thickness", "filename"));

if ($scale == "") : $scale = "2"; endif;
if ($thickness == "") : $thickness = "30"; endif;

// Loading Font
$font = new BCGFont('./barcode_php8/class/font/Arial.ttf', 18);

// ----
// Loading Font
/*
$dirName = dirname(__FILE__);
$dirName = str_replace("\\", "/", $dirName);
$lastSlashPos = strrpos($dirName,"/");
$path = substr($dirName, 0, $lastSlashPos);
// echo $path; die();
$font = new BCGFont($path . '/include/arial.ttf', 18);
*/
// ----

// The arguments are R, G, B for color.
$color_black = new BCGColor(0, 0, 0);
$color_white = new BCGColor(255, 255, 255); 

$code = new BCGcode39();
$code->setScale($scale); // Resolution
$code->setThickness($thickness); // Thickness
$code->setForegroundColor($color_black); // Color of bars
$code->setBackgroundColor($color_white); // Color of spaces
$code->setFont($font); // Font (or 0)
$code->parse($text); // Text

/* Here is the list of the arguments
1 - Filename (empty : display on screen)
2 - Background color */
$drawing = new BCGDrawing($filename, $color_white);
$drawing->setBarcode($code);
$drawing->draw();

// Header that says it is an image (remove it if you save the barcode to a file)
if ($filename == "") :
   header('Content-Type: image/png');
endif;

// Draw (or save) the image into PNG format.
$drawing->finish($drawing->IMG_FORMAT_PNG);
?>