Skip to content

Releases: gocodebox/lifterlms

Version 2.3.0-2 PreRelease

23 Mar 16:35
Compare
Choose a tag to compare
Pre-release

= v2.3.0-2 - 2016/03/22 =

Engagements Refactoring (lots of bugfixes, performance improvements, more hook & filter friendly)
  • We've completely rewritten the LifterLMS Engagement Handler methods (class LLMS_Engagements) and added some new engagement actions.
  • The rewrite unifies engagement handling into one function that can be easily hooked into by plugin and theme developers.
  • We've moved any engagment related data out of the main LifterLMS class
  • Fixed the broken engagement delay functionality which now runs of wp_schedule_single_event. This makes the function more reliable and also keeps it within the traditional WordPress architecture.
  • Added an additional check before sending emails or triggering any engagments that will prevent the achievement from being awarded or the email from being sent if the post is in not published. This fixes an issue that caused emails in the trash from still being emailed.
  • Removed the unused LLMS_Engagements class and file
  • Added two new engagment trigger events "Membership Purchased" and "Course Purchased"
  • Deprecated actions -- Removes some redundancy because the triggering actions (lifterlms_course_completed triggered the notification action, instead lifterlms_course_completed simply triggers the engagement now).
    • lifterlms_lesson_completed_notification
    • lifterlms_section_completed_notification
    • lifterlms_course_completed_notification
    • lifterlms_course_track_completed_notification
    • lifterlms_course_completed_notification
    • lifterlms_user_purchased_product_notification
    • lifterlms_created_person_notification
Bug and Issue fixes
  • Fixed a CSS issue that caused some weirdness on the course archive page on mobile devices
  • Fixed an issue with automated membership expirations
  • Fixed a function that should have been called statically in LLMS_Ajax class
  • Fixed a ton of issues related to the triggering of engagements and cleaned up a lot of classes and functions associated with them.
  • Properly instatiate LifterLMS singleton via LLMS() function and prevent direct instantiation of the class via new LifterLMS().
  • Removed the deprecated 'class.llms.email.person.new.php' file as it was rendered useless a long time ago and caused some duplicate emails.

Version 2.2.3

17 Mar 23:07
Compare
Choose a tag to compare

= v2.2.3 - 2016/03/15 =

Translations
  • Added translation functions around quite a few untranslated strings. Thanks to the team at Netzstrategen
  • Added German translation .mo and .po files again thanks to the team at Netzstrategen
Student Enrollment Functions

We've refactored a bit of our code related to how to programmatically enroll a student in a course or membership during registration and purchase.

A new class LLMS_Student makes working with a LifterLMS student (user) a bit easier. We'll begin exposing user meta data through this class as we continue to improve the usability of the codebase for other developers.

We've also created a simple enrollment function llms_enroll_student() which enables programmatic enrollment to LifterLMS courses or memberships. This was previously handled in a pretty schizophrenic manner and this unifies various ways of enrollment into one clean function. All enrollment moving forward will use this functions.

The enrollment function calls a new action as well as calling existing enrollment-related actions:

  • before_llms_user_enrollment - called immediately prior to begining the user enrollment function
  • llms_user_enrolled_in_course (previously existing)
  • llms_user_added_to_membership_level (previously existing)

This also addresses an issue that prevented the llms_user_enrolled_in_course action from being called when a user was auto-enrolled in a course because they joined a membership level that included auto-enrollment in one or more courses.

Bug and Issue fixes
  • Fixed an inconsistency in the way membership IDs were being saved to the postmeta table that would cause courses to not appear restricted on the Membership Enrollment tab, even though they were actually restricted and functioning correctly.
  • New lines are now preserved in the quiz question clarification text areas, thanks to @atimmer
  • Escape HTML in the quiz question description fields on the admin panel to allow outputting html without rendering it, thanks @atimmer
  • Fixed an issue related to the outputting of restricted course and membership content which caused errors on certain themes
  • added a clearfix to the .llms-lesson-preview element on the course syllabus template
  • Removed the class.llms.person.handler.php file as it wasn't actually being used by anything anywhere and contained no functions
  • Removed some unused and depreacted class functions from the LLMS Student Metabox class
  • Fixed an undefined javascript error resulting from code cleanup in 2.2.2. This issue prevented Vouchers from being published. The code has been further cleaned.

