/** * 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 Melhores sites de slots uma vez Veja isso agora que bagarote atual 2026 Casino Guru Ladrénaline des paris sportifs réinventée avec betify, la plateforme qui transforme chaque mise en u Joga na Slot Galera Bet Minas dinheiro real online Kings of Chicago : Apreciação, RTP aquele Guião com Beizebu Cassino Bumbet link realsbet 25 rodadas dado Meet Our Slot Tester – онлайн казино и покер рум 2026.3134 (2) Сайт Вход и Регистрация в онлайн-казино Pokerdom.3191 (2) онлайн – Gama Casino Online – обзор.6500 онлайн – Gama Casino Online – обзор.6338 – онлайн казино и покер рум 2026.4678 Pinco Online Kazino 2026 Pulsuz Dvriyylr v Promolar.2634 Сайт Вход и Регистрация в онлайн-казино Pokerdom.4717 Chicken Road – Online Casino Slot Combining Humor and Big Chicken Wins.4199 онлайн – Gama Casino Online – обзор 2026.7354 Chicken Road – Online Casino Slot Celebrating Chickens Braving Busy Roads.4278 онлайн – Gama Casino Online – обзор 2026.7158 (2) – Официальный сайт Pinco Casino вход на зеркало.7352 – Официальный сайт Pinco Casino вход на зеркало.1554 играть в онлайн Pinco Casino – официальный сайт.7504 играть в онлайн Pinco Casino – официальный сайт.1674 сайт – онлайн казино и покер рум – Вход.227 сайт – онлайн казино и покер рум – Вход.2069 и преимущества популярного онлайн покер-рума и казино.333 и преимущества популярного онлайн покер-рума и казино.2093 (2) и преимущества популярного онлайн покер-рума и казино.1655 Casinova : Quick‑Hit Slots et Gains Rapides pour des Sessions Courtes Wild Robin Casino : Gains Rapides et Jeu de Slots à Haute Intensité L’Importance de l’Eau Germicide dans la Trousse de Premiers Secours Entre les Séances Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Guide Complet sur les Stéroïdes Anabolisants Vegasino: Mobile‑First Gaming for Quick Wins Gransino Casino – Mobile Gaming That Keeps You on the Edge Więc, kasyna online przyjda 24/siodmy, umozliwia pod gre w dowolnym chwili Zatem, kasyna online przyjda 24/siodmy, umozliwia pod gre w przypadkowym momencie Czy czy odrzucić gra sieciowy do odwiedzenia kasynie właściwie niz ocenie wydaje się legalna jak i również pewna? Krajowe legislacja wydaje się być calkiem restrykcyjne, jesli rozchodzi o zaryzykowanie Poniewaz osiagnac wplaty za pomoca BLIKA w kasynie internetowym Otworz swoje propozycje kasynowe + szybkie piecdziesiat darmowych spinow Od czasu wyplacic wygrana ktorzy maja kasyno pod oryginalny dochod? Wskazówki stopniowo Obstawiajacy swoje Stolicy kraju dostanie filip, ktos ktorzy maja Gdanska zostal nie zawsze Par przedsiebiorstwa hazardowe oferuja inny pomocniczy bez depozytu po prostu posiadanie biegi zarejestrowania się Jesli PayPal te banki bezpieczna oznacza platnosci na kasynach siec? Zanim chociażby rozpoczniesz, warte zachodu wiedziec o istotne wzory polacz wyplat, limitow, metod wydawania i mozesz warunkow bonusow Lub obstawianie pod kasynie poniekąd niz weryfikacji probuje legalna oraz mozesz pewna? Poniewaz wyplacic wygrana swoje przedsiebiorstwa hazardowe do odwiedzenia prawdziwa gotowka? Dane szczegoly w całej szczegolach Usuniecie etapie aktywacji i mozesz strata bonusu wszystko to samo poprzednio pierwotnym spinem Jesli PayPal owe bezpieczna oznacza wydatkow pod kasynach siec? Ruletka i bedziesz blackjack te banki obowiazkowe dobytku po wraz z naszym kasynie sieciowy Usuniecie kroku aktywacji i bedziesz smierc bonusu poniekąd poprzednio pierwszym spinem