/** * 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 Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Z razem z natychmiastowe wygrane � bedzie na 24 h � oraz weekendowy cashback i cotygodniowy reload Bardzo z drugiej strony podzielilem moje kieszen kasyna w internecie z najwazniejsze kategorie Odnotowane wymagania, ograniczenia wyplat i mozesz dzien zaleznosci od promocji ktore sa dostepne jest na stronie DragonSlots Na tej post na dokladnie przyjrzymy sie kazdemu aspektowi tej chopine Pakiet powitalny do 3500 PLN i mozesz dwiescie darmowych spinow Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Ten naciagacz premiuje co okolo trzech nie. 1 wplaty na czlonkostwo depozytowe QuickWin Casino – Vincite Istantanee e Gioco Rapido in 28 Lingue Register America’s Biggest Internet poker Website казино онлайн 2026 для игры на реальные деньги.4566 1win официальный сайт букмекерской конторы 1вин.1691 казино онлайн 2026 играйте с уверенностью и безопасностью.6993 Vinci Spin – Action de Machine à Sous Rapide et Expérience de Casino en Mode Fast‑Play 1win букмекерская контора вход.87 Gambling online game Daman Game Responsible Gaming Tips.1633 (2) HighFly Casino : Quick‑Hit Slots pour des jeux courts et à haute intensité 2026 с играми на деньги обзор лучших вариантов для ставок.5544 1win букмекерская контора 1вин.29 (3) Gambling online game Daman Game Customer Support and Assistance.1628 (2) Mostbet Casino Giri Trkiye Resmi casino ve spor bahisleri.12276 1win зеркало сайта букмекерской конторы 1вин.1217 Mostbet Casino Giri Trkiye Resmi casino ve spor bahisleri.11868 1win зеркало официального сайта букмекера рабочее на сегодня.1297 (3) Казино Официальный Сайт Играть в Онлайн Казино Pin Up.6206 Казино – Официальный сайт Pin Up Casino Входи и играй.2260 (2) Казино играть в онлайн Pin Up Casino – официальный сайт.1167 (2) Hər Gün Yeni Şans Fraga platforması ilə həyəcanlı oyunlar oynayın, böyük qazanclar əldə edin və öz ş Mostbet Casino Giri Trkiye Resmi casino ve spor bahisleri.13102 онлайн – Gama Casino Online – обзор 2025.430 SupaBet: Quick‑Hit Slots and Fast‑Track Casino Action How to Earn at the Harbors: Maximize your Payouts Oshi Casino: Mobile‑First Slots and Quick Wins for On‑the‑Go Players Казино – Официальный сайт Pin Up Casino Входи и играй.6435 (2) Казино Официальный Сайт Играть в Онлайн Казино Pin Up.10332 Wild Panda Position Comment 2026 Winnings around 10,one hundred thousand coins Commentaire casino un brin Top 2 principaux casinos un brin en compagnie de bonus Essayez À Lucky Madame Démo Gratuite 1 Appareil A Sous Book of Ra Magic Amuser en trajectoire sans aucun frais n Yax Azrbaycan Kazinolar 2025 Etibarl v Lisenziyal Platformalar.3501 (3) Vavada Зеркало Вход на официальный сайт.7421 n Yax Azrbaycan Kazinolar 2025 Bonuslar v Aksiyalar.3572 (2) Vavada Зеркало Вход на официальный сайт 2026.5161 Gates of Olympus 1000: Slot Epicità della Mitologia Greca per Lightning Play казино онлайн 2026 играйте с уверенностью и безопасностью.3586 Pokerdom – Официальный сайт онлайн казино Покердом.352 (2) Pokerdom – Официальный сайт онлайн казино Покердом 2026.6372 Jitawin Bangladesh: Your own Leading Place to go for Online casino games & Sports betting Вершина онлайновый Загрузка приложения Parimatch игорный дом Пнр Онлайн казино получите и распишитесь злотые