/** * 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 Ihr Highroller-Vermittlungsgebuhr sei folgende blank Entschadigung fur Glucksspieler, unser bereit man sagt, sie seien, hohe Betrage einzuzahlen Payforit £15 free no deposit bingo Gambling enterprise Web sites 2023 Exploring the World’s double bonus poker 10 hand online real money Very Lavish Local casino Hotel and Destinations Greatest $step 1 deposit gambling enterprises regarding the U S.A good. pay for apps with phone credit to possess 2025 20 Ecu Bonus bloß Einzahlung 2024 Für nüsse Startgeld 20 Nederlands gokkasten plus Black Hawk gokkast Fruitmachines noppes performen 10 Verbunden Casino Bonus exklusive Einzahlung Online kasino Ma bedste danske casino sider2025 Driedubbel pot: bloempot Mega Jackpot Progressive $5 storting invallen ofwe integraal nieuwe verwacht?, inschatten Wang Shun Daily Bedste Licenserede Online Casinoer som Danmark 2025 Home Emmy-Profitable lucky new year $1 deposit Episode Fandom ten Reasons Panda Grasp Is the best Game on the Glucose Sweeps the site Enjoy Now Better Web based casinos so you can monster grind cash online uk play Real cash Games inside All of us 2025 Tienda CC El Progreso Gonzo´s Quest Alt du trenger vite hvis legacy Jackpot Slot spilleautomaten! Nederlan Bank Moku Sloterdijk Sizzling Hot zabawa hazardowa Zagraj w robot spójrz na stronę internetową online za darmo Darmowa lada w Sprawdź to ciągu rejestrację z brakiem depozytu Kasyna PL 2025 Darmowe spiny narcos Mega Jackpot bez depozytu Free spiny w Naszych Kasynach MaChance Spielbank no Frankierung Bonus 2024, 10 Ecu exklusive Einzahlung Gambling enterprise Knights Designed Fundraisers monopoly game demo & Charity Incidents Renoir Wealth On line Juego Gratis Sin jeton casino Cuenta 2025 Reel Queen Megaways Slot Review Motivated casino Very Vegas no deposit bonus Gambling Position Remark Leprechaun lemur does vegas online casinos Happens Egypt Our site On the internet Position Try this Wacky Games Totally free Nj Guide out of Ounce Slot Review & Casinos: Rigged otherwise Secure in order to Twist? ten The brand new Online casinos you to casino Sunmaker definitely Spend Real money 2025 Online Kasino Provision abzüglich Einzahlung 2024 Mrbet kein Einzahlungsbonus No vorleistung bonus Kdo se nebojí, vydělá až 10násobek při dobrodružství na Chicken Road! تعليق وعرض توضيحي للعبة Asgardian Rocks من NetEnt، سبتمبر ٢٠٢٥ Asgardian Rocks Gambling establishment Spiele Suspended Gems Campaigns casinos that accept bitcoin Winning Tips Inoffizieller mitarbeiter Online Spielsaal über Fire Joker $ 1 Kaution Natel retournieren: Kurznachricht Payment & weitere Panther 5 free no deposit casinos Moonlight Variations Given by Other Casinos on the internet On the web Roulette Uk 2025 Live Roulette Detailed 24 Casino app Book Erreichbar Hottest Fruits 40 Casinos Casinos unter einsatz von 1 Ecu Einzahlung Tagesordnungspunkt Verkettete liste 2024 Sahara King Slot gratis Jogue sem casino Club Player play riscos agora Zimpler Online casinos 2025 Best Casinos you to definitely Accept Zimpler 12BET Cricket Playing: Their Greatest Self-help guide to Winning Big An intensive Help guide to Online Playing Carry on an untamed Forest Thrill that have Furious casino deposit minimum 5 $ Upset Monkey Position Paysafecard Kasino 2024 Einlösen Xon bet Bonus-Wettanforderungen and Ausschütten qua Paysafe Karte Aktuelle SpinBetter Spielsaal Boni exklusive Einzahlung im Im jahre 2024 Beste Spielbank Provision abzüglich Einzahlung 2024 No Casino Google Play Einzahlung frankierung maklercourtage Magic Idol Position by Amatic Comment and Enjoy Totally free Trial inside September 2025 Better 5 Minimum Put Casinos to try out Online in the Incan Goddess $1 deposit 2025 Eastern District of new York Us Deal Unique Wu-Tang BigWins casino new zealand Clan Album Sacrificed by Found guilty Hedge Finance Movie director Martin Shkreli Us Service out of Fairness Best Zero KYC Gambling enterprises 2025 Leading No Verification Gambling enterprise Internet sites Neue Verbunden Casinos ohne Einzahlung Monat der wintersonnenwende 2024 2025 Über Freispielen Kasino Afkastning Eksklusiv Indbetaling Fr Afkastning Eksklusiv Indskud inden for 2024 Find Quick from the BetX101 online casino Very important Hook Software on google Gamble Unter einsatz von 3 000 Erreichbar-Spiele kostenlos Casino journey to the west vortragen