=== DawsonyWeb - Client Tutorial Videos ===
Contributors: dawsonyweb
Tags: tutorials, videos, client, dashboard, training
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add tutorial videos for your clients and display them in a dashboard widget and a dedicated admin page.

== Description ==

**Client Tutorial Videos** makes it easy to provide video tutorials to your clients right inside their WordPress dashboard. Upload videos to the media library, add them through a simple repeater interface, and your clients will always know where to find help.

= Features =

* **Repeatable tutorial blocks** — Add as many tutorials as you need, each with a title, description, and video.
* **Dashboard widget** — A compact tutorial list appears on the WordPress dashboard for quick access.
* **Dedicated tutorial page** — A full admin page with video players and descriptions so clients can watch without leaving wp-admin.
* **Role-based visibility** — Control which user roles can see the tutorials page and widget.
* **Drag-and-drop ordering** — Reorder tutorials with a simple drag handle.
* **Media library integration** — Select videos directly from the WordPress media library.

= Use Cases =

* Agencies providing training materials to clients after site launch.
* Freelancers who build sites and need to leave behind how-to guides.
* In-house teams onboarding new editors or content managers.

= Philosophy =

* No front-end output or performance impact — everything runs in wp-admin only.
* No external tracking, telemetry, or "phone home" behavior.
* All inputs sanitized, all outputs escaped.
* Nonces for all actions, capability checks for all settings.
* Clean uninstall removes all plugin data.

== Installation ==

= Automatic Installation =
1. Go to **Plugins → Add New** in your WordPress admin.
2. Search for "Client Tutorial Videos".
3. Click **Install Now**, then **Activate**.

= Manual Installation =
1. Download the plugin ZIP file.
2. Go to **Plugins → Add New → Upload Plugin**.
3. Upload the ZIP and click **Install Now**.
4. Activate the plugin.

= FTP Installation =
1. Extract the ZIP file.
2. Upload the `dawsonyweb-client-tutorial-videos` folder to `/wp-content/plugins/`.
3. Activate via **Plugins** in the WordPress admin.

== Frequently Asked Questions ==

= Where do I add tutorials? =

Go to **Tutorial Videos → Manage Tutorials** in the WordPress admin sidebar. You need the `manage_options` capability (typically Administrator) to add or edit tutorials.

= Who can see the tutorials? =

By default, only Administrators can see the tutorial page and dashboard widget. You can configure which roles have access from the Manage Tutorials settings page under "Settings".

= Does this plugin affect the front end? =

No. Everything runs in wp-admin only. No scripts, styles, or markup are added to your public site.

= What video formats are supported? =

Any video format supported by the WordPress media library and the HTML5 `<video>` element (MP4, WebM, OGG). MP4 is recommended for the widest browser support.

= What happens when I deactivate or delete the plugin? =

Deactivating preserves all settings. Deleting the plugin via the WordPress admin removes all settings from the database. Uploaded video files remain in the media library.

= What PHP version is required? =

PHP 7.4 or higher.

= Is this plugin multisite compatible? =

The plugin works on multisite but settings are per-site. Network-wide settings are not yet supported.

== Screenshots ==

1. Manage Tutorials settings page with the repeater-style tutorial list and drag-to-reorder handles.
2. Front-end dashboard widget and dedicated Tutorial Videos admin page that your clients see.

== Changelog ==

= 1.0.6 =
* Fix: Renamed plugin slug and main file to match WordPress.org directory slug.
* Fix: Updated text domain to match plugin slug (dawsonyweb-client-tutorial-videos).
* Fix: Applied uniform dawscltu_ prefix to all globally-registered identifiers.

= 1.0.5 =
* Fix: Removed locked built-in functionality from the free plugin package.
* Fix: Updated plugin metadata and text domain for WordPress.org compliance.
* Fix: Simplified the admin experience to focus on the free tutorial-management feature set.

= 1.0.4 =
* Fix: Watched state now persists correctly on page refresh (ID case-sensitivity bug).
* Fix: Admin tab input sanitisation improved (wp_unslash + sanitize_key).
* Fix: Global variable scoping in template (moved inside closure).
* Fix: Added caching to user progress database query.

= 1.0.0 =
* Initial release.
* Repeatable tutorial block manager with title, description, and video.
* Dashboard widget for quick tutorial access.
* Dedicated Tutorial Videos admin page with embedded video players.
* Role-based visibility settings.
* Drag-and-drop tutorial reordering.

== Upgrade Notice ==

= 1.0.6 =
Slug, text domain, and prefix alignment for WordPress.org directory compliance.

= 1.0.5 =
Compliance and metadata updates for the free plugin package.

= 1.0.4 =
Bug fixes: watched state persistence, input sanitisation, template variable scoping, and DB query caching.

= 1.0.0 =
Initial release.

== Privacy ==

Client Tutorial Videos does not collect, store, or transmit any data externally. All data is stored locally in your WordPress database (wp_options). No cookies are set. No external requests are made.