Version 2.2.3 Prerelease 1

17 Mar 01:19
Compare
Choose a tag to compare
Pre-release

= v2.2.3-1 - 2016/03/15 =

Translations
  • Added translation functions around quite a few untranslated strings. Thanks to the team at Netzstrategen
  • Added German translation .mo and .po files again thanks to the team at Netzstrategen
Student Enrollment Functions

We've refactored a bit of our code related to how to programmatically enroll a student in a course or membership during registration and purchase.

A new class LLMS_Student makes working with a LifterLMS student (user) a bit easier. We'll begin exposing user meta data through this class as we continue to improve the usability of the codebase for other developers.

We've also created a simple enrollment function llms_enroll_student() (see TKTKTKTTK for usage documentation) which enables programmatic enrollment to LifterLMS courses or memberships. This was previously handled in a pretty schizophrenic manner and this unifies various ways of enrollment into one clean function. All enrollment moving forward will use this functions.

The enrollment function calls a new action as well as calling existing enrollment-related actions:

  • before_llms_user_enrollment - called immediately prior to begining the user enrollment function
  • llms_user_enrolled_in_course (previously existing)
  • llms_user_added_to_membership_level (previously existing)

This also addresses an issue that prevented the llms_user_enrolled_in_course action from being called when a user was auto-enrolled in a course because they joined a membership level that included auto-enrollment in one or more courses.

Bug and Issue fixes
  • New lines are now preserved in the quiz question clarification text areas, thanks to @atimmer
  • Escape HTML in the quiz question description fields on the admin panel to allow outputting html without rendering it, thanks @atimmer
  • Fixed an issue related to the outputting of restricted course and membership content which caused errors on certain themes
  • added a clearfix to the .llms-lesson-preview element on the course syllabus template
  • Removed the class.llms.person.handler.php file as it wasn't actually being used by anything anywhere and contained no functions

Version 2.2.2

15 Mar 22:28
Compare
Choose a tag to compare
One step closer to a public GitHub repository

We've made a assive syntatical update to almost every file in the codebase for a (finally) unified and clearly defined coding standard. This puts us one step closer to beginning to open our GitHub repo publicly and accepting pull requests and contributions from developers everywhere.

Okay, we haven't exactly clearly defined it yet. We're working off a modified version of the WordPress Coding Standards.

Notable exceptions are related to file names because Thomas Levy didn't have the energy to rename a bunch of files as well as ignoring the Yoda Conditions standards. We'll be fixing these deviations in the future.

Quizzes
  • Created new time calculation and humanizing functions related to the display of quiz time on quiz results pages
  • Quizzes will now display hours, minutes, and seconds depending on the time it took to take the quiz
  • Timing calculations are more accurate and quizzes that are completed in less than 60 seconds will not bug out and display incredibly long lengths
  • Resolved an issue that occassionally prevented quiz data from saving during the last question causing the quiz to hang in an uncompletable state
  • Quiz questions now have a default point value of 1, thanks @atimmer
  • Quiz question answers now accept valid HTML as per wp_kses_post, thanks again to @atimmer
