/** * EnrollUserToCourse. * php version 5.6 * * @category EnrollUserToCourse * @package SureTriggers * @author BSF * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3 * @link https://www.brainstormforce.com/ * @since 1.0.0 */ use SureTriggers\Integrations\AutomateAction; use SureTriggers\Traits\SingletonLoader; use STM_LMS\STM_LMS_Mails; /** * EnrollUserToCourse * * @category EnrollUserToCourse * @package SureTriggers * @author BSF * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3 * @link https://www.brainstormforce.com/ * @since 1.0.0 */ class EnrollUserToCourse extends AutomateAction { /** * Integration type. * * @var string */ public $integration = 'MasterStudyLms'; /** * Action name. * * @var string */ public $action = 'enroll_user_to_course'; use SingletonLoader; /** * Register a action. * * @param array $actions actions. * @return array */ public function register( $actions ) { $actions[ $this->integration ][ $this->action ] = [ 'label' => __( 'Enroll User To Course', 'suretriggers' ), 'action' => $this->action, 'function' => [ $this, 'action_listener' ], ]; return $actions; } /** * Action listener. * * @param int $user_id user_id. * @param int $automation_id automation_id. * @param array $fields fields. * @param array $selected_options selectedOptions. * @psalm-suppress UndefinedMethod * @throws Exception Exception. * * @return array|bool|void */ public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) { $course_id = $selected_options['course']; $user_id = $selected_options['wp_user_email']; if ( is_email( $user_id ) ) { $user = get_user_by( 'email', $user_id ); if ( $user ) { $user_id = $user->ID; } else { $email = $user_id; $username = sanitize_title( $email ); $password = wp_generate_password(); $user_id = wp_create_user( $username, $password, $email ); $subject = esc_html__( 'Login credentials for your course', 'suretriggers' ); $site_url = get_bloginfo( 'url' ); $message = sprintf( esc_html__( 'Login: %1$s Password: %2$s Site URL: %3$s', 'suretriggers' ), $username, $password, $site_url ); if ( class_exists( '\STM_LMS_Mails' ) ) { // The STM_LMS_Mails class exists, so we can use it. \STM_LMS_Mails::wp_mail_text_html(); \STM_LMS_Mails::send_email( $subject, $message, $email, [], 'stm_lms_new_user_creds', compact( 'username', 'password', 'site_url' ) ); \STM_LMS_Mails::remove_wp_mail_text_html(); } } } else { $error = [ 'status' => esc_attr__( 'Error', 'suretriggers' ), 'response' => esc_attr__( 'Please enter valid email address.', 'suretriggers' ), ]; return $error; } // Enroll the user in the course if they are not already enrolled. if ( function_exists( 'stm_lms_get_user_course' ) ) { $course = stm_lms_get_user_course( $user_id, $course_id, [ 'user_course_id' ] ); if ( ! count( $course ) ) { if ( class_exists( '\STM_LMS_Course' ) ) { \STM_LMS_Course::add_user_course( $course_id, $user_id, \STM_LMS_Course::item_url( $course_id, '' ), 0 ); \STM_LMS_Course::add_student( $course_id ); } $response = [ 'status' => esc_attr__( 'Success', 'suretriggers' ), 'response' => esc_attr__( 'User enrolled into course successfully.', 'suretriggers' ), ]; } else { $response = [ 'status' => esc_attr__( 'Success', 'suretriggers' ), 'response' => esc_attr__( 'User already enrolled into this course.', 'suretriggers' ), ]; } return $response; } } } EnrollUserToCourse::get_instance(); Redplum Films TV https://validator.w3.org/feed/docs/rss2.html Home Us No deposit Bonus Online casinos April 2026 The new Bonus stu złotych bez depozytu od momentu Fontan Casino Bezpłatne Bonusy spośród Promo Code No deposit Bonus Best Casino Free Ports No deposit Bonuses No deposit Casino Bonuses Free Spins to have Online Players 2026 The new No deposit Casino Bonus Codes The new Free Spins 2026 Best Online casino No deposit Bonuses No deposit Bonus Codes & Free Spins Updated Every day Skrill is recognized for its speedy transactions, and you will distributions usually hit-in 1�several days Private Bonuses Updated Every day Krajowe Kasyno przez internet oraz premia odwiedź owe witrynę wyjąwszy depozytu w początek w 2025 r Partner2Connect No deposit Casino Bonuses Best Also offers Out of 2026 Best No deposit Bonuses Annual percentage rate 2026 $fifty Free Best No deposit Bonus Casinos 2026 Play Online Rather than Spending Social Casino games Play with Free Every day Gold coins Ports Deposit Bonus Uk موقع الأول نيوز الأخباري Spin City Casino Renomę Win Big at the Sloto’Cash that have a good $7777 Bonus And, don’t let yourself be amazed in the event that casino asks for ID verification Real money Game Casino 60 No deposit Bonus Is just a marketing Gimmick, Not a golden Ticket Free online Ports: Play Casino Slot machines For fun Zestawienia fachowców Safe Casino Log on Interest Required! Cloudflare SlotsandCasino Done Comment A safe United kingdom internet casino retains an effective Uk Gambling Fee license, promising reasonable play and protection SlotsandCasino Comment 2026: Game, Bonuses, and more An informed Us Slot Sites & Real money Online slots to have 2026 Kasyna internetowego wyjąwszy depozytu na terytorium polski 2026 Leading Casino Gambling Book to have 30+ Years SlotsandCasino Comment 2026 Take A good $step 1,5K Bonus + Free Spins Online casino Scams Opened: How to Place, Stop, & Recover from Scam The truth about Online slots Debunking Best Slot Rumors When you’re there are many downsides, they will not overshadow the great factors Best Online casino Reviews 2026: Award winning Online casinos Best online casinos for real currency: Choosing the big online casino to have 2026 Bonusy wyjąwszy depozytu Best Real money Online casinos: Leading United states Casino Sites 2026 Casino Reviews Check if an online casino is legit or not Play 21,700+ Free online Casino games No Download Najpozytywniejsze lokalne kasyna przez internet Zestawienia 2026 i przewodnik! Play 20,000+ Free Casino games No Download, No Subscription! The newest analysis complete implies that customer happiness try in person linked to customers respect having local casino participants Short Hit Casino Ports Game Apps on google Play Free online Ports: Play Casino Slot machines For fun Leading Casino Gambling Book to have 30+ Years Bieżące Kasyno Bonus bez Depozytu po Nasz kraj 2026 145 promocji Play Slot Game Online Best Online slots Discover licensed and you can top gambling on line providers in america