From a491348d442ab8e6cd2fa403d4365cdad78e52ce Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Thu, 21 Jun 2018 14:13:41 -0700 Subject: Vendoring deprecated composer libs --- libs/phpqrcode/lib/PHPQRCode/QRencode.php | 137 ++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100755 libs/phpqrcode/lib/PHPQRCode/QRencode.php (limited to 'libs/phpqrcode/lib/PHPQRCode/QRencode.php') diff --git a/libs/phpqrcode/lib/PHPQRCode/QRencode.php b/libs/phpqrcode/lib/PHPQRCode/QRencode.php new file mode 100755 index 00000000..d05ab6b7 --- /dev/null +++ b/libs/phpqrcode/lib/PHPQRCode/QRencode.php @@ -0,0 +1,137 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +namespace PHPQRCode; + +use Exception; + +class QRencode { + + public $casesensitive = true; + public $eightbit = false; + + public $version = 0; + public $size = 3; + public $margin = 4; + + public $structured = 0; // not supported yet + + public $level = Constants::QR_ECLEVEL_L; + public $hint = Constants::QR_MODE_8; + + //---------------------------------------------------------------------- + public static function factory($level = Constants::QR_ECLEVEL_L, $size = 3, $margin = 4) + { + $enc = new QRencode(); + $enc->size = $size; + $enc->margin = $margin; + + switch ($level.'') { + case '0': + case '1': + case '2': + case '3': + $enc->level = $level; + break; + case 'l': + case 'L': + $enc->level = Constants::QR_ECLEVEL_L; + break; + case 'm': + case 'M': + $enc->level = Constants::QR_ECLEVEL_M; + break; + case 'q': + case 'Q': + $enc->level = Constants::QR_ECLEVEL_Q; + break; + case 'h': + case 'H': + $enc->level = Constants::QR_ECLEVEL_H; + break; + } + + return $enc; + } + + //---------------------------------------------------------------------- + public function encodeRAW($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + return $code->data; + } + + //---------------------------------------------------------------------- + public function encode($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + QRtools::markTime('after_encode'); + + if ($outfile!== false) { + file_put_contents($outfile, join("\n", QRtools::binarize($code->data))); + } else { + return QRtools::binarize($code->data); + } + } + + //---------------------------------------------------------------------- + public function encodePNG($intext, $outfile = false,$saveandprint=false) + { + try { + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, "ERROR: " . $err); + + $maxSize = (int)(Constants::QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint); + } catch (Exception $e) { + echo $e->getMessage(); + die(); + + QRtools::log($outfile, $e->getMessage()); + } + } +} -- cgit v1.2.3