summaryrefslogtreecommitdiff
path: root/vendor/chillerlan/php-qrcode/examples
diff options
context:
space:
mode:
authorChih-Hsuan Yen <[email protected]>2022-07-02 22:01:51 +0800
committerAndrew Dolgov <[email protected]>2022-07-12 22:23:48 +0300
commit4b6161892000cb2b8392dce92a9cf2cabdf2d20e (patch)
tree5cad602010e4d13e1a48d6b922d4768c0893ac8b /vendor/chillerlan/php-qrcode/examples
parentd9861038bcc3cb2f38c7153bdca7d5ab89597afa (diff)
Update php-qrcode and php-settings-container for PHP 8.1
By running the following command after updating composer.json ``` composer update chillerlan/php-qrcode chillerlan/php-settings-container ``` This change fixes a deprecation warning from Preferences -> Personal data / Authentication -> Authenticator (OTP). ``` Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice 1. vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php(19): ttrss_error_handler(Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice, vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php) 2. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php) 3. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-settings-container/src/SettingsContainerAbstract.php) 4. vendor/chillerlan/php-qrcode/src/QROptions.php(59): loadClass(chillerlan\Settings\SettingsContainerAbstract) 5. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-qrcode/src/QROptions.php) 6. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-qrcode/src/QROptions.php) 7. vendor/chillerlan/php-qrcode/src/QRCode.php(113): loadClass(chillerlan\QRCode\QROptions) 8. classes/pref/prefs.php(958): __construct() 9. classes/pref/prefs.php(469): _get_otp_qrcode_img() 10. classes/pref/prefs.php(541): index_auth_2fa() 11. backend.php(136): index_auth() ``` The issue is fixed in php-settings-container 2.1.1 [1] Here I use the latest php-qrcode version for another PHP 8.1 fix [2]. [1] https://github.com/chillerlan/php-settings-container/commit/68bc5019c8b38956c83906431ef879668366b036#diff-359c7f7a6d32d9935951e1b0742eb116fb654f4a932c8d40328bb5dcab2fa111L162 [2] https://github.com/chillerlan/php-qrcode/issues/97
Diffstat (limited to 'vendor/chillerlan/php-qrcode/examples')
-rw-r--r--vendor/chillerlan/php-qrcode/examples/MyCustomOutput.php2
-rw-r--r--vendor/chillerlan/php-qrcode/examples/QRImageWithText.php30
-rw-r--r--vendor/chillerlan/php-qrcode/examples/image.php9
-rw-r--r--vendor/chillerlan/php-qrcode/examples/imageWithLogo.php4
-rw-r--r--vendor/chillerlan/php-qrcode/examples/svg.php1
5 files changed, 24 insertions, 22 deletions
diff --git a/vendor/chillerlan/php-qrcode/examples/MyCustomOutput.php b/vendor/chillerlan/php-qrcode/examples/MyCustomOutput.php
index 3c01f8646..3664989b8 100644
--- a/vendor/chillerlan/php-qrcode/examples/MyCustomOutput.php
+++ b/vendor/chillerlan/php-qrcode/examples/MyCustomOutput.php
@@ -28,6 +28,8 @@ class MyCustomOutput extends QROutputAbstract{
for($col = 0; $col < $this->moduleCount; $col++){
$output .= (int)$this->matrix->check($col, $row);
}
+
+ $output .= \PHP_EOL;
}
return $output;
diff --git a/vendor/chillerlan/php-qrcode/examples/QRImageWithText.php b/vendor/chillerlan/php-qrcode/examples/QRImageWithText.php
index 5ca572f30..fe6b962a9 100644
--- a/vendor/chillerlan/php-qrcode/examples/QRImageWithText.php
+++ b/vendor/chillerlan/php-qrcode/examples/QRImageWithText.php
@@ -19,6 +19,7 @@
namespace chillerlan\QRCodeExamples;
use chillerlan\QRCode\Output\QRImage;
+
use function base64_encode, imagechar, imagecolorallocate, imagecolortransparent, imagecopymerge, imagecreatetruecolor,
imagedestroy, imagefilledrectangle, imagefontwidth, in_array, round, str_split, strlen;
@@ -31,29 +32,24 @@ class QRImageWithText extends QRImage{
* @return string
*/
public function dump(string $file = null, string $text = null):string{
- $this->image = imagecreatetruecolor($this->length, $this->length);
- $background = imagecolorallocate($this->image, ...$this->options->imageTransparencyBG);
-
- if((bool)$this->options->imageTransparent && in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
- imagecolortransparent($this->image, $background);
- }
+ // set returnResource to true to skip further processing for now
+ $this->options->returnResource = true;
- imagefilledrectangle($this->image, 0, 0, $this->length, $this->length, $background);
-
- foreach($this->matrix->matrix() as $y => $row){
- foreach($row as $x => $M_TYPE){
- $this->setPixel($x, $y, $this->moduleValues[$M_TYPE]);
- }
- }
+ // there's no need to save the result of dump() into $this->image here
+ parent::dump($file);
// render text output if a string is given
if($text !== null){
$this->addText($text);
}
- $imageData = $this->dumpImage($file);
+ $imageData = $this->dumpImage();
+
+ if($file !== null){
+ $this->saveToFile($imageData, $file);
+ }
- if((bool)$this->options->imageBase64){
+ if($this->options->imageBase64){
$imageData = 'data:image/'.$this->options->outputType.';base64,'.base64_encode($imageData);
}
@@ -80,7 +76,7 @@ class QRImageWithText extends QRImage{
$background = imagecolorallocate($this->image, ...$textBG);
// allow transparency
- if((bool)$this->options->imageTransparent && in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
+ if($this->options->imageTransparent && in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
imagecolortransparent($this->image, $background);
}
@@ -97,7 +93,7 @@ class QRImageWithText extends QRImage{
// loop through the string and draw the letters
foreach(str_split($text) as $i => $chr){
- imagechar($this->image, $textSize, $i * $w + $x, $this->length, $chr, $fontColor);
+ imagechar($this->image, $textSize, (int)($i * $w + $x), $this->length, $chr, $fontColor);
}
}
diff --git a/vendor/chillerlan/php-qrcode/examples/image.php b/vendor/chillerlan/php-qrcode/examples/image.php
index 89ba2a9a8..54426c68a 100644
--- a/vendor/chillerlan/php-qrcode/examples/image.php
+++ b/vendor/chillerlan/php-qrcode/examples/image.php
@@ -17,15 +17,16 @@ require_once __DIR__.'/../vendor/autoload.php';
$data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
$options = new QROptions([
- 'version' => 7,
+ 'version' => 10,
'outputType' => QRCode::OUTPUT_IMAGE_PNG,
- 'eccLevel' => QRCode::ECC_L,
+ 'eccLevel' => QRCode::ECC_H,
'scale' => 5,
'imageBase64' => false,
'moduleValues' => [
// finder
1536 => [0, 63, 255], // dark (true)
6 => [255, 255, 255], // light (false), white is the transparency color and is enabled by default
+ 5632 => [241, 28, 163], // finder dot, dark (true)
// alignment
2560 => [255, 0, 255],
10 => [255, 255, 255],
@@ -33,7 +34,7 @@ $options = new QROptions([
3072 => [255, 0, 0],
12 => [255, 255, 255],
// format
- 3584 => [67, 191, 84],
+ 3584 => [67, 99, 84],
14 => [255, 255, 255],
// version
4096 => [62, 174, 190],
@@ -47,6 +48,8 @@ $options = new QROptions([
8 => [255, 255, 255],
// quietzone
18 => [255, 255, 255],
+ // logo (requires a call to QRMatrix::setLogoSpace())
+ 20 => [255, 255, 255],
],
]);
diff --git a/vendor/chillerlan/php-qrcode/examples/imageWithLogo.php b/vendor/chillerlan/php-qrcode/examples/imageWithLogo.php
index 36f63d503..f93aa8dd1 100644
--- a/vendor/chillerlan/php-qrcode/examples/imageWithLogo.php
+++ b/vendor/chillerlan/php-qrcode/examples/imageWithLogo.php
@@ -23,8 +23,8 @@ $data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
*/
class LogoOptions extends QROptions{
// size in QR modules, multiply with QROptions::$scale for pixel size
- protected $logoSpaceWidth;
- protected $logoSpaceHeight;
+ protected int $logoSpaceWidth;
+ protected int $logoSpaceHeight;
}
$options = new LogoOptions;
diff --git a/vendor/chillerlan/php-qrcode/examples/svg.php b/vendor/chillerlan/php-qrcode/examples/svg.php
index a7a159d70..d171cbe07 100644
--- a/vendor/chillerlan/php-qrcode/examples/svg.php
+++ b/vendor/chillerlan/php-qrcode/examples/svg.php
@@ -20,6 +20,7 @@ $gzip = true;
$options = new QROptions([
'version' => 7,
'outputType' => QRCode::OUTPUT_MARKUP_SVG,
+ 'imageBase64' => false,
'eccLevel' => QRCode::ECC_L,
'svgViewBoxSize' => 530,
'addQuietzone' => true,