Translations
Issue and bug resolutions
  • Fixed a restriction issue that would happen when individual lessons were restricted to a membership level
  • Fixed an issue with the [lifterlms_my_account] shortcode that was preventing the shortcode from working on the Divi theme.
  • Engagements will now only be triggered if they are "Published". Resolves an issue where draft or trashed engagements were still firing.
  • Fixed CSS overflow on LifterLMS Meta boxes. Fixes an issue where select boxes would be hidden inside a metabox.
  • Changed the ConvertKit extension banner image on the LifterLMS general settings page and replaced added a link to the extension now that it's available.
  • Added a link to the new ConvertKit extension to the .org readme
  • When restricting an entire site to a membership level the page selected as the "Terms and Conditions" page in LifterLMS settings will automatically bypass Membership restriction settings. This will allow your unregistered users to actually read the T&C that they're confirming during registration.
  • CSS fix for has-icon class on course syllabus
  • Fixed a PHP warning that displayed when purchasing a membership with no auto-enrollment courses
  • Fixed an undefined variable warning in the WooCommerce integration class
  • Fixed a few templating issues related to certificates
  • Added a few new CSS rules that should make certificates more compatible across various themes
  • Added a css class to LifterLMS Next Lesson buttons, llms-next-lesson
  • Updated the scheduled event name for cleaning up LifterLMS session data from the WP database. It had a conflicting name with the scheduled event for expiring LifterLMS memberships.

Versions 2.2.2 RC 3

14 Mar 22:26
Compare
Choose a tag to compare
Versions 2.2.2 RC 3 Pre-release
Pre-release

= v2.2.2-3 - 2016/03/?? =

One step closer to a public GitHub repository

We've made a assive syntatical update to almost every file in the codebase for a (finally) unified and clearly defined coding standard. This puts us one step closer to beginning to open our GitHub repo publicly and accepting pull requests and contributions from developers everywhere.

Okay, we haven't exactly clearly defined it yet. We're working off a modified version of the WordPress Coding Standards.

Notable exceptions are related to file names because Thomas Levy didn't have the energy to rename a bunch of files as well as ignoring the Yoda Conditions standards. We'll be fixing these deviations in the future.

Quizzes
  • Created new time calculation and humanizing functions related to the display of quiz time on quiz results pages
  • Quizzes will now display hours, minutes, and seconds depending on the time it took to take the quiz
  • Timing calculations are more accurate and quizzes that are completed in less than 60 seconds will not bug out and display incredibly long lengths
  • Resolved an issue that occassionally prevented quiz data from saving during the last question causing the quiz to hang in an uncompletable state
  • Quiz questions now have a default point value of 1, thanks @atimmer
  • Quiz question answers now accept valid HTML as per wp_kses_post, thanks again to @atimmer
Translations
Issue and bug resolutigons
  • Fixed a restriction issue that would happen when individual lessons were restricted to a membership level
  • Fixed an issue with the [lifterlms_my_account] shortcode that was preventing the shortcode from working on the Divi theme.
  • Engagements will now only be triggered if they are "Published". Resolves an issue where draft or trashed engagements were still firing.
  • Fixed CSS overflow on LifterLMS Meta boxes. Fixes an issue where select boxes would be hidden inside a metabox.
  • Changed the ConvertKit extension banner image on the LifterLMS general settings page and replaced added a link to the extension now that it's available.
  • When restricting an entire site to a membership level the page selected as the "Terms and Conditions" page in LifterLMS settings will automatically bypass Membership restriction settings. This will allow your unregistered users to actually read the T&C that they're confirming during registration.
  • CSS fix for has-icon class on course syllabus
  • Fixed a PHP warning that displayed when purchasing a membership with no auto-enrollment courses
  • Fixed an undefined variable warning in the WooCommerce integration class
  • Fixed a few templating issues related to certificates
  • Added a few new CSS rules that should make certificates more compatible across various themes
  • Added a css class to LifterLMS Next Lesson buttons, llms-next-lesson

Versions 2.2.2 RC 2

11 Mar 20:35
Compare
Choose a tag to compare
Versions 2.2.2 RC 2 Pre-release
Pre-release

= v2.2.2-2 - 2016/03/?? =

One step closer to a public GitHub repository

