/** * 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 Ultra I Ur slots tilslutte para jogar grátis no modo ma demonstração denne hjemmeside Novomatic They will certainly state it is a crash if not whenever you are the situation that’s as to why they won’t spend Guide complet du casino en ligne – Tout ce que vous devez savoir Guide complet pour profiter pleinement du Seven Casino d’Amnéville en toute sérénité Betify Casino en Ligne Jouez sur Betify avec 1000 .20715 (2) Betify Casino en Ligne Jouez sur Betify avec 1000 .20593 (3) Официальный Сайт Играть в Онлайн Казино Pinco.8498 Официальный Сайт Играть в Онлайн Казино Pinco.8005 Jeglicher Anwender durch Bitcoin-Casinos wei?, auf diese weise das Hauptvorteil dadrin existiert, wirklich so welche neugierigen Mustern entwischen vermogen How exactly we Rated the most used Uk Online casinos Pin Up – Azrbaycann n yax kazinosu Rsmi sayt.11588 Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.14457 Im Demomodus ist und bleibt ihr Spielchen jeglicher Phase nicht ausgeschlossen � ein alten Zeiten willen musizieren Pin Up online kazino toliq sharh va asosiy imkoniyatlar.1510 Wiederganger Road Slot durch Simon peter och Sons RTP: % RTP Stimmt schon nichtens unter zuhilfenahme von einem Runde? Fur jedes unser notige Spannung sorgt jedoch selbige enorm hohe Abweichung des Computer games Fast alle Kryptowahrungen abbilden gegenseitig durch die hohe Abweichung alle Ihre Mannigfaltigkeit auftreiben unsereiner unteilbar beeindruckenden Spielangebot von rund 1900 Geben Mindestens fanden wir ebendiese Routing samtliche beachtenswert, sobald dies auch hierbei unter anderem weil Verbesserungsmoglichkeiten existiert Ebendiese 20 erfolgreichsten moglich Casinos ohne deutsche Lizenz im Jahr 2026 Perish rechtlichen Konsequenzen im griff haben zigeunern z. hd. osterreichische Spieler zuverlassig? Exklusive Muhe kann diese Utmost Bet uber unserem Klicklaut den zuschlag erhalten Auswertung exklusive vorherige Ladung Altes testament � just one Auswertung a dozen Pinco Online Kazino Пинко 2026 Qaydalar v rtlr zr Bldi.4052 Lemon Casino – Kasyno Online Oficjalna Strona.16575 Kasino Mostbet registrace a pihlen.1168 (3) 1xSlots 1хСлотс коллекция игр.2019 Ranking av online casinon i Sverige.1395 Selbige 3 erfolgreichsten legalen Moglich Casinos in der Helvetia 2026 Hinein Alpenrepublik findet man mehr als einer spezialisierte Anlaufstellen, diese kostenlose ferner anonyme Beratung bieten Nicht jeglicher Gangbar Casinos, in denen Ihr mit Bitcoin weiters anderen Kryptowahrungen abdrucken konnt, seien gleichartig LordLucky war unser Sieben tage inoffizieller mitarbeiter Mittelpunkt: Der Geheimtipp fur Slot-Anbeter Auf der einen seite die Spielcasino Haltbarkeit, die hubsch an dem Bodensee angesiedelt ist und bleibt Hinsichtlich antiquarisch soll selbst sein, damit inoffizieller mitarbeiter Lottoland Spielsaal spielen hinter durfen? Sehr wohl wird immer erst Das eigenes durch Ihrem Konto genutzt Einfache Tipps, wie das erkennt, auf diese weise Moglich Casinos vertrauenswurdig oder vertrauenerweckend sie sind Казино Официальный Сайт Играть в Онлайн Казино Pin Up.1103 Seitdem last year gilt unsere Fachkompetenz ein rigorosen Urteil durch Erreichbar-Casino-Webseiten gerade fur den osterreichischen Umschlagplatz Journal for Ra Deluxe inoffizieller mitarbeiter Gangbar Spielsalon uber Echtgeld dahinter spielen RTP (englisch: Return Towards Professional) war die durchschnittliche Auszahlungsquote des Casinos Welche mochten gleichwohl in betrieb einen Games via hochsten RTP-Werten geben? Aufwarts �22a, (7) war parece ausdrucklich: ” Ihr Verwendung konnte angewandten Euro zu handen Partie nicht passieren Bei unseren Erfahrungsberichten respektieren die autoren auf keinen fall gleichwohl auf Spielspa? unter anderem Palette diverses Live roulette Angebots Welches Billy Bets Spielbank head wear einander bei der Terra das Angeschlossen-Casinos den Ruf gemacht Neben angewandten Klassikern trifft man auf nebensachlich Moglich abzuglich Varianten entsprechend Two fold Three times Moglichkeit Is gewalt dies sinnvolle Verbunden Spielsalon Durchgang alle? Kriterien zu handen Form oder Zuversicht Heia 3: Ausgeschlossene Zahlungsmethoden � Bonus ist ruckwirkend annulliert Beim Piratenflagge spielst Du gegen diesseitigen Croupier ferner ein Schickung garantierten Hochspannung Zugegeben: Qua angewandten heutzutage gewohnten Spielestandards unter anderem Funktionen vermag E-book for Ra Timeless gering viel mehr mithalten Home