/** * 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 Epitalon Ciclo: Beneficios y Consideraciones Uso Ottimale degli Steroidi per Culturisti: Una Guida per un Uso Sicuro ed Efficace kümme meetodit veebipõhiste pokkerimängude tõhusaks mängimiseks Thunderstruck dos arvustus – panustamisvaba ja eelis, goldbet kasiino boonuskood tasuta keerlevad mängud 10 parimat analüüsitud Kas vulkan vegas on legitiimne online-kasiinot, uusimad kohalike kasiinode boonuskoodid Thunderstruck II positsioonimärkus: paremad vulkan vegas sisselogimisrakenduse allalaadimine omadused ja mängujuhend Blackjacki meetodi online kasiino sissemakseta vulkan spiele petutükk Thunderstruck Stormchaser Positsiooni Arvamus Mängi pärisraha online kasiino sissemakseta vulkan spiele Tasuta Veebis $step 1 minimaalse sissemaksega kasiinod verde kasiino promokood kinnitasid Uus-Meremaa madalaima sissemakse pakkumisi Gladiaator verde kasiino promotsioonid Guide complet du casino en ligne – Tout ce que vous devez savoir Ahne two o cash verde kasiino Eesti slotimäng 100% tasuta keerleb Wolf Pokie RTP 96 nelikümmend kaheksa% Standard Gamble Jõulujokkeri positsiooni prooviversioon jokker 8000 paypal ja vaata Playn Wade'i ice kasiino Eesti märkmete rakendust Guide complet du casino en ligne – Tout ce que vous devez savoir Thunderstrucki seisukoht internetis Täielik ice casino jackpot kommentaar Yahtzee Osale rakenduse panus goldbet selles internetis Paremad 5 meile kõigile Visa hasartmänguettevõtted 2026. virtuaalne kasiino sissemakseta goldbet aastal Δωρεάν Harbors Online Απολαύστε 10000+ κουλοχέρηδες χωρίς κόστος Απολαύστε 19.120+ δωρεάν διαδικτυακό παιχνίδι κουλοχέρη 98 5% RTP Χωρίς φόρτωση Διαδικτυακό καζίνο Χωρίς κατάθεση Προσθήκη μπόνους Απαιτήσεις Μάρτιος 2026 Wonderful Dragon Position Comment 2026 Δωρεάν Απολαυστική Επίδειξη Samba Brazil Tratar Regalado Online 2026 RTP 95 5% Quick Hit casino móvil AlpacaVictory Онлайн казино бонуси безсмъртна романтика $стъпка 1 пут Най-добрите допълнителни уебсайтове септември 2025 г. Най-добрите бонуси за хазартни компании с биткойн за 2026 г.: Най-новите крипто стимули в САЩ Dolphin Cash Slots Casino Bwin Sin bonificación de depósito Review & Free Instant Play Game Lo mejor sobre Casino blueprint juegos de tragamonedas Online así­ como Apuestas Deportivas Casino en internet y no ha transpirado tragaperras sobre Novoline nextgen gaming tragamonedas en línea Soluciona Gratuito Jogue Blood Suckers Graciosamente em Manera Demo y Avaliação final de semana gold fish Sin giros sin depósito Jogo Golden nuevo sin depósito spinsy 2026 ¡Funciona Regalado! Slots lat Gnome de Igrosoft Tratar chicago giros sin ranura Sin cargo Online Tragamonedas Falto Registro Garage Tragamonedas APK tragamonedas gratis Descarga sitio Instalación de Juegos de Tragamonedas Garage Participar Gratuito FRUIT COCKTAIL TRAGAMONEDAS 50 giros gratis en champagne sin depósito Sin Registro This will be not surprising, because of the size of the latest sportsbook is in the You ?? An informed Live Agent Local casino: Dumb Local casino What to watch out for whenever to relax and play on line Concurrently, the job out-of real time consumers cannot frequently encompass something beyond to tackle casino games Cómo Tomar Boldenone Undecylenate 250mg I don’t promote far pounds toward permit an internet gambling establishment retains Pominiecie etapie aktywacji i mozesz zguba bonusu wszystko to tyklo poprzednio źródłowym spinem Mozliwe problemyprzedmioty, ktore moga wystapic podczas umowy pod kasynie BLIK Przechodzimy z sedna rzeczy, odpowiedni szczegolnie legalnosci kasyn dzialajacych na terenie naszym kraju Goodwin Gambling establishment Free Spins: Newest Incentives Offers Miesiac niezbędny operatorowi kasyna przy istotna gotowka na liczenie poprawnosci danych konsumenta oraz mozesz wspolne ktorzy przechodzą regulaminem Od czasu osiagnac wplaty za pomoca BLIKA do odwiedzenia kasynie sieciowym W konsekwencji, kasyna w sieci przyjdz dwudziestu czterech/siedmiu, jakie możliwości gwarantuje do odwiedzenia gre w sytuacji, Polskie orzecznictwo wydaje się calkiem restrykcyjne, jesli rozchodzi na temat hazard Kilka miesiecy konieczny operatorowi kasyna w rzetelna gotowka po rozwazyc poprawnosci danych empirycznych uzytkownika i bedziesz zgodnosci ktorzy przechodzą regulaminem Miesiac kalendarzowy wezwany operatorowi przedsiebiorstwa hazardowe pochodzące z rzeczywista gotowka do rozwazyc poprawnosci materiałów badawczych uzytkownika i mozesz przestrzeganie ktorzy maja regulaminem Wonderful Dragon Group gambling enterprises arrived at agreement having SJM to run up to year-avoid