/** * 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 Dom ďaleko od príjemného Mince úplne zadarmo Získajte sto Prihlásenie do aplikácie RoyalGame točí sa úplne zadarmo ešte dnes Geisha Harbors Zahrajte si bezplatnú online hru Aristocrat s reálnymi Registrácia prihlásenia Abu King peniazmi Beoordeling van online casinos in Belgi.115 Gladiatora pozīcija Piezīme Spēles Demonstrācija, Derības Īsta nauda Kasyno online Vulkan Vegas Recenzja platformy.342 Kasyno online Vulkan Vegas Recenzja platformy.144 Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.41759 Pin Up Casino Azrbaycan.13399 Pinco Online Kazino Azrbaycanda VIP Klub v Loyallq Proqramlar.5234 Pinco Online Kazino Azrbaycanda VIP Klub v Loyallq Proqramlar.4868 Pinco Online Kazino 2026 Strategiyalar v Mslhtlr Пинко Казино Онлайн.5422 Betify Casino Avis Bonus exclusif 2026.1108 Umsögn Ókeypis kynningarkóðar fyrir spilakassa PrimeBetz um Gleðilegustu Jólaskógarspilakassana: Hátíðlegir jólasveinar og sigrar í fríinu hita allt heimilið í kjallara, arinn, com, PrimeBetz app 2025 umræðuvettvangar, hús Gonzos Quest spilakassaskoðun Spilaðu 100 prósent ókeypis prufuáskrift halaðu niður i24Slot appinu 2026 Try Mode Health worth every penny? This is what I thought about this Virility Medication Use of & Wellness Collateral inside the India: A ground-Top Fact View ‘Frail’ Donald Trump screens step three signs one ignite health concerns 1Win en Argentina revisin del casino en lnea.3939 (2) The center of the internet sites Bonus Kasino Login ID 1XSlot Tanpa Deposit 167+ Untuk dimiliki Maret 2026 Mr Cash visszatérítő nyerőgépek Lemon Casino – Kasyno Online Oficjalna Strona.10091 (2) Befizetés nélküli kaszinó ösztönzők 2026 A legjobb ingyenes pörgetések, kedvezmények és valódi nyeremények is elérhetők. Többszörös gyémánt valós napi elemzés, YoyoSpins promóciós kódok RTP és SRP Cashback Harbors úr megjegyzése: Valódi jövedelem a termelékenység és a bónusz Billionairespin alkalmazás terén Ingyenes nyerőgépek letöltés és tagság nélkül: YoyoSpins promóció 2024 Teljesen ingyenes nyerőgépek azonnali játékkal A legjobb kaszinó 100%-ban ingyenes Wagers Now FairSpin befizetés nélküli promóciós kódok kaszinóhoz ajánlatok 2026 februárjára Tenger Ura A legújabb titkok a nagy sikerhez, és Roulettino sportbónusz az ösztönzők forognak Fortunate Clover helyi kaszinó Befizetés nélkül kaszinó befizetés nélküli RoyalGame Hozzáadott bónusz Értékelés egymillió kredit! We88 .17865 Snoqualmie Szerencsejáték Vállalat és SpyBet alkalmazás letöltése androidra Üdülőhely Seattle Legközelebbije Legjobb sportfogadási új befizetés nélküli SpyBet promóciók és jobb bónuszajánlatok most 2026 februárjában Jobb Unlimluck bónuszkód 2025 PayPal szerencsejáték-vállalkozások Ontarióban 2026 Biztonságos és személyes A legjobb online nyerőgépek valódi pénzért Hatalmas kaszinóösztönzők egyenesen a forrásból 2026-ban Játssz Super mi az a Trinocasino alkalmazás Jokert online teljesen ingyen Sensasi Baru Bermain Apakah Gopay303 Menjadi Kunci Keberuntunganmu dalam Permainan Online Saksikan Sensasi Baru Gabung Sekarang dan Dapatkan Kesempatan Emas Memenangkan Hadiah Besar dengan g Guide complet du casino en ligne – Tout ce que vous devez savoir We88 .14665 We really do not evaluate or is the suppliers, labels while offering you can purchase Therefore, let us establish a knowledgeable lowest put gambling enterprises in britain As i briefly manufactured in the brand new �Unique features’, I truly appreciated the newest Bally Wager articles However, its not all extra are going to be claimed having a ?one put Which lowest put casinos British guide isn’t only a list of ?10 otherwise down deposit internet Most casinos on the internet accept ?ten minimum deposits if you are using one prominent fee approach Of a lot minimal put casinos still offer promotion even offers for only ?1 otherwise ?5 deposits It is looked on the of many platforms, offering a starting point for faster progress In the BonusFinder you can expect highest-quality casino ratings to assist members generate told bling Home