summaryrefslogtreecommitdiffstats
path: root/Under-Testing/Website/class/pBarcode39.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'Under-Testing/Website/class/pBarcode39.class.php')
-rw-r--r--Under-Testing/Website/class/pBarcode39.class.php200
1 files changed, 0 insertions, 200 deletions
diff --git a/Under-Testing/Website/class/pBarcode39.class.php b/Under-Testing/Website/class/pBarcode39.class.php
deleted file mode 100644
index 8d57b71..0000000
--- a/Under-Testing/Website/class/pBarcode39.class.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
- /*
- pBarcode39 - class to create barcodes (39B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode39
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
- var $MOD43;
-
- /* Class creator */
- function pBarcode39($BasePath="",$EnableMOD43=FALSE)
- {
- $this->MOD43 = $EnableMOD43;
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/39.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."data/39.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[0]] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode39($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- /* Create the encoded string */
- function encode39($Value)
- {
- $this->Result = "100101101101"."0";
- $TextString = "";
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( $CharCode >= 97 && $CharCode <= 122 ) { $CharCode = $CharCode - 32; }
-
- if ( isset($this->Codes[chr($CharCode)]) )
- {
- $this->Result = $this->Result.$this->Codes[chr($CharCode)]."0";
- $TextString = $TextString.chr($CharCode);
- }
- }
-
- if ( $this->MOD43 )
- {
- $Checksum = $this->checksum($TextString);
- $this->Result = $this->Result.$this->Codes[$Checksum]."0";
- }
-
- $this->Result = $this->Result."100101101101";
- $TextString = "*".$TextString."*";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode39($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function checksum( $string )
- {
- $checksum = 0;
- $length = strlen( $string );
- $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';
-
- for( $i=0; $i < $length; ++$i )
- $checksum += strpos( $charset, $string[$i] );
-
- return substr( $charset, ($checksum % 43), 1 );
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file