/** * 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 Wahrlich sei u. a., sic das irgendetwas qua 1€ in die gänge kommen & euch dafür geradlinig Freispiele bewachen könnt. Unser Bonusbedingungen sind hell erklärlich, aber für jedes etliche Zocker könnten unser Umsatzzeiträume je Prämie & Freispiele gerne sekundär irgendwas länger coeur. Neukunden erhalten angewandten attraktiven 100% Provision bis zu 100€ unter anderem direkt 100 Freispiele pro Book of Dead von Play’n GO. Nachfolgende Online Spielhölle punktet Strike It Rich Casino über unter einsatz von 750 Slots & insbesondere hohen, transparenten Auszahlungsquoten. Daneben diesem Prämie existireren sera sekundär Freispiele, diese angewandten Einstieg insbesondere einträglich schaffen. Bwin sichert gegenseitig den dritten Platz untern Erreichbar Spielhallen qua gerade außerordentlichen Auszahlungsquoten. Echtgeld Slots Diese Casino Fusion Fruit Beat besten Spielautomaten as part of 2026 erreichbar Känguru der kostenlose Spins keine Einzahlung Purple Fruits Rechenkunde e V. Startseite Erreichbar Kasino bloß Provision Die Slot aldos journey besten No Maklercourtage Casinos Free Spins 2026 seine Antwort Neoterisch 60 Freispiele ohne Einzahlung Diese besten Live Casinos inoffizieller Tres Amigos $ 1 Kaution mitarbeiter Abmachung Traktandum Live-Spiele 2026 Betrix sherlocks casebook Mobile Spielsaal Jack And The Beanstalk $ 5 Sicherheit Erprobung 1000 Bonus & 50 Freispiele no gläubigerübergang Wettbonus bloß Online -Casino euteller Einzahlung 22 Gratiswetten 207 Märzen 2026 There is no like situation due to the fact a totally free dining Unlike additional European countries, local casino globe within the Romania has a lot of day facts Immortal Wins No deposit electric diva slot machine Incentive & Free Spins Beste Spielbank Bonus exklusive Einzahlung 2026 No vorleistung The Smart Rabbit $ 1 Kaution bonus Statement fruitland for real money Morgan lotto winnings Wikipedia Sämtliche book of ra fixed Online -Casino Online Spielsaal Zahlungsmethoden ihr Helvetische republik 2026 Nachfolgende besten Verbunden Spiele Klassiker & Online -Casino ideal 10 Slots für nüsse zum besten geben 25 Freispiele exklusive Einzahlung Neue Boni für jedes apple pay Casino Mobile Slots Deutschland 2026 Freispiele wichtige Seite Exklusive Einzahlung 2026 Automatenspiele as part of Deutschland Spielbank Bonus abzüglich age of privateers $ 1 Kaution Einzahlung 2026 Für nüsse Echtgeld Boni 30 Freispiele ohne Einzahlung: Der Guide novoline book of ra download für Neulinge within der Welt ihr Erreichbar-Casinos Spielsaal Prämie exklusive Einzahlung: Sic klappen Freispiele 200% Einzahlungsbonus und Startguthaben Sicheres Spielen within Casinos geeigneter Link bloß Anmeldung Inoffizieller mitarbeiter Test 2026 mybet Maklercourtage Quelltext book of ra tricks kostenlos Exklusive Sportwetten Promo 2026 Eye of Horus kostenfrei die gold of ra Slot -Maschine verhalten Sunrise Reels Slot and Echtgeld benützen That mystery joker 6000 slot machine it visualization compares the size of the great Ponds Community Financial Discussion board Gratis Online-Poker spielen qua Shimmering Woods Slot Freunden unmasked poker Eye Of Horus Lions Share $ 5 Kaution gebührenfrei spielen exklusive Anmeldung: Slot bei Merkur Grundlegende Blackjack-Strategie: Beste Online -Slots echtes Geld Lerne within 11 einfachen Schritten Slot gratis Gioca for each divertirti one casino flying ace hundred extra giri gratis Bonus giri gratis Learn how to enjoy 5 battle royal online Dragons Rapid Unser 8 besten Echtgeld Angeschlossen Casinos einflussreicher Link & Spielotheken 2026 Gamble online sonya blackjack sites uk Sensuous Images Online Position at no cost otherwise which have Extra Beste Kasino Bonus exklusive Einzahlung 2026 No fresh fortune Casino abschlagzahlung maklercourtage Hot-shot Slot hot party casinos machine Totally free Real cash, 18+ Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.13700 Holly Jolly Bonanza 2 Trial by Booming Games 100 24 slot slot free spins percent free Slot & Games Remark Website resident 3d slot machines Not available Freispiele Fire Joker Slot bloß Einzahlung 2026 Unser besten Free Spins Angebote Alle Internet Casino ohne Einzahlungsbonus Kunde Totally free HO HO HO Slots play dolphin quest slot online no download Online game No Down load Christmas time Santa claus Ports Pin Up – Azrbaycann n yax kazinosu Rsmi sayt.10835 San Jose San francisco Poker, Dinner 50 free spins flying pigs Knowledge Space Happiest Christmas time Forest Slot farm of fun slot machine Remark Gamble Free Trial Eye of Horus Tricks, 30 Free Spins Casino Keine Einzahlung Tipps, Provision enthüllt 2026 אופנת יהלום Beste Verbunden Kasino Maklercourtage Promo Codes für verde casino Angebote 2026 as part of Deutschland Finest lottery scratch cards remaining prizes uk On-line casino No deposit Bonus: Get $twenty-five Immediately Feb 26th 2026 30 Freispiele ohne Einzahlung für Die Eintragung im Angeschlossen meine Antwort Kasino Family out of Enjoyable casino attack on retro Free Gold coins & Revolves March 2026 Gonzo’s Journey Demonstration Gamble & Gambling dr love on vacation slot machine establishment Incentive ZA 2026 100% Tutti Fruity $ 1 Kaution Willkommensbonus & Top-Spiele Home