Skip to content

Releases: revdarkness/stemageddon-lms

v1.0.3 - LMS shell no longer hijacks unrelated archives

Choose a tag to compare

@revdarkness revdarkness released this 30 Jul 03:55

Patch release. Display-only fix; no schema, data, or settings changes. Safe to apply directly over 1.0.0, 1.0.1, or 1.0.2.

Fixed

The LMS shell could take over an unrelated archive page and replace the active theme's template.

Sglms_Frontend::is_lms_screen() compared get_queried_object_id() against the stored catalog and dashboard page IDs without first confirming the request was a singular view. On a category, tag, author, or date archive, that call returns a term ID, and term IDs and post IDs are separate ID spaces. So a term whose ID happened to equal the catalog or dashboard page ID caused is_lms_screen() to return true, and the LMS shell rendered instead of the theme.

Reproduced on a fresh install where the catalog page was ID 5 and the category stem-curriculum was term 5: /category/stem-curriculum/ rendered the LMS shell rather than the theme.

The same missing guard also allowed the has_shortcode() check to match the first post of an archive loop when that post embedded [sglms_catalog] or [sglms_dashboard].

Both paths are now gated behind is_singular().

Who is affected

Any install where a term ID collides with the catalog or dashboard page ID. Fresh installs are the most exposed, because the auto-created LMS pages land on low IDs in the same numeric range as the first categories created. Sites where the LMS pages have high IDs are unlikely to collide today, but nothing prevents a future term from reaching those numbers.

Also

  • Adds bin/package.ps1, a Windows-native equivalent of bin/package.sh (which requires zip and rsync). It reads the version from SGLMS_VERSION and refuses to build if the plugin header or the readme Stable tag disagree.

Install

Sites running the plugin will see 1.0.3 in their normal Updates screen. Or download stemageddon-lms-1.0.3.zip below and upload via Plugins > Add New > Upload Plugin.

STEMageddon LMS 1.0.2

Choose a tag to compare

@revdarkness revdarkness released this 16 Jul 14:33

Dark HUD reskin (1.0.1) + quiz-aware course progress (1.0.2).

1.0.2 — Quiz-aware progress

  • Course progress now counts required quizzes, not just lessons: the bar can't reach 100% until every required quiz is passed.
  • Student dashboard flags an outstanding quiz ("quiz required") and its button reads "Quiz required to finish" instead of a bare "Continue", so no learner stalls at 100% wondering where the certificate is.

1.0.1 — Dark "lab bench HUD" reskin

  • Full front-end reskin: shell takeover, catalog, course landing, lesson player, quiz, dashboard, and access-denied.
  • Adds a dev-only demo content seeder.

No schema or data changes. Update via the plugin's Updates screen.

STEMageddon LMS 1.0.0

Choose a tag to compare

@revdarkness revdarkness released this 11 Jun 20:23

First complete release of STEMageddon LMS — a self-contained, Coursera-style learning management plugin for WordPress. Zero paid runtime dependencies; portable across classic and block themes (WordPress 6.4+, PHP 8.1+).

Install

Download stemageddon-lms-1.0.0.zip below and install via Plugins → Add New → Upload Plugin, then activate. Sites running the plugin will see future updates in their normal Updates screen (this release's zip is the update asset).

What's included

  • Courses → Modules → Lessons with a drag-and-drop course builder
  • Membership access control (no content leaks via URL/REST/search/feed)
  • Enrollment, progress tracking, completion detection, and drip content
  • Coursera-style catalog, course landing, and lesson player
  • Quiz engine (multiple choice / multi-select / true-false / short answer / ordering) with server-side grading
  • Server-side PDF certificates with a public verification endpoint
  • Tokenized, enrollment-gated protected downloads + "download all" zip
  • Reports with CSV export, transactional emails, a settings screen, and an optional WooCommerce bridge

Notes

  • Licensed GPL-2.0-or-later. Bundles FPDF (PDF generation) and plugin-update-checker (updates); both GPL-compatible.
  • Deferred to a later release: QR code on the certificate PDF (verification URL printed as text for now) and native Gutenberg blocks (currently shipped as shortcodes).