PHP Web interface for generating QR codes https://qr.antopie.org
Find a file
Denise 80ee070168 Add fallback i18n if strings are missing from locale (#26)
On page load, at most three locales are loaded: user locale
from Accept-Language, the default locale (if they aren't the
same), and the template locale. Using function getIntlString(),
if the user locale doesn't have a string, the string is fetched
from the default locale (if they aren't the same), and then,
finally, if neither the user or the default locale have the string,
it is taken from the template (which only contains string labels).
The lang attribute is set when possible.

Reviewed-on: #26
Co-authored-by: Denise <denisebitca@42l.fr>
Co-committed-by: Denise <denisebitca@42l.fr>
2025-04-11 16:28:01 +02:00
css Move temp/ to css/ and remove old unused code 2021-11-03 19:48:30 +01:00
locales Add german l10n 2025-03-20 15:23:29 +01:00
themes Use tabs instead of spaces, better indentation 2022-05-30 20:16:36 +02:00
vendor Update composer dependencies 2023-07-07 22:33:10 +02:00
.gitignore Use composer and change QR code generation library 2022-05-30 17:50:46 +02:00
CHANGELOG.md typo 2025-03-20 17:41:55 +01:00
composer.json Use tabs instead of spaces, better indentation 2022-05-30 20:16:36 +02:00
config.inc.php mainColor > fgColor 2022-05-31 16:09:33 +02:00
index.php Add fallback i18n if strings are missing from locale (#26) 2025-04-11 16:28:01 +02:00
LICENSE D 2019-08-13 21:17:08 +02:00
LICENSE.html Use tabs instead of spaces, better indentation 2022-05-30 20:16:36 +02:00
README.md Release 2.0.1 2023-07-08 18:48:26 +02:00
style.less Use tabs instead of spaces, better indentation 2022-05-30 20:16:36 +02:00

LibreQR

A PHP Web interface for generating QR codes.

Demo

A LibreQR instance is available at https://qr.antopie.org.

Installation

Generic

Just place this source code in a Web server with PHP8.0+, extensions gd, mbstring and iconv, and writing rights on the css/ directory.

Security hardening

HTTP headers

Your HTTP server can reply the following headers:

Content-Security-Policy: default-src 'none'; img-src 'self' data:; style-src 'self'; frame-ancestors 'none'; form-action 'self';
Referrer-Policy: no-referrer
PHP-FPM chroot

LibreQR can be chrooted using PHP-FPM.

YunoHost

There is a package for YunoHost.

For historical reasons, LibreQR is technically named qr in YunoHost.

You can install it from the WebAdmin or with this command:

sudo yunohost app install qr

Themes

Themes are located in themes/*, the default theme is in themes/libreqr/.

You can customize your LibreQR instance look by changing the colors in theme.php, the logo in logo.less or the icons in icons/<size>.png (then list the sizes in theme.php).

Contribute

The public forge is https://code.antopie.org/miraty/libreqr. You can open issues and pull requests there.

Translations

You can add your translations in locales/<language-code>.php.

Contact

You can get my contact details on https://miraty.antopie.org/, feel free to use them if you want more informations about using or contributing to LibreQR.

License

LibreQR is published under AGPLv3+. Librairies located in the vendor subdirectory use their own licenses.

LibreQR is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

LibreQR 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.