HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /var/www/html/pmw24/driver_settlement/old/application/libraries/Ci_qr_code.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * PHP QR Code porting for Codeigniter
 *
 * @package        	CodeIgniter
 * @subpackage    	Libraries
 * @category    	Libraries
 * @porting author	dwi.setiyadi@gmail.com
 * @original author	http://phpqrcode.sourceforge.net/
 * @link 			https://github.com/dwisetiyadi/CodeIgniter-PHP-QR-Code
 * @version		1.0
 * @license
 */

class Ci_qr_code
{
	private $_cacheable 		= TRUE;
	private $_cachedir 			= 'global/tmp/cache/';
	private $_error_log_dir 	= 'global/tmp/logs/';
	private $_ci_qr_code_lib 	= 'application/third_party/qrcode/';
	private $_quality 			= TRUE;
	private $_size 				= 1024;


	/**
	 * Constructor
	 */
	public function __construct($config = array())
	{
		$this->initialize($config);
	}

	/**
	 * initialize
	 * Default Method to initailize the QR Code Library
	 *
	 * @access public
	 * @param  array
	 * @return
	 */

	public function initialize($config = array())
	{
		$this->_cacheable 		= (isset($config['cacheable'])) ? $config['cacheable'] : $this->_cacheable;
		$this->_cachedir 		= (isset($config['cachedir'])) ? $config['cachedir'] : FCPATH.$this->_cachedir;
		$this->_error_log_dir 	= (isset($config['errorlog'])) ? $config['errorlog'] : FCPATH.$this->_error_log_dir;
		$this->_ci_qr_code_lib 	= (isset($config['ciqrcodelib'])) ? $config['ciqrcodelib'] : FCPATH.$this->_ci_qr_code_lib;
		$this->_quality 		= (isset($config['quality'])) ? $config['quality'] : $this->_quality;
		$this->_size 			= (isset($config['size'])) ? $config['size'] : $this->_size;

		// use cache - more disk reads but less CPU power, masks and format templates are stored there
		if ( ! defined('QR_CACHEABLE'))
		{
			define('QR_CACHEABLE', $this->_cacheable);
		}

		// used when QR_CACHEABLE === true
		if ( ! defined('QR_CACHE_DIR'))
		{
			define('QR_CACHE_DIR', $this->_cachedir);
		}

		// default error logs dir
		if ( ! defined('QR_LOG_DIR'))
		{
			define('QR_LOG_DIR', $this->_error_log_dir);
		}

		// if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
		if ($this->_quality)
		{
			if ( ! defined('QR_FIND_BEST_MASK'))
			{
				define('QR_FIND_BEST_MASK', TRUE);
			}
		}
		else {
			if ( ! defined('QR_FIND_BEST_MASK'))
			{
				define('QR_FIND_BEST_MASK', FALSE);
			}
			if ( ! defined('QR_DEFAULT_MASK'))
			{
				define('QR_DEFAULT_MASK', $this->_quality);
			}
		}

		// if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
		if ( ! defined('QR_FIND_FROM_RANDOM'))
		{
			define('QR_FIND_FROM_RANDOM', FALSE);
		}

		// maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images
		if ( ! defined('QR_PNG_MAXIMUM_SIZE'))
		{
			define('QR_PNG_MAXIMUM_SIZE',  $this->_size);
		}

		// call original library
		include_once($this->_ci_qr_code_lib."qrconst.php");
		include_once($this->_ci_qr_code_lib."qrtools.php");
		include_once($this->_ci_qr_code_lib."qrspec.php");
		include_once($this->_ci_qr_code_lib."qrimage.php");
		include_once($this->_ci_qr_code_lib."qrinput.php");
		include_once($this->_ci_qr_code_lib."qrbitstream.php");
		include_once($this->_ci_qr_code_lib."qrsplit.php");
		include_once($this->_ci_qr_code_lib."qrrscode.php");
		include_once($this->_ci_qr_code_lib."qrmask.php");
		include_once($this->_ci_qr_code_lib."qrencode.php");
	}
	/**
	 * generate
	 * Method to generate the qr code
	 *
	 * @access public
	 * @param  array
	 * @return
	 */
	public function generate($params = array())
	{ 
		if(isset($params['black'])
			&& is_array($params['black'])
			&& count($params['black']) == 3
			&& array_filter($params['black'], 'is_int') === $params['black']) {
			QRimage::$black = $params['black'];
		}

		if(isset($params['white'])
			&& is_array($params['white'])
			&& count($params['white']) == 3
			&& array_filter($params['white'], 'is_int') === $params['white']) {
			QRimage::$white = $params['white'];
		}

		$params['data'] = (isset($params['data'])) ? $params['data'] : 'QR Code Library';


		$level = 'L';
		if(isset($params['level']) && in_array($params['level'], array('L','M','Q','H')))
		{
			$level = $params['level'];
		}

		$size = 4;
		if(isset($params['size']))
		{
			$size = min(max((int)$params['size'], 1), 10);
		}
		if(isset($params['savename']))
		{
			QRcode::png($params['data'], $params['savename'], $level, 16, 2);
			return $params['savename'];
		}
		else
		{
			QRcode::png($params['data'], NULL, $level, 16, 2);
		}
	}
}
// END Ci_qr_code Class
/* End of file Ci_qr_code.php */
/* Location: ./application/libraries/Ci_qr_code.php */