Changeset 2728787
- Timestamp:
- 05/23/2022 07:01:10 PM (4 years ago)
- Location:
- lifterlms
- Files:
-
- 44 edited
- 1 copied
-
tags/6.6.0 (copied) (copied from lifterlms/trunk)
-
tags/6.6.0/assets/js/llms-admin-addons.asset.php (modified) (1 diff)
-
tags/6.6.0/assets/js/llms-admin-award-certificate.asset.php (modified) (1 diff)
-
tags/6.6.0/assets/js/llms-admin-certificate-editor.asset.php (modified) (1 diff)
-
tags/6.6.0/assets/js/llms-components.asset.php (modified) (1 diff)
-
tags/6.6.0/assets/js/llms-icons.asset.php (modified) (1 diff)
-
tags/6.6.0/assets/js/llms-utils.asset.php (modified) (1 diff)
-
tags/6.6.0/blocks/certificate-title/index.asset.php (modified) (1 diff)
-
tags/6.6.0/class-lifterlms.php (modified) (1 diff)
-
tags/6.6.0/includes/abstracts/abstract.llms.database.query.php (modified) (2 diffs)
-
tags/6.6.0/includes/class-llms-engagement-handler.php (modified) (3 diffs)
-
tags/6.6.0/includes/class.llms.cache.helper.php (modified) (4 diffs)
-
tags/6.6.0/includes/class.llms.comments.php (modified) (8 diffs)
-
tags/6.6.0/includes/class.llms.engagements.php (modified) (5 diffs)
-
tags/6.6.0/includes/class.llms.post.relationships.php (modified) (2 diffs)
-
tags/6.6.0/includes/forms/controllers/class.llms.controller.account.php (modified) (3 diffs)
-
tags/6.6.0/includes/models/model.llms.user.certificate.php (modified) (1 diff)
-
tags/6.6.0/includes/traits/llms-trait-student-awards.php (modified) (1 diff)
-
tags/6.6.0/languages/lifterlms.pot (modified) (8 diffs)
-
tags/6.6.0/lifterlms.php (modified) (2 diffs)
-
tags/6.6.0/readme.txt (modified) (3 diffs)
-
tags/6.6.0/vendor/composer/installed.php (modified) (2 diffs)
-
tags/6.6.0/vendor/composer/platform_check.php (modified) (1 diff)
-
trunk/assets/js/llms-admin-addons.asset.php (modified) (1 diff)
-
trunk/assets/js/llms-admin-award-certificate.asset.php (modified) (1 diff)
-
trunk/assets/js/llms-admin-certificate-editor.asset.php (modified) (1 diff)
-
trunk/assets/js/llms-components.asset.php (modified) (1 diff)
-
trunk/assets/js/llms-icons.asset.php (modified) (1 diff)
-
trunk/assets/js/llms-utils.asset.php (modified) (1 diff)
-
trunk/blocks/certificate-title/index.asset.php (modified) (1 diff)
-
trunk/class-lifterlms.php (modified) (1 diff)
-
trunk/includes/abstracts/abstract.llms.database.query.php (modified) (2 diffs)
-
trunk/includes/class-llms-engagement-handler.php (modified) (3 diffs)
-
trunk/includes/class.llms.cache.helper.php (modified) (4 diffs)
-
trunk/includes/class.llms.comments.php (modified) (8 diffs)
-
trunk/includes/class.llms.engagements.php (modified) (5 diffs)
-
trunk/includes/class.llms.post.relationships.php (modified) (2 diffs)
-
trunk/includes/forms/controllers/class.llms.controller.account.php (modified) (3 diffs)
-
trunk/includes/models/model.llms.user.certificate.php (modified) (1 diff)
-
trunk/includes/traits/llms-trait-student-awards.php (modified) (1 diff)
-
trunk/languages/lifterlms.pot (modified) (8 diffs)
-
trunk/lifterlms.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lifterlms/tags/6.6.0/assets/js/llms-admin-addons.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('jquery', 'wp-i18n', 'wp-polyfill'), 'version' => ' e53efca973e7c1dd11b780bbcbb4d192');1 <?php return array('dependencies' => array('jquery', 'wp-i18n', 'wp-polyfill'), 'version' => '3f38fd10c57dff239c116a4b72d83a22'); -
lifterlms/tags/6.6.0/assets/js/llms-admin-award-certificate.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 23e1c1ce85f28d89d057b895afe28083');1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'b29eba510c6eb3f2929016922545bef8'); -
lifterlms/tags/6.6.0/assets/js/llms-admin-certificate-editor.asset.php
r2711689 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-icons', 'llms-utils', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-url'), 'version' => ' ce6098b1f7d7f917c52c393d73029336');1 <?php return array('dependencies' => array('llms-components', 'llms-icons', 'llms-utils', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-url'), 'version' => 'd9413d77bf5dad3f2d3163b8d59ce744'); -
lifterlms/tags/6.6.0/assets/js/llms-components.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 05c718bdf68b15f02d456ebd3701bbb1');1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'dc5d851259c42b2847c9087b2caf7bc4'); -
lifterlms/tags/6.6.0/assets/js/llms-icons.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-primitives'), 'version' => '8 9d948440efb942c982e2b869d75a378');1 <?php return array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-primitives'), 'version' => '80a071a1a1caf87759fbc247d4f980c6'); -
lifterlms/tags/6.6.0/assets/js/llms-utils.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => ' b004b557747fa76e54354e4c358fa90e');1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '4d6b40d256aa387f0ac1cc68e3d124fb'); -
lifterlms/tags/6.6.0/blocks/certificate-title/index.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 7e829736b959829d51c53f0c2bb47ce4');1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '096c206ef94b9934b110e350bb39fdda'); -
lifterlms/tags/6.6.0/class-lifterlms.php
r2722171 r2728787 35 35 * @var string 36 36 */ 37 public $version = '6. 5.0';37 public $version = '6.6.0'; 38 38 39 39 /** -
lifterlms/tags/6.6.0/includes/abstracts/abstract.llms.database.query.php
r2690931 r2728787 90 90 * @param array $args Array of default arguments to set up the query with. 91 91 */ 92 return apply_filters_deprecated( 'llms_db_query_get_default_args', array( $args ), ' [version]', "llms_{$this->id}_query_get_default_args" );92 return apply_filters_deprecated( 'llms_db_query_get_default_args', array( $args ), '6.0.0', "llms_{$this->id}_query_get_default_args" ); 93 93 94 94 } … … 406 406 __METHOD__, 407 407 sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'lifterlms' ), __METHOD__ ), 408 ' [version]'408 '6.0.0' 409 409 ); 410 410 } -
lifterlms/tags/6.6.0/includes/class-llms-engagement-handler.php
r2690931 r2728787 85 85 } 86 86 87 // Ensure we have an argument to check, engagements created prior to v [version]will not have this argument.87 // Ensure we have an argument to check, engagements created prior to v6.0.0 will not have this argument. 88 88 if ( ! empty( $engagement_id ) ) { 89 89 $checks[] = self::check_post( $engagement_id, 'llms_engagement' ); … … 134 134 } 135 135 136 return apply_filters_deprecated( $hook[0], array( $args ), ' [version]', $hook[1] );136 return apply_filters_deprecated( $hook[0], array( $args ), '6.0.0', $hook[1] ); 137 137 138 138 } … … 184 184 $old_obj = new $old_class(); 185 185 $old_obj->init( ...$init_args ); 186 $args = apply_filters_deprecated( $deprecated, array( $args, $old_obj ), ' [version]', $replacement );186 $args = apply_filters_deprecated( $deprecated, array( $args, $old_obj ), '6.0.0', $replacement ); 187 187 } 188 188 -
lifterlms/tags/6.6.0/includes/class.llms.cache.helper.php
r2711689 r2728787 6 6 * 7 7 * @since 3.15.0 8 * @version 6. 4.08 * @version 6.6.0 9 9 */ 10 10 … … 33 33 34 34 /** 35 * Sets a browser cookie that tells WP Engine to exclude a page from server caching. 36 * 37 * @see https://wpengine.com/support/cache/#Default_Cache_Exclusions 38 * @see https://wpengine.com/support/determining-wp-engine-environment/ 39 * 40 * @since 6.6.0 41 * 42 * @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`. 43 * 44 * @return void 45 */ 46 private function exclude_page_from_wpe_server_cache( $post = null ) { 47 48 if ( function_exists( 'is_wpe' ) && is_wpe() ) { 49 /* 50 * If "Settings -> Permalinks" is "Plain", i.e. the `permalink_structure` option is '', 51 * allow the entire site to be cached by WP Engine. 52 * Note: This will prevent users from being able to successfully use the "Lost your password?" feature. 53 */ 54 if ( isset( $GLOBALS['wp_rewrite'] ) && ! $GLOBALS['wp_rewrite']->using_permalinks() ) { 55 return; 56 } 57 58 $path = wp_parse_url( get_permalink( $post ), PHP_URL_PATH ); 59 llms_setcookie( 'wordpress_wpe_no_cache', '1', 0, $path, COOKIE_DOMAIN, is_ssl(), true ); 60 } 61 } 62 63 /** 35 64 * Retrieve a cache prefix that can be used with WP_Object_Cache methods 36 65 * … … 84 113 * @since 3.15.0 85 114 * @since 6.4.0 Force no caching on quiz pages. 86 * Added 'no-store' to the default WordPress nocache headers. 115 * Added 'no-store' to the default WordPress nocache headers. 116 * @since 6.6.0 Added WP Engine server-side cache exclusions. 87 117 * 88 118 * @return void … … 126 156 llms_maybe_define_constant( 'DONOTCACHEDB', true ); 127 157 nocache_headers(); 158 $this->exclude_page_from_wpe_server_cache(); 128 159 129 160 remove_filter( 'nocache_headers', array( __CLASS__, 'additional_nocache_headers' ), 99 ); -
lifterlms/tags/6.6.0/includes/class.llms.comments.php
r2264176 r2728787 1 1 <?php 2 2 /** 3 * Custom filters & actions for LifterLMS Comments 4 * 5 * This class owes a great debt to WooCommerce. 3 * LLMS_Comments class file. 6 4 * 7 5 * @package LifterLMS/Classes 8 6 * 9 7 * @since 3.0.0 10 * @version 3.37.128 * @version 6.6.0 11 9 */ 12 10 … … 14 12 15 13 /** 16 * LLMS_Comments class 14 * Custom filters & actions for LifterLMS comments. 15 * 16 * This class owes a great debt to WooCommerce. 17 17 * 18 18 * @since 3.0.0 19 * @since 3.37.12 Use strict comparisons.20 * Handle empty array from `wp_count_comments` filter.21 * Properly exclude "llms_order_note" comment types from comment counts..22 19 */ 23 20 class LLMS_Comments { … … 34 31 * 35 32 * @since 3.37.12 33 * @since 6.6.0 Conditionally hook `wp_count_comments` filter. 36 34 * 37 35 * @return void … … 44 42 add_action( 'comment_feed_where', array( __CLASS__, 'exclude_order_comments_from_feed_where' ) ); 45 43 46 // Remove order notes when counting comments.47 add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 999, 2 );48 49 44 // Delete comments count cache whenever there is a new comment or a comment status changes. 50 45 add_action( 'wp_insert_comment', array( __CLASS__, 'delete_comments_count_cache' ) ); 51 46 add_action( 'wp_set_comment_status', array( __CLASS__, 'delete_comments_count_cache' ) ); 47 48 /** 49 * Remove order notes when counting comments on WP versions earlier than 6.0. 50 * 51 * @todo This filter can be safely deprecated once support is dropped for WordPress 6.0. 52 */ 53 if ( self::should_modify_comment_counts() ) { 54 add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 999, 2 ); 55 } 52 56 53 57 } … … 190 194 * @since 3.37.12 191 195 * 196 * @todo This method can be safely deprecated once support is dropped for WordPress 6.0. 197 * 192 198 * @param stdClass $stats Comment stats object. See the return of LLMS_Comments::wp_comment_counts() for object details. 193 199 * @return stdClass See LLMS_Comments::wp_comment_counts() for return object details. … … 218 224 219 225 /** 226 * Determines whether or not comment count modification is necessary. 227 * 228 * Since WordPress 6.0 the `get_comment_count()` function utilizes `get_comments()` whereas in earlier versions the counts 229 * are retrieved by a direct SQL query. This change means that the filter in this class on `comments_clauses` ensures that 230 * our comments we hide & don't count in the comments management UI are already excluded and we do not need to filter 231 * `wp_count_comments` to subtract our comments. 232 * 233 * @since 6.6.0 234 * 235 * @return boolean Returns `true` on WP earlier than 6.0 and `false` on 6.0 and later. 236 */ 237 private static function should_modify_comment_counts() { 238 global $wp_version; 239 return version_compare( $wp_version, '6.0-src', '<' ); 240 } 241 242 /** 220 243 * Remove order notes from the count when counting comments 221 244 * … … 236 259 * Fix issue encountered when $stats is an empty array. 237 260 * Modify the stats generation method. 261 * @since 6.6.0 Will throw `_doing_it_wrong()` when run on WP 6.0 or later and return the input `$stats` unchanged. 262 * 263 * @todo This method can be safely deprecated once support is dropped for WordPress 6.0. 238 264 * 239 265 * @param stdClass|array $stats Empty array or a stdClass of stats from another plugin. … … 253 279 public static function wp_count_comments( $stats, $post_id ) { 254 280 281 // If someone calls this directly on 6.0 or later notify them and return early. 282 if ( ! self::should_modify_comment_counts() ) { 283 _doing_it_wrong( __METHOD__, 'This method should not be called on WordPress 6.0 or later.', '6.6.0' ); 284 return $stats; 285 } 286 255 287 // Don't modify when querying for a specific post. 256 288 if ( 0 !== $post_id ) { -
lifterlms/tags/6.6.0/includes/class.llms.engagements.php
r2690931 r2728787 6 6 * 7 7 * @since 2.3.0 8 * @version 6. 0.08 * @version 6.6.0 9 9 */ 10 10 … … 343 343 344 344 /** 345 * Parse incoming hook / callback data to determine if an engagement should be triggered from a given hook 345 * Parse incoming hook / callback data to determine if an engagement should be triggered from a given hook. 346 346 * 347 347 * @since 6.0.0 348 * @since 6.6.0 Fixed an issue where the `lifterlms_external_engagement_query_arguments` filter 349 * would not trigger if a 3rd party registered a trigger hook. 348 350 * 349 351 * @param string $action Action hook name. … … 365 367 ); 366 368 367 // Verify that it's a supported hook. 369 /** 370 * Allows 3rd parties to hook into the core engagement system by parsing data passed to the hook. 371 * 372 * @since 2.3.0 373 * 374 * @param array $parsed { 375 * An associative array of parsed data used to trigger the engagement. 376 * 377 * @type string $trigger_type (Required) The name of the engagement trigger. See `llms_get_engagement_triggers()` for a list of valid triggers. 378 * @type int $user_id (Required) The WP_User ID of the user who the engagement is being awarded or sent to. 379 * @type int $related_post_id (Optional) The WP_Post ID of a related post. 380 * } 381 * @param string $action The name of the hook which triggered the engagement. 382 * @param array $args The original arguments provided by the triggering hook. 383 */ 384 $filtered_parsed = apply_filters( 385 'lifterlms_external_engagement_query_arguments', 386 $parsed, 387 $action, 388 $args 389 ); 390 // If valid, return the filtered parsed data. 391 if ( isset( $filtered_parsed['trigger_type'] ) && isset( $filtered_parsed['user_id'] ) ) { 392 return $filtered_parsed; 393 } 394 395 // Verify that the action is a supported hook. 368 396 if ( ! in_array( $action, $this->get_trigger_hooks(), true ) ) { 369 /** 370 * Allows 3rd parties to hook into the core engagement system by parsing data passed to the hook. 371 * 372 * @since Unknown 373 * 374 * @param array $parsed { 375 * An associative array of parsed data used to trigger the engagement. 376 * 377 * @type string $trigger_type (Required) The name of the engagement trigger. See `llms_get_engagement_triggers()` for a list of valid triggers. 378 * @type int $user_id (Required) The WP_User ID of the user who the engagement is being awarded or sent to. 379 * @type int $related_post_id (Optional) The WP_Post ID of a related post. 380 * } 381 * @param string $action The name of the hook which triggered the engagement. 382 * @param array $args The original arguments provided by the triggering hook. 383 */ 384 return apply_filters( 385 'lifterlms_external_engagement_query_arguments', 386 $parsed, 387 $action, 388 $args 389 ); 397 return $parsed; 390 398 } 391 399 … … 482 490 483 491 /** 484 * Parse engagement objects from the DB and return data needed to trigger the engagements 492 * Parse engagement objects from the DB and return data needed to trigger the engagements. 485 493 * 486 494 * @since 6.0.0 495 * @since 6.6.0 Fixed an issue where the `lifterlms_external_engagement_handler_arguments` filter 496 * would not trigger if a 3rd party registered an engagement type. 487 497 * 488 498 * @param object $engagement The engagement object from the `get_engagements()` query. … … 502 512 ); 503 513 514 /** 515 * Enable 3rd parties to parse custom engagement types. 516 * 517 * @since 2.3.0 518 * 519 * @param array $parsed { 520 * An associative array of parsed data used to trigger the engagement. 521 * 522 * @type string $handler_action (Required) Hook name of the action that will handle awarding the sending the engagement. 523 * @type array $handler_args (Required) Arguments passed to the `$handler_action` callback. 524 * } 525 * @param object $engagement The engagement object from the `get_engagements()` query. 526 * @param int $user_id WP_User ID who will be awarded the engagement. 527 * @param int $related_post_id WP_Post ID of the related post. 528 * @param string $event_type The type of engagement event. 529 */ 530 $filtered_parsed = apply_filters( 531 'lifterlms_external_engagement_handler_arguments', 532 $parsed, 533 $engagement, 534 $trigger_data['user_id'], 535 $trigger_data['related_post_id'], 536 $engagement->event_type 537 ); 538 // If valid, return the filtered parsed data. 539 if ( isset( $filtered_parsed['handler_action'] ) && isset( $filtered_parsed['handler_args'] ) ) { 540 return $filtered_parsed; 541 } 542 543 // Verify that the engagement event type is supported. 504 544 if ( ! array_key_exists( $engagement->event_type, llms_get_engagement_types() ) ) { 505 /** 506 * Enable 3rd parties to parse custom engagement types 507 * 508 * @since Unknown 509 * 510 * @param array $parsed { 511 * An associative array of parsed data used to trigger the engagement. 512 * 513 * @type string $handler_action (Required) Hook name of the action that will handle awarding the sending the engagement. 514 * @type array $handler_args (Required) Arguments passed to the `$handler_action` callback. 515 * } 516 * @param object $engagement The engagement object from the `get_engagements()` query. 517 * @param int $user_id WP_User ID who will be awarded the engagement. 518 * @param int $related_post_id WP_Post ID of the related post. 519 * @param string $event_type The type of engagement event. 520 */ 521 return apply_filters( 522 'lifterlms_external_engagement_handler_arguments', 523 $parsed, 524 $engagement, 525 $trigger_data['user_id'], 526 $trigger_data['related_post_id'], 527 $engagement->event_type 528 ); 545 return $parsed; 529 546 } 530 547 -
lifterlms/tags/6.6.0/includes/class.llms.post.relationships.php
r2690931 r2728787 131 131 $earned_engagement, 132 132 ), 133 ' [version]',133 '6.0.0', 134 134 '', 135 135 __( 'Use WordPress core `before_delete_post` action hook', 'lifterlms' ) … … 157 157 $earned_engagement, 158 158 ), 159 ' [version]',159 '6.0.0', 160 160 '', 161 161 __( 'Use WordPress core `deleted_post` action hook.', 'lifterlms' ) -
lifterlms/tags/6.6.0/includes/forms/controllers/class.llms.controller.account.php
r2683286 r2728787 6 6 * 7 7 * @since 3.7.0 8 * @version 5.9.08 * @version 6.6.0 9 9 */ 10 10 … … 382 382 * @since 5.0.0 383 383 * @since 5.9.0 Stop using deprecated `FILTER_SANITIZE_STRING`. 384 * @since 6.6.0 Prevented client and server caching of the password reset form page. 384 385 * 385 386 * @return void … … 393 394 $val = sprintf( '%1$d:%2$s', $uid, wp_unslash( llms_filter_input_sanitize_string( INPUT_GET, 'key' ) ) ); 394 395 396 ( new LLMS_Cache_Helper() )->maybe_no_cache(); 395 397 llms_set_password_reset_cookie( $val ); 396 398 llms_redirect_and_exit( add_query_arg( 'reset-pass', 1, llms_lostpassword_url() ) ); -
lifterlms/tags/6.6.0/includes/models/model.llms.user.certificate.php
r2711689 r2728787 728 728 'llms_certificate_use_legacy_template', 729 729 array( false, $this ), 730 ' [version]',730 '6.0.0', 731 731 '', // There is no direct replacement. 732 732 __( 'Loading custom HTML from the certificate template is deprecated. All HTML should be added to the certificate directly via the editor or applied via post content filters.', 'lifterlms' ) -
lifterlms/tags/6.6.0/includes/traits/llms-trait-student-awards.php
r2690931 r2728787 114 114 * Retrieve certificates that the student has been awarded. 115 115 * 116 * The default behavior of this method is deprecated since version [version]. The previous behavior116 * The default behavior of this method is deprecated since version 6.0.0. The previous behavior 117 117 * is retained for backwards compatibility but will be removed in the next major release. 118 118 * -
lifterlms/tags/6.6.0/languages/lifterlms.pot
r2722171 r2728787 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: LifterLMS 6. 5.0\n"5 "Project-Id-Version: LifterLMS 6.6.0\n" 6 6 "Report-Msgid-Bugs-To: https://lifterlms.com/my-account/my-tickets\n" 7 7 "Last-Translator: Team LifterLMS <team@lifterlms.com>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2022-05- 11T11:23:16-06:00\n"12 "POT-Creation-Date: 2022-05-23T10:13:59-06:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: llms/dev 0.0.4-alpha.1\n" … … 2510 2510 msgstr "" 2511 2511 2512 #. Translators: %s: Post title.2513 2512 #: includes/admin/post-types/post-tables/class-llms-admin-post-table-awards.php:117 2514 2513 #: includes/admin/post-types/post-tables/class-llms-admin-post-table-awards.php:322 … … 4034 4033 msgstr "" 4035 4034 4036 #. Translators: %d = the number of pending batches.4037 4035 #: includes/admin/tools/class-llms-admin-tool-batch-eraser.php:44 4038 4036 msgid "There is currently %d pending batch that will be deleted." … … 4078 4076 msgstr "" 4079 4077 4080 #. Translators: %d = the number of pending batches.4081 4078 #: includes/admin/tools/class-llms-admin-tool-limited-billing-order-locator.php:134 4082 4079 msgid "There is %d order that should be reviewed." … … 4097 4094 msgstr "" 4098 4095 4099 #. Translators: %d = the number of pending batches.4100 4096 #: includes/admin/tools/class-llms-admin-tool-recurring-payment-rescheduler.php:46 4101 4097 msgid "There is %d order that will be checked." … … 8176 8172 #. Translators: %s = field label or id. 8177 8173 #: includes/forms/class-llms-form-validator.php:490 8178 #: includes/forms/controllers/class.llms.controller.account.php:42 58174 #: includes/forms/controllers/class.llms.controller.account.php:427 8179 8175 msgid "%s is a required field." 8180 8176 msgstr "" … … 8262 8258 msgstr "" 8263 8259 8264 #: includes/forms/controllers/class.llms.controller.account.php:4 388260 #: includes/forms/controllers/class.llms.controller.account.php:440 8265 8261 msgid "The submitted passwords do must match." 8266 8262 msgstr "" -
lifterlms/tags/6.6.0/lifterlms.php
r2722171 r2728787 11 11 * Plugin URI: https://lifterlms.com/ 12 12 * Description: LifterLMS is a powerful WordPress learning management system plugin that makes it easy to create, sell, and protect engaging online courses and training based membership websites. 13 * Version: 6. 5.013 * Version: 6.6.0 14 14 * Author: LifterLMS 15 15 * Author URI: https://lifterlms.com/ … … 18 18 * License: GPLv3 19 19 * License URI: https://www.gnu.org/licenses/gpl-3.0.html 20 * Requires at least: 5. 521 * Tested up to: 5.922 * Requires PHP: 7. 320 * Requires at least: 5.6 21 * Tested up to: 6.0 22 * Requires PHP: 7.4 23 23 * 24 24 * * * * * * * * * * * * * * * * * * * * * * -
lifterlms/tags/6.6.0/readme.txt
r2722171 r2728787 5 5 License: GPLv3 6 6 License URI: https://www.gnu.org/licenses/gpl-3.0.html 7 Requires at least: 5. 58 Tested up to: 5.99 Requires PHP: 7. 310 Stable tag: 6. 5.07 Requires at least: 5.6 8 Tested up to: 6.0 9 Requires PHP: 7.4 10 Stable tag: 6.6.0 11 11 12 12 LifterLMS is a powerful WordPress learning management system plugin that makes it easy to create, sell, and protect engaging online courses and training based membership websites. … … 538 538 539 539 == Changelog == 540 541 = v6.6.0 - 2022-05-23 = 542 543 ##### PHP Minimum Required Version Change 544 545 + **Raised the minimum supported PHP version to 7.4.** 546 547 ##### WordPress Minimum Required Version Change 548 549 + **Raised the minimum supported WordPress core version to 5.6.** 550 551 ##### New Features 552 553 + Added support for WordPress 6.0. 554 555 ##### Bug Fixes 556 557 + Fixed the ability for 3rd party plugins to use the `lifterlms_external_engagement_handler_arguments` and `lifterlms_external_engagement_query_arguments` filters. 558 + Added automatic exclusion of "no cache" pages from the WP Engine server-side cache when using "pretty" permalinks. [#1717](https://github.com/gocodebox/lifterlms/issues/1717) 559 + Stop subtracting LifterLMS order note comments from global comment counts via the `wp_count_comments` filter on WordPress 6.0 and later. See related WordPress Trac ticket [#19901](https://core.trac.wordpress.org/ticket/19901) 560 540 561 541 562 = v6.5.0 - 2022-05-11 = … … 1043 1064 1044 1065 1045 = v5.7.0 - 2022-01-11 =1046 1047 ##### Updates and Enhancements1048 1049 + Informed developers about the deprecated `LLMS_Section::get_next_available_lesson_order()` method.1050 + Informed developers about the deprecated `LLMS_Section::get_order()` method.1051 + Informed developers about the deprecated `LLMS_Section::get_parent_course()` method.1052 + Informed developers about the deprecated `LLMS_Section::set_parent_course()` method.1053 1054 ##### Deprecations1055 1056 + Deprecated `LLMS_Frontend_Assets::enqueue_inline_pw_script()` with no replacement.1057 + Deprecated the `LLMS_Lesson::get_order()` method in favor of the `LLMS_Lesson::get( 'order' )` method.1058 + Deprecated the `LLMS_Lesson::get_parent_course()` method in favor of the `LLMS_Lesson::get( 'parent_course' )` method.1059 + Deprecated the `LLMS_Lesson::set_parent_course()` method in favor of the `LLMS_Lesson::set( 'parent_course', $course_id )` method.1060 + Deprecated the `LLMS_AJAX_Handler::add_lesson_to_course()` method with no replacement.1061 + Deprecated the `LLMS_AJAX_Handler::create_lesson()` method with no replacement.1062 + Deprecated the `LLMS_AJAX_Handler::create_section()` method with no replacement.1063 + Deprecated the `LLMS_Lesson_Handler::assign_to_course()` method with no replacement.1064 + Deprecated the `LLMS_Post_Handler::create_section()` method with no replacement.1065 1066 ##### Updated Templates1067 1068 + [templates/course/lesson-navigation.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/lesson-navigation.php)1069 + [templates/course/lesson-preview.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/lesson-preview.php)1070 + [templates/course/parent-course.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/parent-course.php)1071 1072 1073 1066 [Read the full changelog](https://make.lifterlms.com/tag/lifterlms) -
lifterlms/tags/6.6.0/vendor/composer/installed.php
r2722171 r2728787 6 6 'install_path' => __DIR__ . '/../../', 7 7 'aliases' => array(), 8 'reference' => ' 4449f450e762ea3b3a3ca89d14d7edef11b946e0',8 'reference' => 'f6ddb86520ed8fea233280be4a5048de79dcf76e', 9 9 'name' => 'gocodebox/lifterlms', 10 10 'dev' => false, … … 35 35 'install_path' => __DIR__ . '/../../', 36 36 'aliases' => array(), 37 'reference' => ' 4449f450e762ea3b3a3ca89d14d7edef11b946e0',37 'reference' => 'f6ddb86520ed8fea233280be4a5048de79dcf76e', 38 38 'dev_requirement' => false, 39 39 ), -
lifterlms/tags/6.6.0/vendor/composer/platform_check.php
r2625289 r2728787 5 5 $issues = array(); 6 6 7 if (!(PHP_VERSION_ID >= 70 300)) {8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7. 3.0". You are running ' . PHP_VERSION . '.';7 if (!(PHP_VERSION_ID >= 70400)) { 8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.'; 9 9 } 10 10 -
lifterlms/trunk/assets/js/llms-admin-addons.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('jquery', 'wp-i18n', 'wp-polyfill'), 'version' => ' e53efca973e7c1dd11b780bbcbb4d192');1 <?php return array('dependencies' => array('jquery', 'wp-i18n', 'wp-polyfill'), 'version' => '3f38fd10c57dff239c116a4b72d83a22'); -
lifterlms/trunk/assets/js/llms-admin-award-certificate.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 23e1c1ce85f28d89d057b895afe28083');1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'b29eba510c6eb3f2929016922545bef8'); -
lifterlms/trunk/assets/js/llms-admin-certificate-editor.asset.php
r2711689 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-icons', 'llms-utils', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-url'), 'version' => ' ce6098b1f7d7f917c52c393d73029336');1 <?php return array('dependencies' => array('llms-components', 'llms-icons', 'llms-utils', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-url'), 'version' => 'd9413d77bf5dad3f2d3163b8d59ce744'); -
lifterlms/trunk/assets/js/llms-components.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 05c718bdf68b15f02d456ebd3701bbb1');1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'dc5d851259c42b2847c9087b2caf7bc4'); -
lifterlms/trunk/assets/js/llms-icons.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-primitives'), 'version' => '8 9d948440efb942c982e2b869d75a378');1 <?php return array('dependencies' => array('wp-element', 'wp-polyfill', 'wp-primitives'), 'version' => '80a071a1a1caf87759fbc247d4f980c6'); -
lifterlms/trunk/assets/js/llms-utils.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => ' b004b557747fa76e54354e4c358fa90e');1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '4d6b40d256aa387f0ac1cc68e3d124fb'); -
lifterlms/trunk/blocks/certificate-title/index.asset.php
r2706637 r2728787 1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => ' 7e829736b959829d51c53f0c2bb47ce4');1 <?php return array('dependencies' => array('llms-components', 'llms-utils', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '096c206ef94b9934b110e350bb39fdda'); -
lifterlms/trunk/class-lifterlms.php
r2722171 r2728787 35 35 * @var string 36 36 */ 37 public $version = '6. 5.0';37 public $version = '6.6.0'; 38 38 39 39 /** -
lifterlms/trunk/includes/abstracts/abstract.llms.database.query.php
r2690931 r2728787 90 90 * @param array $args Array of default arguments to set up the query with. 91 91 */ 92 return apply_filters_deprecated( 'llms_db_query_get_default_args', array( $args ), ' [version]', "llms_{$this->id}_query_get_default_args" );92 return apply_filters_deprecated( 'llms_db_query_get_default_args', array( $args ), '6.0.0', "llms_{$this->id}_query_get_default_args" ); 93 93 94 94 } … … 406 406 __METHOD__, 407 407 sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'lifterlms' ), __METHOD__ ), 408 ' [version]'408 '6.0.0' 409 409 ); 410 410 } -
lifterlms/trunk/includes/class-llms-engagement-handler.php
r2690931 r2728787 85 85 } 86 86 87 // Ensure we have an argument to check, engagements created prior to v [version]will not have this argument.87 // Ensure we have an argument to check, engagements created prior to v6.0.0 will not have this argument. 88 88 if ( ! empty( $engagement_id ) ) { 89 89 $checks[] = self::check_post( $engagement_id, 'llms_engagement' ); … … 134 134 } 135 135 136 return apply_filters_deprecated( $hook[0], array( $args ), ' [version]', $hook[1] );136 return apply_filters_deprecated( $hook[0], array( $args ), '6.0.0', $hook[1] ); 137 137 138 138 } … … 184 184 $old_obj = new $old_class(); 185 185 $old_obj->init( ...$init_args ); 186 $args = apply_filters_deprecated( $deprecated, array( $args, $old_obj ), ' [version]', $replacement );186 $args = apply_filters_deprecated( $deprecated, array( $args, $old_obj ), '6.0.0', $replacement ); 187 187 } 188 188 -
lifterlms/trunk/includes/class.llms.cache.helper.php
r2711689 r2728787 6 6 * 7 7 * @since 3.15.0 8 * @version 6. 4.08 * @version 6.6.0 9 9 */ 10 10 … … 33 33 34 34 /** 35 * Sets a browser cookie that tells WP Engine to exclude a page from server caching. 36 * 37 * @see https://wpengine.com/support/cache/#Default_Cache_Exclusions 38 * @see https://wpengine.com/support/determining-wp-engine-environment/ 39 * 40 * @since 6.6.0 41 * 42 * @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`. 43 * 44 * @return void 45 */ 46 private function exclude_page_from_wpe_server_cache( $post = null ) { 47 48 if ( function_exists( 'is_wpe' ) && is_wpe() ) { 49 /* 50 * If "Settings -> Permalinks" is "Plain", i.e. the `permalink_structure` option is '', 51 * allow the entire site to be cached by WP Engine. 52 * Note: This will prevent users from being able to successfully use the "Lost your password?" feature. 53 */ 54 if ( isset( $GLOBALS['wp_rewrite'] ) && ! $GLOBALS['wp_rewrite']->using_permalinks() ) { 55 return; 56 } 57 58 $path = wp_parse_url( get_permalink( $post ), PHP_URL_PATH ); 59 llms_setcookie( 'wordpress_wpe_no_cache', '1', 0, $path, COOKIE_DOMAIN, is_ssl(), true ); 60 } 61 } 62 63 /** 35 64 * Retrieve a cache prefix that can be used with WP_Object_Cache methods 36 65 * … … 84 113 * @since 3.15.0 85 114 * @since 6.4.0 Force no caching on quiz pages. 86 * Added 'no-store' to the default WordPress nocache headers. 115 * Added 'no-store' to the default WordPress nocache headers. 116 * @since 6.6.0 Added WP Engine server-side cache exclusions. 87 117 * 88 118 * @return void … … 126 156 llms_maybe_define_constant( 'DONOTCACHEDB', true ); 127 157 nocache_headers(); 158 $this->exclude_page_from_wpe_server_cache(); 128 159 129 160 remove_filter( 'nocache_headers', array( __CLASS__, 'additional_nocache_headers' ), 99 ); -
lifterlms/trunk/includes/class.llms.comments.php
r2264176 r2728787 1 1 <?php 2 2 /** 3 * Custom filters & actions for LifterLMS Comments 4 * 5 * This class owes a great debt to WooCommerce. 3 * LLMS_Comments class file. 6 4 * 7 5 * @package LifterLMS/Classes 8 6 * 9 7 * @since 3.0.0 10 * @version 3.37.128 * @version 6.6.0 11 9 */ 12 10 … … 14 12 15 13 /** 16 * LLMS_Comments class 14 * Custom filters & actions for LifterLMS comments. 15 * 16 * This class owes a great debt to WooCommerce. 17 17 * 18 18 * @since 3.0.0 19 * @since 3.37.12 Use strict comparisons.20 * Handle empty array from `wp_count_comments` filter.21 * Properly exclude "llms_order_note" comment types from comment counts..22 19 */ 23 20 class LLMS_Comments { … … 34 31 * 35 32 * @since 3.37.12 33 * @since 6.6.0 Conditionally hook `wp_count_comments` filter. 36 34 * 37 35 * @return void … … 44 42 add_action( 'comment_feed_where', array( __CLASS__, 'exclude_order_comments_from_feed_where' ) ); 45 43 46 // Remove order notes when counting comments.47 add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 999, 2 );48 49 44 // Delete comments count cache whenever there is a new comment or a comment status changes. 50 45 add_action( 'wp_insert_comment', array( __CLASS__, 'delete_comments_count_cache' ) ); 51 46 add_action( 'wp_set_comment_status', array( __CLASS__, 'delete_comments_count_cache' ) ); 47 48 /** 49 * Remove order notes when counting comments on WP versions earlier than 6.0. 50 * 51 * @todo This filter can be safely deprecated once support is dropped for WordPress 6.0. 52 */ 53 if ( self::should_modify_comment_counts() ) { 54 add_filter( 'wp_count_comments', array( __CLASS__, 'wp_count_comments' ), 999, 2 ); 55 } 52 56 53 57 } … … 190 194 * @since 3.37.12 191 195 * 196 * @todo This method can be safely deprecated once support is dropped for WordPress 6.0. 197 * 192 198 * @param stdClass $stats Comment stats object. See the return of LLMS_Comments::wp_comment_counts() for object details. 193 199 * @return stdClass See LLMS_Comments::wp_comment_counts() for return object details. … … 218 224 219 225 /** 226 * Determines whether or not comment count modification is necessary. 227 * 228 * Since WordPress 6.0 the `get_comment_count()` function utilizes `get_comments()` whereas in earlier versions the counts 229 * are retrieved by a direct SQL query. This change means that the filter in this class on `comments_clauses` ensures that 230 * our comments we hide & don't count in the comments management UI are already excluded and we do not need to filter 231 * `wp_count_comments` to subtract our comments. 232 * 233 * @since 6.6.0 234 * 235 * @return boolean Returns `true` on WP earlier than 6.0 and `false` on 6.0 and later. 236 */ 237 private static function should_modify_comment_counts() { 238 global $wp_version; 239 return version_compare( $wp_version, '6.0-src', '<' ); 240 } 241 242 /** 220 243 * Remove order notes from the count when counting comments 221 244 * … … 236 259 * Fix issue encountered when $stats is an empty array. 237 260 * Modify the stats generation method. 261 * @since 6.6.0 Will throw `_doing_it_wrong()` when run on WP 6.0 or later and return the input `$stats` unchanged. 262 * 263 * @todo This method can be safely deprecated once support is dropped for WordPress 6.0. 238 264 * 239 265 * @param stdClass|array $stats Empty array or a stdClass of stats from another plugin. … … 253 279 public static function wp_count_comments( $stats, $post_id ) { 254 280 281 // If someone calls this directly on 6.0 or later notify them and return early. 282 if ( ! self::should_modify_comment_counts() ) { 283 _doing_it_wrong( __METHOD__, 'This method should not be called on WordPress 6.0 or later.', '6.6.0' ); 284 return $stats; 285 } 286 255 287 // Don't modify when querying for a specific post. 256 288 if ( 0 !== $post_id ) { -
lifterlms/trunk/includes/class.llms.engagements.php
r2690931 r2728787 6 6 * 7 7 * @since 2.3.0 8 * @version 6. 0.08 * @version 6.6.0 9 9 */ 10 10 … … 343 343 344 344 /** 345 * Parse incoming hook / callback data to determine if an engagement should be triggered from a given hook 345 * Parse incoming hook / callback data to determine if an engagement should be triggered from a given hook. 346 346 * 347 347 * @since 6.0.0 348 * @since 6.6.0 Fixed an issue where the `lifterlms_external_engagement_query_arguments` filter 349 * would not trigger if a 3rd party registered a trigger hook. 348 350 * 349 351 * @param string $action Action hook name. … … 365 367 ); 366 368 367 // Verify that it's a supported hook. 369 /** 370 * Allows 3rd parties to hook into the core engagement system by parsing data passed to the hook. 371 * 372 * @since 2.3.0 373 * 374 * @param array $parsed { 375 * An associative array of parsed data used to trigger the engagement. 376 * 377 * @type string $trigger_type (Required) The name of the engagement trigger. See `llms_get_engagement_triggers()` for a list of valid triggers. 378 * @type int $user_id (Required) The WP_User ID of the user who the engagement is being awarded or sent to. 379 * @type int $related_post_id (Optional) The WP_Post ID of a related post. 380 * } 381 * @param string $action The name of the hook which triggered the engagement. 382 * @param array $args The original arguments provided by the triggering hook. 383 */ 384 $filtered_parsed = apply_filters( 385 'lifterlms_external_engagement_query_arguments', 386 $parsed, 387 $action, 388 $args 389 ); 390 // If valid, return the filtered parsed data. 391 if ( isset( $filtered_parsed['trigger_type'] ) && isset( $filtered_parsed['user_id'] ) ) { 392 return $filtered_parsed; 393 } 394 395 // Verify that the action is a supported hook. 368 396 if ( ! in_array( $action, $this->get_trigger_hooks(), true ) ) { 369 /** 370 * Allows 3rd parties to hook into the core engagement system by parsing data passed to the hook. 371 * 372 * @since Unknown 373 * 374 * @param array $parsed { 375 * An associative array of parsed data used to trigger the engagement. 376 * 377 * @type string $trigger_type (Required) The name of the engagement trigger. See `llms_get_engagement_triggers()` for a list of valid triggers. 378 * @type int $user_id (Required) The WP_User ID of the user who the engagement is being awarded or sent to. 379 * @type int $related_post_id (Optional) The WP_Post ID of a related post. 380 * } 381 * @param string $action The name of the hook which triggered the engagement. 382 * @param array $args The original arguments provided by the triggering hook. 383 */ 384 return apply_filters( 385 'lifterlms_external_engagement_query_arguments', 386 $parsed, 387 $action, 388 $args 389 ); 397 return $parsed; 390 398 } 391 399 … … 482 490 483 491 /** 484 * Parse engagement objects from the DB and return data needed to trigger the engagements 492 * Parse engagement objects from the DB and return data needed to trigger the engagements. 485 493 * 486 494 * @since 6.0.0 495 * @since 6.6.0 Fixed an issue where the `lifterlms_external_engagement_handler_arguments` filter 496 * would not trigger if a 3rd party registered an engagement type. 487 497 * 488 498 * @param object $engagement The engagement object from the `get_engagements()` query. … … 502 512 ); 503 513 514 /** 515 * Enable 3rd parties to parse custom engagement types. 516 * 517 * @since 2.3.0 518 * 519 * @param array $parsed { 520 * An associative array of parsed data used to trigger the engagement. 521 * 522 * @type string $handler_action (Required) Hook name of the action that will handle awarding the sending the engagement. 523 * @type array $handler_args (Required) Arguments passed to the `$handler_action` callback. 524 * } 525 * @param object $engagement The engagement object from the `get_engagements()` query. 526 * @param int $user_id WP_User ID who will be awarded the engagement. 527 * @param int $related_post_id WP_Post ID of the related post. 528 * @param string $event_type The type of engagement event. 529 */ 530 $filtered_parsed = apply_filters( 531 'lifterlms_external_engagement_handler_arguments', 532 $parsed, 533 $engagement, 534 $trigger_data['user_id'], 535 $trigger_data['related_post_id'], 536 $engagement->event_type 537 ); 538 // If valid, return the filtered parsed data. 539 if ( isset( $filtered_parsed['handler_action'] ) && isset( $filtered_parsed['handler_args'] ) ) { 540 return $filtered_parsed; 541 } 542 543 // Verify that the engagement event type is supported. 504 544 if ( ! array_key_exists( $engagement->event_type, llms_get_engagement_types() ) ) { 505 /** 506 * Enable 3rd parties to parse custom engagement types 507 * 508 * @since Unknown 509 * 510 * @param array $parsed { 511 * An associative array of parsed data used to trigger the engagement. 512 * 513 * @type string $handler_action (Required) Hook name of the action that will handle awarding the sending the engagement. 514 * @type array $handler_args (Required) Arguments passed to the `$handler_action` callback. 515 * } 516 * @param object $engagement The engagement object from the `get_engagements()` query. 517 * @param int $user_id WP_User ID who will be awarded the engagement. 518 * @param int $related_post_id WP_Post ID of the related post. 519 * @param string $event_type The type of engagement event. 520 */ 521 return apply_filters( 522 'lifterlms_external_engagement_handler_arguments', 523 $parsed, 524 $engagement, 525 $trigger_data['user_id'], 526 $trigger_data['related_post_id'], 527 $engagement->event_type 528 ); 545 return $parsed; 529 546 } 530 547 -
lifterlms/trunk/includes/class.llms.post.relationships.php
r2690931 r2728787 131 131 $earned_engagement, 132 132 ), 133 ' [version]',133 '6.0.0', 134 134 '', 135 135 __( 'Use WordPress core `before_delete_post` action hook', 'lifterlms' ) … … 157 157 $earned_engagement, 158 158 ), 159 ' [version]',159 '6.0.0', 160 160 '', 161 161 __( 'Use WordPress core `deleted_post` action hook.', 'lifterlms' ) -
lifterlms/trunk/includes/forms/controllers/class.llms.controller.account.php
r2683286 r2728787 6 6 * 7 7 * @since 3.7.0 8 * @version 5.9.08 * @version 6.6.0 9 9 */ 10 10 … … 382 382 * @since 5.0.0 383 383 * @since 5.9.0 Stop using deprecated `FILTER_SANITIZE_STRING`. 384 * @since 6.6.0 Prevented client and server caching of the password reset form page. 384 385 * 385 386 * @return void … … 393 394 $val = sprintf( '%1$d:%2$s', $uid, wp_unslash( llms_filter_input_sanitize_string( INPUT_GET, 'key' ) ) ); 394 395 396 ( new LLMS_Cache_Helper() )->maybe_no_cache(); 395 397 llms_set_password_reset_cookie( $val ); 396 398 llms_redirect_and_exit( add_query_arg( 'reset-pass', 1, llms_lostpassword_url() ) ); -
lifterlms/trunk/includes/models/model.llms.user.certificate.php
r2711689 r2728787 728 728 'llms_certificate_use_legacy_template', 729 729 array( false, $this ), 730 ' [version]',730 '6.0.0', 731 731 '', // There is no direct replacement. 732 732 __( 'Loading custom HTML from the certificate template is deprecated. All HTML should be added to the certificate directly via the editor or applied via post content filters.', 'lifterlms' ) -
lifterlms/trunk/includes/traits/llms-trait-student-awards.php
r2690931 r2728787 114 114 * Retrieve certificates that the student has been awarded. 115 115 * 116 * The default behavior of this method is deprecated since version [version]. The previous behavior116 * The default behavior of this method is deprecated since version 6.0.0. The previous behavior 117 117 * is retained for backwards compatibility but will be removed in the next major release. 118 118 * -
lifterlms/trunk/languages/lifterlms.pot
r2722171 r2728787 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: LifterLMS 6. 5.0\n"5 "Project-Id-Version: LifterLMS 6.6.0\n" 6 6 "Report-Msgid-Bugs-To: https://lifterlms.com/my-account/my-tickets\n" 7 7 "Last-Translator: Team LifterLMS <team@lifterlms.com>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2022-05- 11T11:23:16-06:00\n"12 "POT-Creation-Date: 2022-05-23T10:13:59-06:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: llms/dev 0.0.4-alpha.1\n" … … 2510 2510 msgstr "" 2511 2511 2512 #. Translators: %s: Post title.2513 2512 #: includes/admin/post-types/post-tables/class-llms-admin-post-table-awards.php:117 2514 2513 #: includes/admin/post-types/post-tables/class-llms-admin-post-table-awards.php:322 … … 4034 4033 msgstr "" 4035 4034 4036 #. Translators: %d = the number of pending batches.4037 4035 #: includes/admin/tools/class-llms-admin-tool-batch-eraser.php:44 4038 4036 msgid "There is currently %d pending batch that will be deleted." … … 4078 4076 msgstr "" 4079 4077 4080 #. Translators: %d = the number of pending batches.4081 4078 #: includes/admin/tools/class-llms-admin-tool-limited-billing-order-locator.php:134 4082 4079 msgid "There is %d order that should be reviewed." … … 4097 4094 msgstr "" 4098 4095 4099 #. Translators: %d = the number of pending batches.4100 4096 #: includes/admin/tools/class-llms-admin-tool-recurring-payment-rescheduler.php:46 4101 4097 msgid "There is %d order that will be checked." … … 8176 8172 #. Translators: %s = field label or id. 8177 8173 #: includes/forms/class-llms-form-validator.php:490 8178 #: includes/forms/controllers/class.llms.controller.account.php:42 58174 #: includes/forms/controllers/class.llms.controller.account.php:427 8179 8175 msgid "%s is a required field." 8180 8176 msgstr "" … … 8262 8258 msgstr "" 8263 8259 8264 #: includes/forms/controllers/class.llms.controller.account.php:4 388260 #: includes/forms/controllers/class.llms.controller.account.php:440 8265 8261 msgid "The submitted passwords do must match." 8266 8262 msgstr "" -
lifterlms/trunk/lifterlms.php
r2722171 r2728787 11 11 * Plugin URI: https://lifterlms.com/ 12 12 * Description: LifterLMS is a powerful WordPress learning management system plugin that makes it easy to create, sell, and protect engaging online courses and training based membership websites. 13 * Version: 6. 5.013 * Version: 6.6.0 14 14 * Author: LifterLMS 15 15 * Author URI: https://lifterlms.com/ … … 18 18 * License: GPLv3 19 19 * License URI: https://www.gnu.org/licenses/gpl-3.0.html 20 * Requires at least: 5. 521 * Tested up to: 5.922 * Requires PHP: 7. 320 * Requires at least: 5.6 21 * Tested up to: 6.0 22 * Requires PHP: 7.4 23 23 * 24 24 * * * * * * * * * * * * * * * * * * * * * * -
lifterlms/trunk/readme.txt
r2722171 r2728787 5 5 License: GPLv3 6 6 License URI: https://www.gnu.org/licenses/gpl-3.0.html 7 Requires at least: 5. 58 Tested up to: 5.99 Requires PHP: 7. 310 Stable tag: 6. 5.07 Requires at least: 5.6 8 Tested up to: 6.0 9 Requires PHP: 7.4 10 Stable tag: 6.6.0 11 11 12 12 LifterLMS is a powerful WordPress learning management system plugin that makes it easy to create, sell, and protect engaging online courses and training based membership websites. … … 538 538 539 539 == Changelog == 540 541 = v6.6.0 - 2022-05-23 = 542 543 ##### PHP Minimum Required Version Change 544 545 + **Raised the minimum supported PHP version to 7.4.** 546 547 ##### WordPress Minimum Required Version Change 548 549 + **Raised the minimum supported WordPress core version to 5.6.** 550 551 ##### New Features 552 553 + Added support for WordPress 6.0. 554 555 ##### Bug Fixes 556 557 + Fixed the ability for 3rd party plugins to use the `lifterlms_external_engagement_handler_arguments` and `lifterlms_external_engagement_query_arguments` filters. 558 + Added automatic exclusion of "no cache" pages from the WP Engine server-side cache when using "pretty" permalinks. [#1717](https://github.com/gocodebox/lifterlms/issues/1717) 559 + Stop subtracting LifterLMS order note comments from global comment counts via the `wp_count_comments` filter on WordPress 6.0 and later. See related WordPress Trac ticket [#19901](https://core.trac.wordpress.org/ticket/19901) 560 540 561 541 562 = v6.5.0 - 2022-05-11 = … … 1043 1064 1044 1065 1045 = v5.7.0 - 2022-01-11 =1046 1047 ##### Updates and Enhancements1048 1049 + Informed developers about the deprecated `LLMS_Section::get_next_available_lesson_order()` method.1050 + Informed developers about the deprecated `LLMS_Section::get_order()` method.1051 + Informed developers about the deprecated `LLMS_Section::get_parent_course()` method.1052 + Informed developers about the deprecated `LLMS_Section::set_parent_course()` method.1053 1054 ##### Deprecations1055 1056 + Deprecated `LLMS_Frontend_Assets::enqueue_inline_pw_script()` with no replacement.1057 + Deprecated the `LLMS_Lesson::get_order()` method in favor of the `LLMS_Lesson::get( 'order' )` method.1058 + Deprecated the `LLMS_Lesson::get_parent_course()` method in favor of the `LLMS_Lesson::get( 'parent_course' )` method.1059 + Deprecated the `LLMS_Lesson::set_parent_course()` method in favor of the `LLMS_Lesson::set( 'parent_course', $course_id )` method.1060 + Deprecated the `LLMS_AJAX_Handler::add_lesson_to_course()` method with no replacement.1061 + Deprecated the `LLMS_AJAX_Handler::create_lesson()` method with no replacement.1062 + Deprecated the `LLMS_AJAX_Handler::create_section()` method with no replacement.1063 + Deprecated the `LLMS_Lesson_Handler::assign_to_course()` method with no replacement.1064 + Deprecated the `LLMS_Post_Handler::create_section()` method with no replacement.1065 1066 ##### Updated Templates1067 1068 + [templates/course/lesson-navigation.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/lesson-navigation.php)1069 + [templates/course/lesson-preview.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/lesson-preview.php)1070 + [templates/course/parent-course.php](https://github.com/gocodebox/lifterlms/blob/trunk/templates/course/parent-course.php)1071 1072 1073 1066 [Read the full changelog](https://make.lifterlms.com/tag/lifterlms) -
lifterlms/trunk/vendor/composer/installed.php
r2722171 r2728787 6 6 'install_path' => __DIR__ . '/../../', 7 7 'aliases' => array(), 8 'reference' => ' 4449f450e762ea3b3a3ca89d14d7edef11b946e0',8 'reference' => 'f6ddb86520ed8fea233280be4a5048de79dcf76e', 9 9 'name' => 'gocodebox/lifterlms', 10 10 'dev' => false, … … 35 35 'install_path' => __DIR__ . '/../../', 36 36 'aliases' => array(), 37 'reference' => ' 4449f450e762ea3b3a3ca89d14d7edef11b946e0',37 'reference' => 'f6ddb86520ed8fea233280be4a5048de79dcf76e', 38 38 'dev_requirement' => false, 39 39 ), -
lifterlms/trunk/vendor/composer/platform_check.php
r2625289 r2728787 5 5 $issues = array(); 6 6 7 if (!(PHP_VERSION_ID >= 70 300)) {8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7. 3.0". You are running ' . PHP_VERSION . '.';7 if (!(PHP_VERSION_ID >= 70400)) { 8 $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.'; 9 9 } 10 10
Note: See TracChangeset
for help on using the changeset viewer.