Issues (4069)

Security Analysis    not enabled

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

include/tcpdf/2dbarcodes.php (5 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/*
4
5
Modification information for LGPL compliance
6
7
r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync
8
9
r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover
10
11
r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex
12
13
r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3  tags and updated the build system 
14
15
r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development
16
17
r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372
18
19
r46451 - 2009-04-23 16:57:40 -0700 (Thu, 23 Apr 2009) - jenny - tcpdf initial checkin.
20
21
22
*/
23
24
25
//============================================================+
26
// File name   : 2dbarcodes.php
27
// Begin       : 2009-04-07
28
// Last Update : 2009-04-08
29
// Version     : 1.0.000
30
// License     : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
31
// 	----------------------------------------------------------------------------
32
//  Copyright (C) 2008-2009 Nicola Asuni - Tecnick.com S.r.l.
33
// 	
0 ignored issues
show
There is some trailing whitespace on this line which should be avoided as per coding-style.
Loading history...
34
// 	This program is free software: you can redistribute it and/or modify
35
// 	it under the terms of the GNU Lesser General Public License as published by
36
// 	the Free Software Foundation, either version 2.1 of the License, or
37
// 	(at your option) any later version.
38
// 	
0 ignored issues
show
There is some trailing whitespace on this line which should be avoided as per coding-style.
Loading history...
39
// 	This program is distributed in the hope that it will be useful,
40
// 	but WITHOUT ANY WARRANTY; without even the implied warranty of
41
// 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
42
// 	GNU Lesser General Public License for more details.
43
// 	
0 ignored issues
show
There is some trailing whitespace on this line which should be avoided as per coding-style.
Loading history...
44
// 	You should have received a copy of the GNU Lesser General Public License
45
// 	along with this program.  If not, see <http://www.gnu.org/licenses/>.
46
// 	
0 ignored issues
show
There is some trailing whitespace on this line which should be avoided as per coding-style.
Loading history...
47
// 	See LICENSE.TXT file for more information.
48
//  ----------------------------------------------------------------------------
49
//
50
// Description : PHP class to creates array representations for 
51
//               2D barcodes to be used with TCPDF.
52
//
53
// Author: Nicola Asuni
54
//
55
// (c) Copyright:
56
//               Nicola Asuni
57
//               Tecnick.com S.r.l.
58
//               Via della Pace, 11
59
//               09044 Quartucciu (CA)
60
//               ITALY
61
//               www.tecnick.com
62
//               [email protected]
63
//============================================================+
64
65
/**
66
 * PHP class to creates array representations for 2D barcodes to be used with TCPDF.
67
 * @package com.tecnick.tcpdf
68
 * @abstract Functions for generating string representation of 2D barcodes.
69
 * @author Nicola Asuni
70
 * @copyright 2008-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - [email protected]
71
 * @link http://www.tcpdf.org
72
 * @license http://www.gnu.org/copyleft/lesser.html LGPL
73
 * @version 1.0.000
74
 */
75
76
	/**
77
	* PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
78
	* @name TCPDFBarcode
79
	* @package com.tecnick.tcpdf
80
	* @version 1.0.000
81
	* @author Nicola Asuni
82
	* @link http://www.tcpdf.org
83
	* @license http://www.gnu.org/copyleft/lesser.html LGPL
84
	*/
85
class TCPDF2DBarcode {
86
	
87
	/**
88
	 * @var array representation of barcode.
89
	 * @access protected
90
	 */
91
	protected $barcode_array;
92
	
93
	/**
94
	 * This is the class constructor. 
95
	 * Return an array representations for 2D barcodes:<ul>
96
	 * <li>$arrcode['code'] code to be printed on text label</li>
97
	 * <li>$arrcode['num_rows'] required number of rows</li>
98
	 * <li>$arrcode['num_cols'] required number of columns</li>
99
	 * <li>$arrcode['bcode'][$r][$c] value of the cell is $r row and $c column (0 = transparent, 1 = black)</li></ul>
100
	 * @param string $code code to print
101
 	 * @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
102
	 */
103
	public function __construct($code, $type) {
104
		$this->setBarcode($code, $type);
105
	}
106
	
107
	/** 
108
	 * Return an array representations of barcode.
109
 	 * @return array
110
	 */
111
	public function getBarcodeArray() {
112
		return $this->barcode_array;
113
	}
114
	
115
	/** 
116
	 * Set the barcode.
117
	 * @param string $code code to print
118
 	 * @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
119
 	 * @return array
120
	 */
121
	public function setBarcode($code, $type) {
122
		$mode = explode(',', $type);
123
		switch (strtoupper($mode[0])) {
124
			case 'TEST': { // TEST MODE
125
				$this->barcode_array['num_rows'] = 5;
126
				$this->barcode_array['num_cols'] = 15;
127
				$this->barcode_array['bcode'] = array(
128
					array(1,1,1,0,1,1,1,0,1,1,1,0,1,1,1),
129
					array(0,1,0,0,1,0,0,0,1,0,0,0,0,1,0),
130
					array(0,1,0,0,1,1,0,0,1,1,1,0,0,1,0),
131
					array(0,1,0,0,1,0,0,0,0,0,1,0,0,1,0),
132
					array(0,1,0,0,1,1,1,0,1,1,1,0,0,1,0)
133
				);
134
				break;
135
			}
136
			
137
			// ... Add here real 2D barcodes ...
138
			
139
			default: {
0 ignored issues
show
DEFAULT statements must be defined using a colon

As per the PSR-2 coding standard, default statements should not be wrapped in curly braces.

switch ($expr) {
    default: { //wrong
        doSomething();
        break;
    }
}

switch ($expr) {
    default: //right
        doSomething();
        break;
}

To learn more about the PSR-2 coding standard, please refer to the PHP-Fig.

Loading history...
140
				$this->barcode_array = false;
141
			}
142
		}
143
	}
144
} // end of class
145
146
//============================================================+
147
// END OF FILE                                                 
148
//============================================================+
149
?>
150