We've made a assive syntatical update to almost every file in the codebase for a (finally) unified and clearly defined coding standard. This puts us one step closer to beginning to open our GitHub repo publicly and accepting pull requests and contributions from developers everywhere.

Okay, we haven't exactly clearly defined it yet. We're working off a modified version of the WordPress Coding Standards.

Notable exceptions are related to file names because Thomas Levy didn't have the energy to rename a bunch of files as well as ignoring the Yoda Conditions standards. We'll be fixing these deviations in the future.

Quizzes
  • Created new time calculation and humanizing functions related to the display of quiz time on quiz results pages
  • Quizzes will now display hours, minutes, and seconds depending on the time it took to take the quiz
  • Timing calculations are more accurate and quizzes that are completed in less than 60 seconds will not bug out and display incredibly long lengths
  • Resolved an issue that occassionally prevented quiz data from saving during the last question causing the quiz to hang in an uncompletable state
  • Quiz questions now have a default point value of 1, thanks @atimmer
  • Quiz question answers now accept valid HTML as per wp_kses_post, thanks again to @atimmer
Translations
Issue and bug resolutigons
  • Composer updates to include php52 support
  • Fixed a restriction issue that would happen when individual lessons were restricted to a membership level
  • Fixed an issue with the [lifterlms_my_account] shortcode that was preventing the shortcode from working on the Divi theme.
  • Engagements will now only be triggered if they are "Published". Resolves an issue where draft or trashed engagements were still firing.
  • Fixed CSS overflow on LifterLMS Meta boxes. Fixes an issue where select boxes would be hidden inside a metabox.
  • Changed the ConvertKit extension banner image on the LifterLMS general settings page and replaced added a link to the extension now that it's available.
  • When restricting an entire site to a membership level the page selected as the "Terms and Conditions" page in LifterLMS settings will automatically bypass Membership restriction settings. This will allow your unregistered users to actually read the T&C that they're confirming during registration.
  • CSS fix for has-icon class on course syllabus
  • Fixed a PHP warning that displayed when purchasing a membership with no auto-enrollment courses
  • Fixed an undefined variable warning in the WooCommerce integration class
  • Fixed a few templating issues related to certificates
  • Added a few new CSS rules that should make certificates more compatible across various themes
  • Added a css class to LifterLMS Next Lesson buttons, llms-next-lesson

Versions 2.2.2 RC 1

11 Mar 01:15
Compare
Choose a tag to compare
Versions 2.2.2 RC 1 Pre-release
Pre-release

= v2.2.2-1 - 2016/03/?? =

One step closer to a public GitHub repository

We've made a assive syntatical update to almost every file in the codebase for a (finally) unified and clearly defined coding standard. This puts us one step closer to beginning to open our GitHub repo publicly and accepting pull requests and contributions from developers everywhere.

Okay, we haven't exactly clearly defined it yet. We're working off a modified version of the WordPress Coding Standards.

Notable exceptions are related to file names because Thomas Levy didn't have the energy to rename a bunch of files as well as ignoring the Yoda Conditions standards. We'll be fixing these deviations in the future.

Quizzes
  • Created new time calculation and humanizing functions related to the display of quiz time on quiz results pages
  • Quizzes will now display hours, minutes, and seconds depending on the time it took to take the quiz
  • Timing calculations are more accurate and quizzes that are completed in less than 60 seconds will not bug out and display incredibly long lengths
  • Resolved an issue that occassionally prevented quiz data from saving during the last question causing the quiz to hang in an uncompletable state
Translations
  • Thanks to TKTKTKTKTKTKT LifterLMS now ships with Italian language files!
