90 header(
'Content-Type: application/svg+xml');
91 header(
'Cache-Control: public, must-revalidate, max-age=0');
92 header(
'Pragma: public');
93 header(
'Expires: Sat, 26 Jul 1997 05:00:00 GMT');
94 header(
'Last-Modified: '.gmdate(
'D, d M Y H:i:s').
' GMT');
95 header(
'Content-Disposition: inline; filename="'.md5($code).
'.svg";');
110 $repstr = array(
"\0" =>
'',
'&' =>
'&',
'<' =>
'<',
'>' =>
'>');
111 $svg =
'<'.
'?'.
'xml version="1.0" standalone="no"'.
'?'.
'>'.
"\n";
112 $svg .=
'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'.
"\n";
113 $svg .=
'<svg width="'.round(($this->barcode_array[
'num_cols'] * $w), 3).
'" height="'.round(($this->barcode_array[
'num_rows'] * $h), 3).
'" version="1.1" xmlns="http://www.w3.org/2000/svg">'.
"\n";
114 $svg .=
"\t".
'<desc>'.strtr($this->barcode_array[
'code'], $repstr).
'</desc>'.
"\n";
115 $svg .=
"\t".
'<g id="elements" fill="'.$color.
'" stroke="none">'.
"\n";
119 for ($r = 0; $r < $this->barcode_array[
'num_rows']; ++$r) {
122 for ($c = 0; $c < $this->barcode_array[
'num_cols']; ++$c) {
123 if ($this->barcode_array[
'bcode'][$r][$c] == 1) {
125 $svg .=
"\t\t".
'<rect x="'.$x.
'" y="'.$y.
'" width="'.$w.
'" height="'.$h.
'" />'.
"\n";
131 $svg .=
"\t".
'</g>'.
"\n";
132 $svg .=
'</svg>'.
"\n";
145 $html =
'<div style="font-size:0;position:relative;width:'.($w * $this->barcode_array[
'num_cols']).
'px;height:'.($h * $this->barcode_array[
'num_rows']).
'px;">'.
"\n";
149 for ($r = 0; $r < $this->barcode_array[
'num_rows']; ++$r) {
152 for ($c = 0; $c < $this->barcode_array[
'num_cols']; ++$c) {
153 if ($this->barcode_array[
'bcode'][$r][$c] == 1) {
155 $html .=
'<div style="background-color:'.$color.
';width:'.$w.
'px;height:'.$h.
'px;position:absolute;left:'.$x.
'px;top:'.$y.
'px;"> </div>'.
"\n";
161 $html .=
'</div>'.
"\n";
175 $width = ($this->barcode_array[
'num_cols'] * $w);
176 $height = ($this->barcode_array[
'num_rows'] * $h);
177 if (function_exists(
'imagecreate')) {
180 $png = imagecreate($width, $height);
181 $bgcol = imagecolorallocate($png, 255, 255, 255);
182 imagecolortransparent($png, $bgcol);
183 $fgcol = imagecolorallocate($png, $color[0], $color[1], $color[2]);
184 }
elseif (extension_loaded(
'imagick')) {
186 $bgcol =
new imagickpixel(
'rgb(255,255,255');
187 $fgcol =
new imagickpixel(
'rgb('.$color[0].
','.$color[1].
','.$color[2].
')');
188 $png =
new Imagick();
189 $png->newImage($width, $height,
'none',
'png');
190 $bar =
new imagickdraw();
191 $bar->setfillcolor($fgcol);
198 for ($r = 0; $r < $this->barcode_array[
'num_rows']; ++$r) {
201 for ($c = 0; $c < $this->barcode_array[
'num_cols']; ++$c) {
202 if ($this->barcode_array[
'bcode'][$r][$c] == 1) {
205 $bar->rectangle($x, $y, ($x + $w - 1), ($y + $h - 1));
207 imagefilledrectangle($png, $x, $y, ($x + $w - 1), ($y + $h - 1), $fgcol);
222 $png->drawimage($bar);
237 $mode = explode(
',', $type);
238 $qrtype = strtoupper(
$mode[0]);
241 require_once(dirname(__FILE__).
'/datamatrix.php');
243 $this->barcode_array = $qrcode->getBarcodeArray();
244 $this->barcode_array[
'code'] = $code;
248 require_once(dirname(__FILE__).
'/pdf417.php');
252 $aspectratio = floatval(
$mode[1]);
257 $ecl = intval(
$mode[2]);
262 $macro[
'segment_total'] = intval(
$mode[3]);
263 $macro[
'segment_index'] = intval(
$mode[4]);
264 $macro[
'file_id'] = strtr(
$mode[5],
"\xff",
',');
265 for (
$i = 0;
$i < 7; ++
$i) {
267 if (isset(
$mode[$o]) AND (
$mode[$o] !==
'')) {
269 $macro[
'option_'.$i] = strtr(
$mode[$o],
"\xff",
',');
273 $qrcode =
new PDF417($code, $ecl, $aspectratio, $macro);
274 $this->barcode_array = $qrcode->getBarcodeArray();
275 $this->barcode_array[
'code'] = $code;
279 require_once(dirname(__FILE__).
'/qrcode.php');
280 if (!isset(
$mode[1]) OR (!in_array(
$mode[1],array(
'L',
'M',
'Q',
'H')))) {
284 $this->barcode_array = $qrcode->getBarcodeArray();
285 $this->barcode_array[
'code'] = $code;
291 $code = preg_replace(
'/[\s]*/si',
'', $code);
292 if (strlen($code) < 3) {
295 if ($qrtype ==
'RAW') {
297 $rows = explode(
',', $code);
300 $code = substr($code, 1, -1);
301 $rows = explode(
'][', $code);
303 $this->barcode_array[
'num_rows'] = count($rows);
304 $this->barcode_array[
'num_cols'] = strlen($rows[0]);
305 $this->barcode_array[
'bcode'] = array();
306 foreach ($rows as $r) {
307 $this->barcode_array[
'bcode'][] = str_split($r, 1);
309 $this->barcode_array[
'code'] = $code;
313 $this->barcode_array[
'num_rows'] = 5;
314 $this->barcode_array[
'num_cols'] = 15;
315 $this->barcode_array[
'bcode'] = array(
316 array(1,1,1,0,1,1,1,0,1,1,1,0,1,1,1),
317 array(0,1,0,0,1,0,0,0,1,0,0,0,0,1,0),
318 array(0,1,0,0,1,1,0,0,1,1,1,0,0,1,0),
319 array(0,1,0,0,1,0,0,0,0,0,1,0,0,1,0),
320 array(0,1,0,0,1,1,1,0,1,1,1,0,0,1,0));
321 $this->barcode_array[
'code'] = $code;
325 $this->barcode_array =
false;
setBarcode($code, $type)
Set the barcode.
getBarcodeSVGcode($w=3, $h=3, $color='black')
Return a SVG string representation of barcode.
getBarcodeSVG($w=3, $h=3, $color='black')
Send barcode as SVG image object to the standard output.
getBarcodeArray()
Return an array representations of barcode.
Class to create DataMatrix ECC 200 barcode arrays for TCPDF class.
__construct($code, $type)
This is the class constructor.
$barcode_array
Array representation of barcode.
if(strlen($date2)== '10') if($type== 'users-by-age'&&a_priv('admin_users', true)) elseif($type== 'forums-count'&&a_priv('admin_content', true)) elseif($type== 'forums-categories'&&a_priv('admin_content', true)) elseif($type== 'users-count'&&a_priv('admin_users', true)) elseif($type== 'product-categories'&&a_priv('admin_products', true)) elseif($type== 'users-by-sex'&&a_priv('admin_users', true)) elseif($type== 'users-by-country'&&a_priv('admin_users', true)) elseif($type== 'sales'&&a_priv('admin_sales', true))
getBarcodePNG($w=3, $h=3, $color=array(0, 0, 0))
Return a PNG image representation of barcode (requires GD or Imagick library).
Class to create PDF417 barcode arrays for TCPDF class.
PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).
Class to create QR-code arrays for TCPDF class.
getBarcodeHTML($w=10, $h=10, $color='black')
Return an HTML representation of barcode.