4b61618920
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]
|
||
---|---|---|
.. | ||
.github | ||
.phan | ||
examples | ||
public | ||
src | ||
tests | ||
.gitignore | ||
.scrutinizer.yml | ||
LICENSE | ||
README.md | ||
composer.json | ||
phpdoc.xml | ||
phpunit.xml |
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.
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:
ext-json
,ext-gd
ext-imagick
with ImageMagick installedsetasign/fpdf
for the PDF output module
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" />';
Wait, what was that? Please again, slower! See Advanced usage on the wiki.
Framework Integration
- Drupal Google Authenticator Login
ga_login
- WordPress
wp-two-factor-auth
- WordPress Simple 2FA
simple-2fa
- WoltLab Suite two-step-verification
- Cachet
- Appwrite
- twill
- other uses: dependents / packages
Shameless advertising
Hi, please check out my other projects that are way cooler than qrcodes!
- php-oauth-core - an OAuth 1/2 client library along with a bunch of providers
- php-httpinterface - a PSR-7/15/17/18 implemetation
- php-database - a database client & querybuilder for MySQL, Postgres, SQLite, MSSQL, Firebird
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