Issue and bug resolutions
  • Composer updates to include php52 support
  • Fixed a restriction issue that would happen when individual lessons were restricted to a membership level
  • Fixed an issue with the [lifterlms_my_account] shortcode that was preventing the shortcode from working on the Divi theme.
  • Engagements will now only be triggered if they are "Published". Resolves an issue where draft or trashed engagements were still firing.
  • Fixed CSS overflow on LifterLMS Meta boxes. Fixes an issue where select boxes would be hidden inside a metabox.
  • Changed the ConvertKit extension banner image on the LifterLMS general settings page and replaced added a link to the extension now that it's available.
  • When restricting an entire site to a membership level the page selected as the "Terms and Conditions" page in LifterLMS settings will automatically bypass Membership restriction settings. This will allow your unregistered users to actually read the T&C that they're confirming during registration.
  • CSS fix for has-icon class on course syllabus
  • Fixed a PHP warning that displayed when purchasing a membership with no auto-enrollment courses

Version 2.2.1

07 Mar 23:59
Compare
Choose a tag to compare

= v2.2.1 - 2016/03/07 =

  • Added a few actions to the class.llms.voucher.php class.

Version 2.2.0 - 2016-03-04

05 Mar 01:12
Compare
Choose a tag to compare
Translations
  • We've updated our .pot file for the first time in quite a while. We're really sorry for de-emphasizing translation. An updated .pot file will now accompany each version of LifterLMS whenever a translatable string is adjusted or when a new string is added.
  • We've also made it easier to include custom translations. Read our Translation Guide.
Certificate Background Images

We've completely rewritten the certificates template (but it's all backwards compatible).

Course and Membership Pricing & Sales
  • Sale price start and end date are now completely optional.
    • Provide neither a start date nor an end date to have a sale run indefinetly
    • Provide a start date with no end date to have a sale start at a pre-determined time with no pre-determined ending
    • Provide an end date with no start date to have a sale end a a pre-determined date but start immediately
    • Provide a start date and an end date to have a sale run for a pre-determined period of time
  • Optimized the LLMS_Product class to provide more reliable and extenable use of the class
  • The templates related to pricing functions have been refactored. Affected templates include: "templates/course/price.php", "templates/loop/price.php", "templates/membership/price.php"
  • Many people complained about the size of the .llms-price element on course and membership tiles on loop pages. We removed the inflated size and will now default to your theme for sizing. You selector remains the same if you wish to customize the size of the price text.
Coupon Updates
  • Coupons can (finally) be removed after being applied!
  • Coupons can now be restricted to specific courses and/or memberships
  • Percentage based coupons can no longer be created with a value larger than 100%
  • Added numeric restrictions to usage and coupon amount fieds on the admin panel
  • Fixed a programmatic error that prevented product restrictions from being entirely removed
  • Fixed a few instances where hardcoded a US Dollar symbol ($) where a dynamic currency symbol should have been displayed.
Wow Bad Syntax, Very Typo, Such Grammar, So Undefined
  • Fixed a typo in filter associated with modifying the registration of the lesson post type (lifterlms_register_post_type_lesson)
  • Fixed a grammatical error in a Membership restriction message
  • Fixed a syntax error in "/templates/course/outline-list-small.php" that prevented the done CSS class from being properly applied to completed lessons
  • Fixed a few typos and grammatical errors on the Course and Membership settings metaboxes
  • Fixed an undefined variable in "templates/course/syllabus.php"
  • Fixed an issue on the system report that prevented the "Courses Page" from being reported properly
  • Fixed an issue that caused PHP warnings on the admin panel for students or WP users with no LifterLMS menu permissions
  • Fixed an installation warning caused by a reference to an undefined class variable
  • Fixed an HTML character encoding issue that caused – to display on the admin panel when viewing LifterLMS Orders
  • Fixed an undefined variable found during engagment triggering for non-email engagements.
