Plugin Directory

Changeset 3009587


Ignore:
Timestamp:
12/13/2023 05:20:01 PM (2 years ago)
Author:
flyplugins
Message:

1.5.0 Release

Location:
woo-commerce-addon-for-wp-courseware
Files:
13 added
3 edited

Legend:

Unmodified
Added
Removed
  • woo-commerce-addon-for-wp-courseware/trunk/includes/class-wpcw-wc-membership.php

    r2946879 r3009587  
    114114                // WC Memberships: De-enroll on status 'expired' and 'cancelled'.
    115115                add_action( 'wc_memberships_user_membership_status_changed', array( $this, 'handle_wc_membership_user_course_status_change' ), 10, 3 );
     116
     117                // WC Teams
     118                add_action( 'wc_memberships_for_teams_add_team_member', array( $this, 'handle_wc_teams_membership_user_course_enrollment' ), 10, 3 );
     119                add_action( 'wc_memberships_for_teams_after_remove_team_member', array( $this, 'handle_wc_teams_membership_user_course_de_enrollment' ), 10, 2 );
    116120
    117121            }
     
    340344                            // the $courseIDToKeep that's the valuable bit.
    341345                            $courseIDList[ $courseIDToKeep ] = $levelID;
    342                             if ( true === apply_filters( 'wpcw_wc_addon_enroll_current_date', false ) ) {
     346                            if ( WPCW_check_course_expiration( $courseIDToKeep ) ){
     347                                if ( true === apply_filters( 'wpcw_wc_addon_enroll_current_date', false ) ) {
    343348                                $enrollment_dates[ $courseIDToKeep ] = current_time( 'timestamp' );
     349                                }
    344350                            }
    345351                        }
    346352                    }
    347353                }
    348                 wpcw_log($enrollment_dates);
    349354            }
    350355            // By this point, $courseIDList may or may not contain a list of courses.
     
    462467                $this->handle_wc_membership_user_course_de_enrollment( $user_membership );
    463468            }
     469        }
     470
     471        /**
     472         * Handle Teams Membership Course Enrollment.
     473         * @param \SkyVerge\WooCommerce\Memberships\Teams\Team_Member $member the team member instance
     474         * @param \SkyVerge\WooCommerce\Memberships\Teams\Team $team the team instance
     475         * @param \WC_Memberships_User_Membership $user_membership the related user membership instance
     476         */
     477        public function handle_wc_teams_membership_user_course_enrollment( $member, $team, $user_membership ) {
     478            $enroll_statuses    = apply_filters( 'wpcw_wc_addon_wc_membership_enroll_statuses', array( 'active', 'complimentary' ) );
     479
     480            if ( in_array( $user_membership->get_status(), $enroll_statuses, true ) ) {
     481                $this->handle_wc_membership_user_course_enrollment( $user_membership );
     482            }
     483        }
     484
     485        /**
     486         * Handle Teams Membership Course De-enrollment.
     487         * @param int $user_id the id of the user (team member)
     488         * @param \SkyVerge\WooCommerce\Memberships\Teams\Team the team instance
     489         */
     490        public function handle_wc_teams_membership_user_course_de_enrollment( $user_id, $team ) {
     491            global $wpdb, $wpcwdb;
     492            $product_id = $team->get_product_id();
     493            $course_ids = array();
     494
     495            $courses = $this->getCourseAccessListForLevel( $product_id );
     496                if ( ! empty( $courses ) ) {
     497                    foreach ( $courses as $course_id => $course_level_id ) {
     498                        $course_ids[] = $course_id;
     499                    }
     500                }
     501
     502            if ( empty( $course_ids ) || ! is_array( $course_ids ) ) {
     503                return;
     504            }
     505
     506            $csv_course_ids = implode( ',', $course_ids );
     507            $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpcwdb->user_courses} WHERE user_id = %d AND course_id IN ({$csv_course_ids})", $user_id ) );
    464508        }
    465509
     
    617661        public function wc_check_wpcw_course_access( $access, $course_id, $user_id, $ignore = false ) {
    618662            global $wpdb, $wpcwdb;
     663
     664            if( 'WPCW_showPage_UserProgess' === wpcw_get_var( 'page' ) ) {
     665                return $access;
     666            }
    619667
    620668            $post = get_post($course_id);
  • woo-commerce-addon-for-wp-courseware/trunk/readme.txt

    r2949019 r3009587  
    44Tags: learning management system, selling online courses
    55Requires at least: 4.8
    6 Tested up to: 6.2.2
    7 Stable tag: 1.4.9
     6Tested up to: 6.4.2
     7Stable tag: 1.5.0
    88License: GPLv3
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    7474
    7575== Changelog ==
     76
     77= 1.5.0 =
     78* New: Teams for WooCommerce Memberships integration
     79* Tweak: Modified retroactive enrollment to utilize batch process in order to accomodate a large number of students
     80* Tweak: Only display courses associated with product on the WooCommerce & Automatic Course Access Settings page
     81* Fix: Fixed so that only enrolled courses will display on the Detailed Student Progress Report page for a single student
    7682
    7783= 1.4.9 =
  • woo-commerce-addon-for-wp-courseware/trunk/wp-courseware-woo-commerce.php

    r2949019 r3009587  
    22/**
    33 * Plugin Name: Woo Commmerce Addon for WP Courseware
    4  * Version:     1.4.9
     4 * Version:     1.5.0
    55 * Plugin URI:  http://flyplugins.com
    66 * Description: The official extension for WP Courseware to add integration for WooCommmerce.
     
    1212 *
    1313 * @package WPCW_WC_Addon
    14  * @since 1.4.9
     14 * @since 1.5.0
    1515 */
    1616
     
    1919
    2020// Constants.
    21 define( 'WPCW_WC_ADDON_VERSION', '1.4.9' );
     21define( 'WPCW_WC_ADDON_VERSION', '1.5.0' );
    2222
    2323/**
Note: See TracChangeset for help on using the changeset viewer.