Skip to content

YOURLS QRCode plugin with exposed options and full integration

License

Notifications You must be signed in to change notification settings

phalox/YOURLS-IQRCodes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

YOURLS-IQRCodes

YOURLS Integrated QRCodes plugin with exposed options and full integration

This is an updated fork of Inline QRCode which is more compact, configurable, and just as efficient with more features.

Updating to v2.0.0 + from the 1.x.x branch may cause some unexpected behavior. Deleting the cache and re-generating qr codes may be necessary. Note, attempting to install this before the required U-SRV will result in failure.

Requires:

YOURLS 1.7.3 ready. Works with YOURLS 1.7.2 U-SRV v2.0.0 +

Features

Old

  • QRCodes are generated and cached for every new short url
  • A new QRCode is generated when a short url is edited
  • Cached QRCodes are deleted when its corresponding short url is deleted
  • QRCodes are displayed within the sharebox whenever the sharebox is displayed
  • QRCodes are generated for pre-existing shorturls when sharebox is displayed
  • Codes are generated from a standalone php based QRCode library
    • No calls to google!

New

  • All options are available in the admin interface
    • Code size
    • Border width
    • ECC level
    • Image file type
    • Optional logo watermark (image preview, scale, location on QR Code)
    • Image cache location
    • Auto-delete or preserve cache on plugin deactivation
  • Scan the entire database at once and generate QR Codes for any short url that is found to be missing one
  • Plenty of well documented, practical examples in the options page to help get started with integration
  • Code links are served using U-SRV, a secure system allowing greater integration
  • Updated and minimized md5.js
  • Streamlined version of the QR Code generation library
  • Almost 1/2 the size of its predecessor
    • This can halfed again by disabling and deleting the PHP QR Code cache, which was left in for enhanced performance. This setting can be found on lnie 100 of assets/phpqrcode.php
  • Append .qr to any short url to display qr code

Installation

  1. Download and install YOURLS and U-SRV. U-SRV will have created it's cache, within which will sit the IQRCodes's cache.
  2. Download the latest release of this repo and extract the iqrcodes folder to YOURLS/user/plugins/
    • the following commands are run from YOURLS root folder. Eg, /absolute/path/to/YOURLS
  3. Symlink or copy qrchk.php into the pages folder. Automation of this task is planned for a future release.
    • Symlink:
      ln -s user/plugins/iqrcodes/assets/qrchk.php pages/qrchk.php
    • Copy:
      cp user/plugins/iqrcodes/assets/qrchk.php pages/qrchk.php
  4. Set permissions and cache
    • There needs to be two cache folders (relative to YOURLS root)
      • user/plugins/iqrcodes/cache
        is included with the plugin download
      • /path/to/U-SRV/cache/qr
        iqrcodes will attempt to create this
    • In case of failure just do somethign like the following (as root):
      • mkdir /PATH/TO/U-SRV/CACHE/qr
      • chmod -R 777 /PATH/TO/U-SRV/CACHE
      • chown -R www-data:www-data /PATH/TO/U-SRV/CACHE
      • chown -R www-data:www-data /PATH/TO/YOURLS/user/plugins/iqrcodes
  5. Enable module, default config works fine, or visit IQRCodes page to fine tune.
  6. Have fun!

Hint:

Want to embed these QR codes into a worpress widget? Check out this gist

Note:

If you are using YOURLS with Nginx and using this directive, you may end up with 404's instead of images. You may want to have a look at this comment and thread.

If this becomes an issue, try changing

(try_files $uri $uri/ /yourls-loader.php;)

to

if (!-e $request_filename){ rewrite ^(.+)$ /yourls-loader.php?q=$1 last; }

Credits

Inline QRcode by Savoul Pelister is the base of this fork

PHP QR Code by Dominik Dzienia (aka deltalab) generates the actual QR Codes

JavaScript MD5 by Sebastian Tschan (aka BlueImp) hashes the filenames in js

Support Dev

All of my published code is developed and maintained in spare time, if you would like to support development of this, or any of my published code, I have set up a Liberpay account for just this purpose. Thank you.

Donate using Liberapay

===========================

Copyright (C) 2016 - 2018 Josh Panter

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

This program 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 General Public License for more details.

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

About

YOURLS QRCode plugin with exposed options and full integration

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.9%
  • Other 1.1%