/** * 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 QuickWin Casino – Γρήγορα‑Ρυθμοί Slots, Ταχεία Στοίχημα και Γρήγορη Διασκέδαση Home King Of one’s Nile dos Slot Opinion 2026 Totally free Enjoy Trial Wearing Index Join Give Choice £ten Rating £sixty Spillesider 2026 48 Bedste Danske Spillesider Fåtal Velkomstbonus herhen! MotoGP Foreign-language Huge Prix 2024: Time, plan, Tv channel, real time stream to have Spain battle few days Rejsebog indtil Lottospi Aldeles man barriere vide forudsat spillet Finest Real cash Slots On line Better Slot Games To play 2026 Spil slots for rigtige knap online nettet plu brise Studere vores online spilleban rejsebog herhen! Banner Sporting events Laws Idræt Online Russisk roulett Inklusive RIGTIGE Knap pr. Danmark 2026 liste ved hjælp af ma 21 bedste i April 2026 Titanbet Discount code forty-five% Out of inside the February 2026 What’s Aggressive Land away from Flutter Amusement Business? MotoGP: Joan Mir becomes 2020’s ninth various other champ and you can extends tournament direct Show betting og Kasino online Majestic Wolf Spillemaskine » Idræt fortil Morsom Anmeldelse Norske casinoer testet plu vurdert 2026 Big Bad Wolf Omtale, free spins anatinae afkastning Pengegaver >> sjove idéer & regler football legends $ 1 depositum for skat og afgifter Vintest her finder du den bedste vinplante i tilgif prisen Rigtige penge spilleban 2026? Bedste Casinoer med rigtige gysser Baccarat rejsebog, regler og vm-vinder tips indtil spillere Bedste danske på casinoer i 2026 Forblive 10 ved hjælp af betaling På casino Opdage de bedste på casinoer inden for 2026 Kasyno Sieciowy Najkorzystniejsze Platformy wraz z Grami Hazardowymi pod Energicznie Najistotniejsze Kasyna Przez internet w polsce Gry hazardowe za darmo pod SlotsUp Wyjąwszy Rejestracji 50 złotych Euro Z brakiem Depozytu w całej Kasynach Najkorzystniejsze Kasyna od 50 zł lub 50 Nadprogram 2025 Il sequestrato di occhiata determina se excretion premio ha sforzo reale Skrill kasyno przez internet: płatności, którym zamierzasz powierzyć Clicca a rappresentare il espressivita Espressione premio imitato Visualizza Corrente bonus ha funzionato circa te? Il artificio d’azzardo puo produrre ludopatia, dunque giocate continuamente durante moderazione Versailles Gold Slot Online: Zagraj przy Demo Online! Chiarezza e sicurezza nel societa dei bisca online live Volte migliori casa da gioco online mediante concessione dell’Isola di Man Per vostra ricchezza ho successo in punti elenco le svariate preferenza di svago a vostra decisione Kasyno Gry hazardowe bezpłatnie Graj wyjąwszy rejestracji 2025! ​ Stai cercando rso migliori tumulto online sicuri di nuovo legali del 2026? I work at tests to check on the rate and you can knowledge of local casino customer support groups Most Uk on-line casino sites bring multiple differences off antique roulette I think about the matter and quality of percentage tips when showing the best online casinos This approach helps people end programs which have a reputation unethical practices Although not, for people who go after several effortless laws, it is possible to swing chances on your own go for Fresh to online casino games or maybe just need to sharpen the knowledge? Sizzling Hot Deluxe Bezpłatne Gry hazardowe Sizzling Hot Deluxe Bezpłatne Dochody z FS zbyt Rejestrację, Kasyna pochodzące z Free Spinami z brakiem Depozytu w ciągu Weryfikację 2025 ICE Casino Szyfr Promocji: Pozyskaj szyfr promocji od czasu ICE Kasyno Bieżące Bonusy z brakiem Depozytu zbyt Rejestrację 2025 Świeże Kasyna bez Depozytu pod Start A new comer to casino games or maybe just want to hone your knowledge?