/** * 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 موانئ وقت عيد الميلاد استمتع بموانئ مستوحاة من عيد الميلاد مجانًا تمامًا Pride Affiliates Added bonus bucks works best once you treat it in a different way in the money you spend yourself New york gets their very first 3 Las vegas-style casinos Rating instructions and tell you pathways inside Google Maps Computer system Yahoo Maps Assist R2PBet Gambling enterprise cities solid emphasis on doing a secure and you will transparent ecosystem for its users Zusatzlich profitierst Du inside the der App von exklusiven Boni, die nur fur mobile Nutzer bereitstehen Put 5 Rating a hundred Totally free Spins Finest 5 Minimal Put Casinos in the British Claim 5 No-deposit Free Spins at the Ports Creature Free internet games in the Poki Gamble Now! Operating less than tight regulating supervision, Goldenbet Local casino British combines thorough gambling selection having security features one see United kingdom gambling standards Classic Egyptian Themed Casino Games The video game write well, plus the app performs firmly through the productive sessions that have numerous entry Queen Victory Local casino is a modern-day betting program that has been released within the 2024 twenty-five 100 percent free Revolves on the registration no-deposit Greatest 2026 Now offers This will make it specifically tempting to own users exactly who choose clear incentive terminology Spinpug Local casino Opinion And 100 percent free Potato chips Extra Surgery treatment Philippines Dermaesthetics The fresh new Game & Incentive Provides: The latest Playing Enjoy Unlocked We believed the most common position online game being usually calculated with no-deposit incentives Preferred Slots and Casino games >> Wager 100 percent free Generate offers work harder – what things to discover before you could claim Playamo Incentives: No deposit, Bonus Codes in the Playamo and you can 100 percent free Revolves Which have people local casino platform, the fresh online game and you can headings it’s is actually paramount Twist They Safe: Verified Totally free Spins Bonuses for March 2026 Thanks for visiting Cocoa Casino, your new go-to destination for an unforgettable online betting feel! 100 Totally free Spins No deposit South Africa 2026 The heart of your own system is the slot point, marketed for the-site while the QueenWin Gambling establishment slots Jackpot Urban area Gambling enterprise Added bonus Code and you can Comment 2026 You will find those gambling establishment bonuses as you are able to see now! Best 10 Deposit Added bonus British: Put 10 Get more! Note: Centered on all of our details, Qbet Gambling establishment resembles 3 most other online casinos Totally free Vegas Video game Enjoy Free online Gambling establishment Slots Gambling enterprise Cruise Added bonus Codes, Free Spins Incentive Code! Lieve Fre Spins Bonussen te legale online casino’s 2023 Conclusion: the brand new Grand Ivy Casino games part is easy to help you navigate, quick to help you stream, and you will undoubtedly enjoyable to explore 50 fre spins kloosterzuster deposit gedurende online casino’s 2026 A large Candy Gambling establishment 20 100 percent free Chip No-deposit Incentive Password Effektive Wettkampfvorbereitung: Die Rolle von Cytomel in der Diätplanung No-deposit Extra Casinos Finest Casino No-deposit Bonus Rules in the March 2026 Bonus Casino Gamblezen: Unlocking Exclusive UK Promo Codes Ideas on how to Win during the Harbors: 10 Expert Info All of the Pro Should be aware of Book away from Ra Luxury Position Opinion and Bonus, Get 50 Free Revolves Free three-dimensional Slots On line Zero Obtain or Membership Particular web based casinos offer cashback bonuses having live dealer video game In cases like this, anyone bits have a tendency to feature another band of regulations and you will constraints Discuss all of our top 10 greeting selling providing ?600+ inside incentive dollars and you may 900+ free spins Such rewards are provided in order to new customers through to registering a free account and you may to make their first put We’re going to always upgrade this informative guide towards newest no-deposit incentives Irrespective, United kingdom no deposit incentives aren’t extinct (yet), and nevertheless acquire some pretty good offers