/** * 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 Be your individual cardio competition given that adrenaline-getting motif out-of ber out of Scarabs sweeps your from your feet Télécharger Microsoft wolf run game Do just fine 2016 afin de Window, Mac, Web Telecharger com Wolf Focus on goldbet contact in Sierra Leone Slot Review Enjoy 100 percent free Demo 2026 Win Big during the Sloto’Cash that have a $7777 Added 10 free spins when you add your bank card bonus Real deposit 5£ get 20£ casino cash Casinos on the internet 2024: Greatest Casino Sites the real deal Currency Free lobstermania real money Gambling games Wager Enjoyable 22,400+ Demonstration Games Twin Win Slot: Resources, Free Spins and casino fu dao le more Cent casino superior login Slots Tomb Raider dos Slot machine Free A real income casino Betchan login ᐈ 18+ Best Non GamStop Casino UK Reviews and Rankings for 2026.8762 Paysafecard Gambling enterprises machance withdrawal Better Casinos on the internet One Undertake Paysafecard Best Non GamStop Casino UK Reviews and Rankings for 2026.8326 Betify Casino Avis Bonus exclusif 2026.12022 Betify Casino Avis Bonus exclusif 2026.1172 PayPal Gambling goldbet login problem enterprises 2026 PayPal Gambling establishment Bovada – Good for On line Alive Expert Roulette Video game Kasino Mostbet v esk republice dostupn hry.4404 Online Casino Guide Casino non AAMS in Italia guida completa.2327 Casino en ligne canadien guide complet pour les joueurs.6483 Online Casino Guide Kasino Mostbet v esk republice zpsoby platby a vbru.4436 Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.9995 (2) BasariBet Casino Giri – Canl Casino Oyunlar.11923 How do i Favor a secure On-line casino around australia? 1Win India – Online Betting and Casino 1Win App.437 (2) Most useful 5 Trusted Gambling on line Websites in america � Compared How do i choice a real income throughout the an enthusiastic Australian internet casino? As to the reasons Find the Cellular Casino to relax and play Vegas Slots? Rizk was an established online casino into Canada which is area of the fresh internationally recognized Betsson Class This type of trial versions are particularly just the thing for tinkering with a-game before gambling dollars involved Our Needed Secure Online casinos Bringing 2025 How we Choose Online casinos becoming Not harmful to Bien au Somebody? Why Ignition Is considered the most Recognized On the-range gambling establishment having Protection How Canadian Societal Safeguards Perform Cover Online Bettors Safe financial is a vital component of one to on the web a real income gambling enterprise Safe financial is an essential component of you to definitely on the web a bona fide money local casino Safer economic is a vital element of that online actual money gambling enterprise If you’re looking to own noticeable facts about every aspect of new casino’s functioning, after that look no further than Ignition Local casino During the SafeCanada, we work with giving Canadian profiles honest, detailed analysis out-of safer casinos on the internet Such demo designs have become ideal for experimenting with a-game before gaming actual cash in to the If you’re looking providing obvious facts about every facet of brand new casino’s carrying out, upcoming take a look at Ignition Local casino As to the reasons Ignition Is one of Leading Into the-line local casino to possess Shelter Kelly Gulliver features noticed a move around in the way of a lot clients have begun affected by “scambling” in earlier times 12 months Roulette is actually a prominent selection certainly one of internet casino Table Video game Kelly Gulliver enjoys observed a change in how of numerous members possess been influenced by “scambling” previously season Such demonstration labels are very ideal for experimenting with a-game just before betting money in they To relax and play within Safe AUS Online casinos � Expert Tips and tricks Secure financial is an essential section of one on the web real money local casino Home