=== Course Access Extender for LearnDash ===
Contributors:      skfreelancers, saqibabbasi
Tags:              learndash, course access, lms, permissions, woocommerce
Requires at least: 6.0
Tested up to:      6.9
Requires PHP:      7.4
Stable tag:        1.1.2
License:           GPLv2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html

Extend and control course access in LearnDash LMS when WooCommerce extension products are purchased.

== Description ==

**Course Access Extender for LearnDash** solves a common gap in the LearnDash + WooCommerce integration and adds a complete student management dashboard.

> **Disclaimer:** This plugin is an independent third-party tool and is not affiliated with, endorsed by, or sponsored by LearnDash or its parent company. "LearnDash" is a trademark of its respective owner. This plugin is simply designed to be compatible with the LearnDash LMS plugin.

= Core Fix =

If a student buys a Course Extension product **before** their current access has expired, LearnDash does not extend the access correctly — it either resets or ignores it. This plugin intercepts the order and adds the extension days on top of the existing expiry.

**Example:** Student has 30 days left → buys 90-day extension → gets 30 + 90 = 120 more days. ✅

= Students Dashboard =

A new **Students** tab under WooCommerce → Course Access Extender lets you:

* View all enrolled students with their course, expiry date, days remaining, and status (Active / Expired).
* Filter by course, status (active/expired), expiry window, enrollment date range, or search by name/email.
* Sort by student name or expiry date.
* **Adjust any student's expiry date** directly from the table with a date picker.
* **View a student's full purchase history** in a modal — showing all course-related orders with dates, products, quantities, totals, and order status.

= Activity Log =

A full audit trail of every access grant, extension, admin adjustment, and profile change with filters for course, action type, keyword search, and date range.

= Requirements =

* WordPress 6.0+
* WooCommerce 7.0+
* LearnDash LMS 4.0+
* PHP 7.4+

== Installation ==

1. Upload the `course-access-extender-for-learndash` folder to `/wp-content/plugins/`.
2. Activate through the **Plugins** screen.
3. Go to **WooCommerce → Course Access Extender → Settings** and configure the extension duration.
4. Edit your Course Extension WooCommerce product → open the **Course Extension** tab → enable it and select the linked LearnDash course.

== Frequently Asked Questions ==

= Is this plugin affiliated with LearnDash? =

No. This is an independent plugin built to work with the LearnDash LMS plugin. It is not affiliated with, endorsed by, or sponsored by LearnDash or its parent company.

= What happens if I deactivate the plugin? =

Your data is preserved. The plugin does not delete any data on deactivation. To remove all data, enable "Delete all data on uninstall" in Settings before deleting the plugin.

== Changelog ==

= 1.1.2 =
* Renamed: Plugin renamed to "Course Access Extender for LearnDash" for WordPress.org trademark compliance.
* Updated: All internal prefixes changed from ldce_ to cael_ throughout.
* Updated: Text domain updated to course-access-extender-for-learndash.
* Fixed: All Plugin Check warnings resolved for WordPress.org submission.
* Fixed: Logger queries use esc_sql() with documented phpcs suppressions.
* Fixed: uninstall.php global variables correctly prefixed.
* Fixed: load_plugin_textdomain() removed (auto-loaded since WP 4.6).
* Added: index.php silence files in all subdirectories.
* Updated: Tested up to WordPress 6.9.

= 1.1.0 =
* Added Students tab with enrollment list, expiry management, and purchase history modal.
* Added AJAX expiry adjustment with admin log entry.
* Added per-product access days field (30, 40, 90-day products etc.).
* Added Activity Log filters: course, action type, keyword search, date range.
* Added Students tab filters: expiry-within, enrollment date range.
* Added "Enrolled Since" column to Students tab.
* Added data-preservation default on uninstall (opt-in to delete via Settings).

= 1.0.0 =
* Initial release.
