ttrss/vendor/chillerlan/php-qrcode
Chih-Hsuan Yen 4b61618920
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] 68bc5019c8 (diff-359c7f7a6d32d9935951e1b0742eb116fb654f4a932c8d40328bb5dcab2fa111L162)
[2] https://github.com/chillerlan/php-qrcode/issues/97
2022-07-12 22:23:48 +03:00
..
.github Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
.phan Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
examples Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
public * switch to composer for qrcode and otp dependencies 2021-02-26 19:16:17 +03:00
src Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
tests Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
.gitignore Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
.scrutinizer.yml Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
LICENSE * switch to composer for qrcode and otp dependencies 2021-02-26 19:16:17 +03:00
README.md Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
composer.json Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
phpdoc.xml Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00
phpunit.xml Update php-qrcode and php-settings-container for PHP 8.1 2022-07-12 22:23:48 +03:00

README.md

chillerlan/php-qrcode

A PHP 7.4+ QR Code library based on the implementation by Kazuhiko Arase, namespaced, cleaned up, improved and other stuff.

PHP Version Support Packagist version License CodeCov Scrunitizer CI Packagist downloads
Continuous Integration

Documentation

See the wiki for advanced documentation. An API documentation created with phpDocumentor can be found at https://chillerlan.github.io/php-qrcode/ (WIP).

Requirements

  • PHP 7.4+
    • ext-mbstring
    • optional:

Installation

requires composer

via terminal: composer require chillerlan/php-qrcode

composer.json

{
	"require": {
		"php": "^7.4",
		"chillerlan/php-qrcode": "dev-main"
	}
}

Note: replace dev-main with a version constraint, e.g. ^3.2 - see releases for valid versions. For PHP version ...

  • 7.4+ use ^4.3
  • 7.2+ use ^3.4.1 (PHP 7.2 is EOL and 7.3 soon! v3.4.1 also supports PHP8 - however, it's no longer supported)
  • 7.0+ use ^2.0 (PHP 7.0 and 7.1 are EOL!)
  • 5.6+ use ^1.0 (please let PHP 5 die!)

Quickstart

We want to encode this URI for a mobile authenticator into a QRcode image:

$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';

// quick and simple:
echo '<img src="'.(new QRCode)->render($data).'" alt="QR Code" />';

QR codes are awesome! QR codes are awesome!

Wait, what was that? Please again, slower! See Advanced usage on the wiki.

Framework Integration

Shameless advertising

Hi, please check out my other projects that are way cooler than qrcodes!

Disclaimer!

I don't take responsibility for molten CPUs, misled applications, failed log-ins etc.. Use at your own risk!

Trademark Notice

The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html