Additional, less exciting updates
  • Added input type restrictions to course & membership price fields.
  • The "Emails" LifterLMS Settings Tab has been renamed "Engagements." All Email settings are found under this tab as well as some new settings related to other kinds of LifterLMS engagements.
  • Added the_content filter to the content of emails sent by LifterLMS
  • Fixed some CSS issues on Voucher screens
  • Updated Courses settings retrieval function to retrieve the correct "shop" page id
  • Added translation functions to voucher export meta box class
  • Vouchers Export metabox will only allow export after a voucher has been published. This prevent's an issue caused by attempting to export voucher codes before they were saved in the database via the publish / save action.
  • Vouchers can no longer be saved with a use of "0"
  • added a CSS class for various syllabus outputs that notes that the lesson has an icon. Previously CSS relied on "is-complete" to output styles for having an icon but with the addition of placeholders the "is-complete" is used only to note that the lesson is completed and "has-icon" is a more semantic class that applies to both complete and incomplete lessons with an icon.
  • Removed the membership restriction metabox from some post types where it shouldn't have been displaying.
  • admin select fields now have an option allow_null (default to "true") which can be set to false in order to prevent the output of the default "None" option

Version 2.2.0-2 (PRE RELEASE)

02 Mar 01:03
Compare
Choose a tag to compare
Pre-release

= v2.2.0-2 - 2016/03/07 - PreRelease =

Tranlations
  • We've updated our .pot file for the first time in quite a while. We're really sorry for de-emphasizing translation. An updated .pot file will now accompany each version of LifterLMS whenever a translatable string is adjusted or when a new string is added.
  • We've also made it easier to include custom translations. Read our knowledge base article on the matter here: [adsfadsfasdf]
Certificate Background Images

We've completely rewritten the certificates template (but it's all backwards compatible).

Course and Membership Sales
  • Sale price start and end date are now completely optional.
    • Provide neither a start date nor an end date to have a sale run indefinetly
    • Provide a start date with no end date to have a sale start at a pre-determined time with no pre-determined ending
    • Provide an end date with no start date to have a sale end a a pre-determined date but start immediately
    • Provide a start date and an end date to have a sale run for a pre-determined period of time
  • Optimized the LLMS_Product class to provide more reliable and extenable use of the class
Coupon Updates
  • Coupons can (finally) be removed after being applied!
  • Coupons can now be restricted to specific courses and/or memberships
  • Percentage based coupons can no longer be created with a value larger than 100%
  • Fixed a few instances where hardcoded a US Dollar symbol ($) where a dynamic currency symbol should have been displayed.
Wow Bad Syntax, Very Typo, Such Grammar, So Undefined
  • Fixed a typo in filter associated with modifying the registration of the lesson post type (lifterlms_register_post_type_lesson)
  • Fixed a grammatical error in a Membership restriction message
  • Fixed a syntax error in "/templates/course/outline-list-small.php" that prevented the done CSS class from being properly applied to completed lessons
  • Fixed a few typos and grammatical errors on the Course and Membership settings metaboxes
  • Fixed an undefined variable in "templates/course/syllabus.php"
  • Fixed an issue on the system report that prevented the "Courses Page" from being reported properly
  • Fixed an issue that caused PHP warnings on the admin panel for students or WP users with no LifterLMS menu permissions
  • Fixed an installation warning caused by a reference to an undefined class variable
Additional, less exciting updates
  • Added the_content filter to the content of emails sent by LifterLMS
  • Fixed some CSS issues on Voucher screens
  • Updated Courses settings retrieval function to retrieve the correct "shop" page id
  • Added translation functions to voucher export meta box class
  • Vouchers Export metabox will only allow export after a voucher has been published. This prevent's an issue caused by attempting to export voucher codes before they were saved in the database via the publish / save action.
  • Vouchers can no longer be saved with a use of "0"
  • added a CSS class for various syllabus outputs that notes that the lesson has an icon. Previously CSS relied on "is-complete" to output styles for having an icon but with the addition of placeholders the "is-complete" is used only to note that the lesson is completed and "has-icon" is a more semantic class that applies to both complete and incomplete lessons with an icon.