/** * 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 No KYC casinos full guide and rankings of online casinos without KYC verification.991 Novos casinos online em Portugal mtodos de pagamento e levantamentos rpidos.1148 Bison casino logowanie bezpieczny dostp do kasyna online.5624 Novos casinos legais online Portugal ranking dos melhores casinos online.581 Bison kasyno gry slot i live casino w kasynie online.6124 Mobile Online Casinos Schweiz.4508 (2) No KYC crypto casinos best platforms for anonymous gambling without KYC.12 Novos casinos online Portugal avaliaes e opinies dos jogadores.265 Vip Casino: Quick‑Play Slots, Live Action, and Instant Wins Glutamin Peptider: Positive Effekter og Fordele Kasyno online Vulkan Vegas Recenzja.2428 (3) Kasyno online Vulkan Vegas Recenzja.1635 Online Casinos in sterreich mit schnellen Auszahlungen.1886 Online Casinos in sterreich mit schnellen Auszahlungen.1541 Kasyno online jakie metody patnoci s dostpne.1456 (2) Kasinot ilman rekisteritymist bonukset ja tarjoukset ilman tili.2184 Basic Jordan Brand �Realm of Flight’ shop toward U.S. opens up inside Philly Bar Gambling establishment put-out in to the 2023 and you can currently has an impressive assortment more dos,100 British position online game Wagers a real income to play internet sites for Romania An informed on-line casino Zimpler inside Switzerland 2024 Throughout the examining the terms and conditions, we discover which free revolves hold legitimate value How Canadian Public Safety Perform Shelter Online Gamblers We’ve the new the modern very ines you are aware and you can also like – after which certain Maximising The latest Bankroll Which have A real income Gambling enterprise Bonuses Guide complet du casino en ligne : tout ce que vous devez savoir en 2026 Things to be cautious about and when gaming online Play the finest online slots games towards the markets at SpaceCasino cuatro. Red-dog � Versatile Incentive Redemption having Lower Betting and you may Crypto Accelerates A fast Publication on how best to Play on range Roulette These are typically a well-known choice for members having a giant bankroll, as they have the opportunity to has actually higher professionals Baccarat – because revealed of your Seymour about 1897 Short Strike Casino is ready to smack the area and you will establish their era out-of enjoyable that have major wins! My Decision: Comparing the new Five Better Gambling enterprise Websites I tried Die Besten Verbunden Spielsaal ohne OASIS vortragen abzüglich Sperrdatei Kasinot ilman rekisteritymist tydellinen opas ja vertailu kasinoista.1450 Casino non AAMS in Italia differenze con i casin AAMS.5164 Lieve In Geld Casinos Pro Nederland 2026 Eye of Horus Gratis zum besten laden verde spielsaal-App verhalten abzüglich Anmeldung Partner2Connect Beschermd storten gedurende online goksites Vavada casino deposits and withdrawals at the online casino.2797 100 Freispiele schnell in Registrierung Over eigenlijk poen gokken plus storten Spielsaal Bonus ohne Einzahlung März 2026 Spel ofwe Gladiators Speculeren waarderen Gokkasten, online kasteel, kosteloos gokkast en Fruitautomaten Freispiele exklusive Einzahlung 2024 pro erfolgreiche and neue Slots Feuerwerk online anschaffen inoffizieller mitarbeiter 5 Feuerwerk Onlineshop No Deposit Premie Casino Nederland: JACKS NL Prämie ohne Einzahlung Top Kasino Angebote abzüglich Aussicht nützlichkeit 2025 De uitgelezene free spins toeslag 2025 lll Noppes spins bij aanmelding Home