=== Slide Arts - Dynamic QR Link ===
Contributors: gangesh, slidearts
Tags: qr code, qr, redirect, dynamic qr, qr generator
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create dynamic, reusable QR codes that redirect to any URL. Change destinations without reprinting.

== Description ==

**Slide Arts - Dynamic QR Link** lets you create QR codes that point at a stable URL on your WordPress site. When someone scans the code, WordPress redirects them to any destination you set — on your site or elsewhere.

Change the destination anytime without reprinting flyers, packaging, or signage.

= Features =

* Manual QR Links for campaigns and print materials
* Auto QR Rules for Posts, Pages, Products, or any public post type
* Global Design defaults with per-QR overrides (shape, dots, corners, gradients, logo)
* Browser-side generation via qr-code-styling (no Endroid / no third-party QR APIs)
* Scan counter with clear action
* Shortcode `[sadql_qr]`, Gutenberg block, and PHP helpers (`sadql_the_qr()`, `sadql_get_qr()`)
* Bulk generate and client-side repair tools
* Optional import from the classic QR Redirector plugin

= Shortcode =

`[sadql_qr id="123"]` — by QR Link ID  
`[sadql_qr post_id="45"]` — by content post  
`[sadql_qr]` — current post in the loop

= PHP =

`<?php sadql_the_qr( [ 'post_id' => get_the_ID() ] ); ?>`

= Privacy =

All data stays on your WordPress site. Destination URLs and scan counts are stored in post meta. QR images are saved under `uploads/slidearts-dynamic-qr-link/`.

== Installation ==

1. Upload the `slidearts-dynamic-qr-link` folder to `/wp-content/plugins/`
2. Activate **Slide Arts - Dynamic QR Link** through the Plugins menu
3. Open **Slide Arts - Dynamic QR Link → Design** to set defaults
4. Add a Manual QR Link, or enable Auto QR Rules for your post types

If scans 404 after activation, visit **Settings → Permalinks** and click Save.

== Frequently Asked Questions ==

= Do I need to reprint QR codes when the destination changes? =

No. The QR encodes your site’s `/qr/...` URL. Update the destination in WordPress and printed codes keep working.

= How are QR images generated? =

In the WordPress admin browser using qr-code-styling, then uploaded to your media uploads folder. Front-end shortcodes/blocks serve the saved image URL.

= Can I style each QR differently? =

Yes. Set global defaults under **Design**, then enable **Override global design** on any Manual or Auto-linked QR.

== Screenshots ==

1. Design defaults — live preview and tools
2. All QR Links list
3. Edit QR Link screen
4. Auto QR Rules
5. Tools (bulk/repair/import)

== Changelog ==

= 1.0.4 =
* Removed invalid Plugin URI; Author URI now points to WordPress.org profile

= 1.0.3 =
* Renamed to Slide Arts - Dynamic QR Link (slug slidearts-dynamic-qr-link, prefix sadql_)

= 1.0.2 =
* Renamed to Dynamic QR Manager by Slide Arts (slug dynamic-qr-manager, prefix dqm_)

= 1.0.1 =
* Renamed to Dynamic QR Manager by Slide Arts (text domain/slug `dynamic-qr-manager`, public API prefix `dqm_`)
* Validate QR image uploads (PNG/WebP) and sanitize SVG before saving
* Public REST `/post/{id}` no longer creates or updates QR posts
* Scope bulk-generate admin notice to plugin screens only

= 1.0.0 =
* First WordPress.org release
* Edit screen: Manual / Auto-linked badge and design override controls in the postbox header
* Borderless Copy scan URL control
* Clearer Design section titles (Layout & shape, Dots, Corners, Background, Logo)

= 0.1.1 =
* Centered live Design preview QR
* Clarified Size: preview is scaled; downloads/saved files use Size (max 2000 px)

= 0.1.0 =
* Migrated QR generation from Endroid (PHP) to qr-code-styling (browser)
* Design schema now matches styling options (dots, corners, gradients, logo URL)
* Client-side live preview, downloads, and image upload / repair tools
* Removed endroid/bacon/dasprid Composer packages

= 0.0.9 =
* Menu label shortened to “QR Link” (plugin name unchanged)
* Round QR menu icon: white with dashicon-like opacity; vertically centered

= 0.0.8 =
* Round QR menu icon in light admin gray (#a7aaad); white on hover/active

= 0.0.7 =
* Custom admin menu icon (QR + redirect arrow)
* Plugin Check: AJAX input sanitization cleanup

= 0.0.6 =
* Plugin Check fixes: translators comment, Tested up to 7.0, AJAX nonce handling, prefix notes
* Pre-release dev build (launch target: 1.0.0)

= 0.0.5 =
* Removed QR text labels and unused Endroid fonts
* Fixed single-view QR download export

== Upgrade Notice ==

= 1.0.4 =
Plugin URI removed (invalid 404). Author URI set to WordPress.org profile.

= 1.0.3 =
Renamed to Slide Arts - Dynamic QR Link. Update shortcodes to [sadql_qr] and PHP helpers to sadql_*. Request slug slidearts-dynamic-qr-link.

= 1.0.2 =
Renamed to Dynamic QR Manager by Slide Arts. Update shortcodes to [dqm_qr] and PHP helpers to dqm_*. Request slug dynamic-qr-manager.

= 1.0.1 =
Renamed to Dynamic QR Manager by Slide Arts. Update shortcodes to `[dqm_qr]` and PHP helpers to `dqm_*`. Security hardening for image uploads and REST.

= 1.0.0 =
Initial release.
