Fix the barcode generation script
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 25 May 2010 19:57:55 +0000 (13:57 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 25 May 2010 19:59:34 +0000 (13:59 -0600)
horde/util/barcode.php

index 4c7d9e3..41c78d3 100644 (file)
@@ -1,55 +1,96 @@
 <?php
 /**
+ * Barcode generator.
+ *
  * Copyright 2002-2010 The Horde Project (http://www.horde.org/)
  *
  * See the enclosed file COPYING for license information (LGPL). If you
  * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
  *
- * @author Chuck Hagenbuch <chuck@horde.org>
+ * @author   Chuck Hagenbuch <chuck@horde.org>
+ * @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) {