From: Michael M Slusarz Date: Tue, 25 May 2010 19:57:55 +0000 (-0600) Subject: Fix the barcode generation script X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=bb827d0334254040ef489a0387b56643a76f75ed;p=horde.git Fix the barcode generation script --- diff --git a/horde/util/barcode.php b/horde/util/barcode.php index 4c7d9e36b..41c78d3d3 100644 --- a/horde/util/barcode.php +++ b/horde/util/barcode.php @@ -1,55 +1,96 @@ + * @author Chuck Hagenbuch + * @category Horde + * @license http://www.fsf.org/copyleft/lgpl.html LGPL */ require_once dirname(__FILE__) . '/../lib/Application.php'; +Horde_Registry::appInit('horde', array('authentication' => 'none')); + +$vars = Horde_Variables::getDefaultVariables(); // Get text, uppercase, add start/stop characters. -$text = '*' . Horde_String::upper(Horde_Util::getFormData('barcode', 'test'), true) . '*'; +$text = '*' . Horde_String::upper($vars->get('barcode', 'test'), true) . '*'; $textlen = strlen($text); -$height = Horde_Util::getFormData('h', 40); -$thinwidth = Horde_Util::getFormData('w', 2); +$height = $vars->get('h', 40); +$thinwidth = $vars->get('w', 2); $thickwidth = $thinwidth * 3; $width = $textlen * (7 * $thinwidth + 3 * $thickwidth) - $thinwidth; $codingmap = array( - '0' => '000110100', '1' => '100100001', - '2' => '001100001', '3' => '101100000', '4' => '000110001', - '5' => '100110000', '6' => '001110000', '7' => '000100101', - '8' => '100100100', '9' => '001100100', 'A' => '100001001', - 'B' => '001001001', 'C' => '101001000', 'D' => '000011001', - 'E' => '100011000', 'F' => '001011000', 'G' => '000001101', - 'H' => '100001100', 'I' => '001001100', 'J' => '000011100', - 'K' => '100000011', 'L' => '001000011', 'M' => '101000010', - 'N' => '000010011', 'O' => '100010010', 'P' => '001010010', - 'Q' => '000000111', 'R' => '100000110', 'S' => '001000110', - 'T' => '000010110', 'U' => '110000001', 'V' => '011000001', - 'W' => '111000000', 'X' => '010010001', 'Y' => '110010000', - 'Z' => '011010000', ' ' => '011000100', '$' => '010101000', - '%' => '000101010', '*' => '010010100', '+' => '010001010', - '-' => '010000101', '.' => '110000100', '/' => '010100010' + '0' => '000110100', + '1' => '100100001', + '2' => '001100001', + '3' => '101100000', + '4' => '000110001', + '5' => '100110000', + '6' => '001110000', + '7' => '000100101', + '8' => '100100100', + '9' => '001100100', + 'A' => '100001001', + 'B' => '001001001', + 'C' => '101001000', + 'D' => '000011001', + 'E' => '100011000', + 'F' => '001011000', + 'G' => '000001101', + 'H' => '100001100', + 'I' => '001001100', + 'J' => '000011100', + 'K' => '100000011', + 'L' => '001000011', + 'M' => '101000010', + 'N' => '000010011', + 'O' => '100010010', + 'P' => '001010010', + 'Q' => '000000111', + 'R' => '100000110', + 'S' => '001000110', + 'T' => '000010110', + 'U' => '110000001', + 'V' => '011000001', + 'W' => '111000000', + 'X' => '010010001', + 'Y' => '110010000', + 'Z' => '011010000', + ' ' => '011000100', + '$' => '010101000', + '%' => '000101010', + '*' => '010010100', + '+' => '010001010', + '-' => '010000101', + '.' => '110000100', + '/' => '010100010' ); -$image = Horde_Image::factory(Horde_Util::getFormData('type', 'png'), - array('temp' => Horde::getTempDir(), - 'width' => $width, - 'height' => $height, - 'background' => 'white')); +$image = Horde_Image::factory($vars->get('type', 'Png'), array( + 'background' => 'white', + 'context' => array( + 'tmpdir' => Horde::getTempDir() + ), + 'height' => $height, + 'width' => $width +)); $xpos = 0; -for ($idx = 0; $idx < $textlen; $idx++) { +for ($idx = 0; $idx < $textlen; ++$idx) { $char = substr($text, $idx, 1); + // Make unknown chars a '-'. if (!isset($codingmap[$char])) { $char = '-'; } + for ($bar = 0; $bar <= 8; $bar++) { $elementwidth = $codingmap[$char]{$bar} ? $thickwidth : $thinwidth; if (($bar + 1) % 2) {